X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Futil.h;h=7b3e724a68ce677859eaa44ddf552cdf3ca1c6c0;hp=eedb8b0d57451a50de511df41d5814f2864fec02;hb=a20f70497fdc89f8c5cdda791f14178819ed25cb;hpb=2e44f90c21db693058037f83f92ad136c818ce9d diff --git a/include/wimlib/util.h b/include/wimlib/util.h index eedb8b0d..7b3e724a 100644 --- a/include/wimlib/util.h +++ b/include/wimlib/util.h @@ -75,7 +75,7 @@ wimlib_strdup(const char *str) _malloc_attribute; # define REALLOC wimlib_realloc # define CALLOC wimlib_calloc # define STRDUP wimlib_strdup -# define WSTRDUP wimlib_wcsdup +# define WCSDUP wimlib_wcsdup #else /* ENABLE_CUSTOM_MEMORY_ALLOCATOR */ # include # include @@ -84,7 +84,7 @@ wimlib_strdup(const char *str) _malloc_attribute; # define REALLOC realloc # define CALLOC calloc # define STRDUP strdup -# define WSTRDUP wcsdup +# define WCSDUP wcsdup #endif /* !ENABLE_CUSTOM_MEMORY_ALLOCATOR */ extern void * @@ -122,4 +122,27 @@ hash_u64(u64 n) return n * 0x9e37fffffffc0001ULL; } +/* is_any_path_separator() - characters treated as path separators in WIM path + * specifications and capture configuration files (the former will be translated + * to WIM_PATH_SEPARATOR; the latter will be translated to + * OS_PREFERRED_PATH_SEPARATOR) + * + * OS_PREFERRED_PATH_SEPARATOR - preferred (or only) path separator on the + * operating system. Used when constructing filesystem paths to extract or + * archive. + * + * WIM_PATH_SEPARATOR - character treated as path separator for WIM paths. + * Currently needs to be '/' on UNIX for the WIM mounting code to work properly. + */ + +#ifdef __WIN32__ +# define OS_PREFERRED_PATH_SEPARATOR L'\\' +# define is_any_path_separator(c) ((c) == L'/' || (c) == L'\\') +#else +# define OS_PREFERRED_PATH_SEPARATOR '/' +# define is_any_path_separator(c) ((c) == '/' || (c) == '\\') +#endif + +#define WIM_PATH_SEPARATOR WIMLIB_WIM_PATH_SEPARATOR + #endif /* _WIMLIB_UTIL_H */