From 3aabad59dc2bbdb74777f2d0dc195fb0bbe75bfc Mon Sep 17 00:00:00 2001 From: Joursoir Date: Fri, 26 Feb 2021 16:16:13 +0000 Subject: improve code and codestyle; mv/rm cmd don't use global vars anymore --- src/easydir.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'src/easydir.c') diff --git a/src/easydir.c b/src/easydir.c index e1a4394..18f6ec8 100644 --- a/src/easydir.c +++ b/src/easydir.c @@ -4,17 +4,37 @@ #include #include #include +#include #include "easydir.h" #include "xstd.h" -int checkFileExist(char *source) +int file_exist(const char *path) { - FILE *file = fopen(source, "r+"); // r+ so that errno can equal EISDIR + FILE *file = fopen(path, "r+"); // r+ so that errno can equal EISDIR if(!file) return errno == EISDIR ? F_ISDIR : F_NOEXIST; fclose(file); - return F_NOEXIST; + return F_ISFILE; +} + +int count_dir_entries(const char *path) +{ + int counter = 0; + DIR *dir; + struct dirent *dir_entry; + + dir = opendir(path); + if(dir == NULL) + return 0; + + while((dir_entry = readdir(dir))) { + if(dir_entry->d_name[0] == '.') + continue; + counter++; + } + closedir(dir); + return counter; } char *fileCropLineFeed(char *path, char *text, int maxlen) -- cgit v1.2.3-18-g5258