X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Futil.h;h=7bc8359cf61f76f7e07a400c316fb150e61a5d9f;hp=889a3f56c70559c6ba6edb4545328aacb0b64521;hb=0a859cd076a942d7145e203c596892ca66f7e4a2;hpb=d55cda59032e0abe5f71cd6f16ade943d2713fee diff --git a/include/wimlib/util.h b/include/wimlib/util.h index 889a3f56..7bc8359c 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,12 +84,17 @@ 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 * memdup(const void *mem, size_t size) _malloc_attribute; +#ifndef HAVE_MEMPCPY +extern void * +mempcpy(void *dst, const void *src, size_t n); +#endif + /* util.c */ extern void randomize_byte_array(u8 *p, size_t n); @@ -122,10 +127,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 */