aboutsummaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c36
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 */