18 lines
589 B
C
18 lines
589 B
C
#ifndef PATH_UTILS_H
|
|
#define PATH_UTILS_H
|
|
|
|
#include "aliases.h"
|
|
|
|
#define NUMPARTS(...) \
|
|
(sizeof((const char *[]){"", __VA_ARGS__}) / sizeof(const char *) - 1)
|
|
|
|
#define wapp_join_path(DST, ...) \
|
|
join_path(DST, NUMPARTS(__VA_ARGS__), __VA_ARGS__)
|
|
#define wapp_dirname(DST, PATH) dirup(DST, 1, PATH)
|
|
#define wapp_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
|