diff options
author | David Robillard <d@drobilla.net> | 2024-12-11 00:12:20 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2024-12-11 00:22:47 -0500 |
commit | c5c23c3e27ab765c8df28088fbec5f41b89bb8b8 (patch) | |
tree | 366e170112dc7855f7bf1f8c0e6940260e492b9e /include | |
parent | 790d111fb7b7c4393fa768980741348196b36740 (diff) | |
download | zix-c5c23c3e27ab765c8df28088fbec5f41b89bb8b8.tar.gz zix-c5c23c3e27ab765c8df28088fbec5f41b89bb8b8.tar.bz2 zix-c5c23c3e27ab765c8df28088fbec5f41b89bb8b8.zip |
Add ZixDirEntryVisitFunc
Although this type is only used once in the API, define it to avoid the
complicated syntax of inline function pointer parameters, which confuses both
people and clang-format.
Diffstat (limited to 'include')
-rw-r--r-- | include/zix/filesystem.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/include/zix/filesystem.h b/include/zix/filesystem.h index 84d7206..dff4145 100644 --- a/include/zix/filesystem.h +++ b/include/zix/filesystem.h @@ -154,6 +154,17 @@ zix_remove(const char* ZIX_NONNULL path); */ /** + Function for reading input bytes from a stream. + + @param path Path to the directory being visited. + @param name Name of the directory entry. + @param data Opaque user data. +*/ +typedef void (*ZixDirEntryVisitFunc)(const char* ZIX_NONNULL path, + const char* ZIX_NONNULL name, + void* ZIX_NONNULL data); + +/** Visit every file in the directory at `path`. @param path A path to a directory. @@ -165,11 +176,9 @@ zix_remove(const char* ZIX_NONNULL path); parameter is the name of the directory entry (not its full path). */ ZIX_API void -zix_dir_for_each(const char* ZIX_NONNULL path, - void* ZIX_NULLABLE data, - void (*ZIX_NONNULL f)(const char* ZIX_NONNULL path, - const char* ZIX_NONNULL name, - void* ZIX_NONNULL data)); +zix_dir_for_each(const char* ZIX_NONNULL path, + void* ZIX_NULLABLE data, + ZixDirEntryVisitFunc ZIX_NONNULL f); /** Return whether the given paths point to files with identical contents. |