X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fpaths.h;h=e6c331776d3825755415d55406f7c704f3de09f7;hb=ae391ded5124c8ae35339a6c12c5beec0fbceaf0;hp=311a8a0e867b2db9c4414eb9586c73ddb73c2288;hpb=f3ab01445d6184f7c5ffd0251667de7ef7437f9a;p=wimlib diff --git a/include/wimlib/paths.h b/include/wimlib/paths.h index 311a8a0e..e6c33177 100644 --- a/include/wimlib/paths.h +++ b/include/wimlib/paths.h @@ -14,12 +14,32 @@ extern const tchar * path_stream_name(const tchar *path); extern void -zap_backslashes(tchar *s); +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 */