aboutsummaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index c1f78e5..a4230d3 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -712,3 +712,24 @@ int redact_sensitive(const char **to_redact, char *src, char *dest, size_t maxle
return 0;
}
+struct StrList *listdir(const char *path) {
+ struct StrList *node;
+ DIR *dp;
+ struct dirent *rec;
+
+ dp = opendir(path);
+ if (!dp) {
+ return NULL;
+ }
+ node = strlist_init();
+
+ while ((rec = readdir(dp)) != NULL) {
+ if (!strcmp(rec->d_name, ".") || !strcmp(rec->d_name, "..")) {
+ continue;
+ }
+ strlist_append(&node, rec->d_name);
+ }
+ closedir(dp);
+ return node;
+}
+