diff options
author | kaotisk <kaotisk@arching-kaos.org> | 2025-04-27 06:57:51 +0300 |
---|---|---|
committer | kaotisk <kaotisk@arching-kaos.org> | 2025-04-27 06:57:51 +0300 |
commit | ac6fbacce69ad8d53099f1e6ab922c2e4bd6f9cc (patch) | |
tree | 1e2306bfaad26233f805467b52b956b3dcd431f4 /c_implementation/src/ak_fs_maps_v3.c | |
parent | 698c607b8cad8ef22eee3ef4b196cbe648070a05 (diff) | |
download | arching-kaos-tools-ac6fbacce69ad8d53099f1e6ab922c2e4bd6f9cc.tar.gz arching-kaos-tools-ac6fbacce69ad8d53099f1e6ab922c2e4bd6f9cc.tar.bz2 arching-kaos-tools-ac6fbacce69ad8d53099f1e6ab922c2e4bd6f9cc.zip |
Updates.. better file names
Diffstat (limited to 'c_implementation/src/ak_fs_maps_v3.c')
-rw-r--r-- | c_implementation/src/ak_fs_maps_v3.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/c_implementation/src/ak_fs_maps_v3.c b/c_implementation/src/ak_fs_maps_v3.c new file mode 100644 index 0000000..9b047b0 --- /dev/null +++ b/c_implementation/src/ak_fs_maps_v3.c @@ -0,0 +1,63 @@ +#include <libakfs.h> +#include <stdlib.h> +#include <dirent.h> + +const char* ak_fs_maps_v3_get_dir() +{ + return getenv("AK_MAPSDIR"); +} + +void ak_fs_maps_v3_init(akfs_map_v3** ms, size_t l) +{ + akfs_map_v3 *m = NULL; + for (m = *ms; m < *ms+l; ++m) + { + ak_fs_map_v3_init(m); + } +} + +void ak_fs_maps_v3_print_map_hashes(akfs_map_v3** m, size_t s) +{ + akfs_map_v3 *ptr = NULL; + for (ptr = *m; ptr < *m+s; ++ptr) + { + if ( !ak_fs_map_v3_is_null(ptr) ) ak_fs_map_v3_print_map_hash(ptr); + } +} + +void ak_fs_maps_v3_print_filenames(akfs_map_v3** m, size_t s) +{ + akfs_map_v3 *ptr = NULL; + for (ptr = *m; ptr < *m+s; ++ptr) + { + if ( ptr != NULL ) ak_fs_map_v3_print_filename(ptr); + } +} + +void ak_fs_maps_v3_print(akfs_map_v3 **map_store, size_t length) +{ + akfs_map_v3 *ptr = NULL; + for ( ptr = *map_store; ptr < *map_store + length; ++ptr) + { + ak_fs_map_v3_print(ptr); + ak_fs_map_v3_print_as_json(ptr); + } +} + + +size_t ak_fs_maps_v3_found_in_fs() +{ + DIR *d; + size_t counter = 0; + d = opendir(ak_fs_maps_v3_get_dir()); + if (d) + { + const struct dirent *dir; + while ((dir = readdir(d)) != NULL ) + { + if (ak_fs_verify_input_is_hash(dir->d_name)) counter++; + } + } + closedir(d); + return counter; +} |