#ifndef PATH_UTILS_H #define PATH_UTILS_H #include "aliases.h" #define NUMPARTS(...) \ (sizeof((const char *[]){"", __VA_ARGS__}) / sizeof(const char *) - 1) #define cpath_join_path(DST, ...) \ join_path(DST, NUMPARTS(__VA_ARGS__), __VA_ARGS__) #define cpath_dirname(DST, PATH) dirup(DST, 1, PATH) #define cpath_dirup(DST, COUNT, PATH) dirup(DST, COUNT, PATH) void join_path(char *dst, u64 count, ...); void dirup(char *dst, u64 levels, const char *path); #endif // !PATH_UTILS_H