From e3fd95c7a599aedb8798ab27813d2457d99be3b3 Mon Sep 17 00:00:00 2001 From: arf20 Date: Tue, 2 Dec 2025 21:36:03 +0100 Subject: generating results --- index.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'index.c') diff --git a/index.c b/index.c index 57c05d7..3430178 100644 --- a/index.c +++ b/index.c @@ -171,6 +171,7 @@ index_recurse(size_t size, const char *dir, int examine, size_t rootlen) /* stat it */ node_data_t *data = malloc(sizeof(node_data_t)); + memset(data, 0, sizeof(node_data_t)); data->name = strdup(de->d_name); data->path = strdup(&path[rootlen]); if (stat(path, &data->stat) < 0) { @@ -182,11 +183,13 @@ index_recurse(size_t size, const char *dir, int examine, size_t rootlen) /* examine */ if (examine) { - data->mime = magic_file(magic_cookie, path); - if (!data->mime) + const char *mime = magic_file(magic_cookie, path); + if (!mime) { fprintf(stderr, "[index] error magic_file() %s: %s\n", path, magic_error(magic_cookie)); - } + } else + data->mime = strdup(mime); + } /* recurse */ map_t *child = NULL; -- cgit v1.2.3