X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fpaths.h;h=e6c331776d3825755415d55406f7c704f3de09f7;hb=d8e380e8314cdb592149a651a19690d102a1865b;hp=58a86fe40b40a6416057b970f059e426e357f516;hpb=8fdd844dd0fe0f21948fc4e416b0c939d94566de;p=wimlib diff --git a/include/wimlib/paths.h b/include/wimlib/paths.h index 58a86fe4..e6c33177 100644 --- a/include/wimlib/paths.h +++ b/include/wimlib/paths.h @@ -19,4 +19,27 @@ do_canonicalize_path(const tchar *in, tchar *out); extern tchar * canonicalize_wim_path(const tchar *wim_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 */