/* * License: BSD-style license * Copyright: Radek Podgorny , * Bernd Schubert */ #ifndef UNIONFS_STRING_H #define UNIONFS_STRING_H #include char *whiteout_tag(const char *fname); int build_path(char *dest, int max_len, const char *callfunc, int line, ...); char *u_dirname(const char *path); unsigned int string_hash(void *s); /** * A wrapper for build_path(). In build_path() we test if the given number of strings does exceed * a maximum string length. Since there is no way in C to determine the given number of arguments, we * simply add NULL here. */ #define BUILD_PATH(dest, ...) build_path(dest, PATHLEN_MAX, __func__, __LINE__, __VA_ARGS__, NULL) /** * Test if two strings are eqal. * Return 1 if the strings are equal and 0 if they are different. */ // This is left in the header file bacause gcc is too stupid to inline across object files static inline int string_equal(void *s1, void *s2) { if (strcmp(s1, s2) == 0) return 1; return 0; } #endif // UNIONFS_STRING_H