diff options
Diffstat (limited to 'src/utils.c')
| -rw-r--r-- | src/utils.c | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/src/utils.c b/src/utils.c index 1649199..9ef99a6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/28 11:56:31 by cacharle #+# #+# */ -/* Updated: 2020/04/01 17:55:34 by charles ### ########.fr */ +/* Updated: 2020/04/03 14:58:17 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,17 +17,27 @@ #include "minishell.h" -/* -** \brief Delete function for a entry containing -** an allocated key and value -** \param entry Hash table entry -*/ - -void ht_del_str_entry(t_ftht_entry *entry) +int utils_directory_iter( + char *dirname, + void *param, + int (*f)(char*, struct dirent*, void*) +) { - if (entry == NULL) - return ; - free(entry->key); - free(entry->value); - free(entry); + DIR *dir; + struct dirent *entry; + + if ((dir = opendir(dirname)) == NULL) + return (-1); + while ((entry = readdir(dir)) != NULL) + if (f(dirname, entry, param) == -1) + { + closedir(dir); + return (-1); + } + if (closedir(dir) == -1) + return (-1); + return (0); + } + +/* int utils_not_alnum */ |
