X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Fpaths.h;h=e6c331776d3825755415d55406f7c704f3de09f7;hp=59c1a86758e253aeac3df91fefacbd8951c26e82;hb=8618172276fae088f311923a61bbf26c3d4d8941;hpb=01c6f902b2a48a33af3f94e29791f85c68df91d0 diff --git a/include/wimlib/paths.h b/include/wimlib/paths.h index 59c1a867..e6c33177 100644 --- a/include/wimlib/paths.h +++ b/include/wimlib/paths.h @@ -13,10 +13,33 @@ path_basename_with_len(const tchar *path, size_t len); extern const tchar * path_stream_name(const tchar *path); +extern void +do_canonicalize_path(const tchar *in, tchar *out); + extern tchar * canonicalize_wim_path(const tchar *wim_path) _malloc_attribute; -extern tchar * -canonicalize_fs_path(const tchar *fs_path) _malloc_attribute; +/* 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_PATHS_H */