X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib_tchar.h;h=c372b820e1cccd2b801915c5bc854b4abaab6654;hp=e902fab39a4e2227cb92888a0e0f346f28c5d5c3;hb=96c0ef4c9c596b48c4388f5c7a1979531b64cc6d;hpb=e8c3ca2d1d0cac3d64985b45a9f654d2029a7518 diff --git a/include/wimlib_tchar.h b/include/wimlib_tchar.h index e902fab3..c372b820 100644 --- a/include/wimlib_tchar.h +++ b/include/wimlib_tchar.h @@ -15,12 +15,14 @@ typedef wchar_t tchar; # define T(text) _T(text) /* Make a string literal into a wide string */ # define TS "ls" /* Format a string of "tchar" */ # define TC "lc" /* Format a "tchar" */ -# define WS "ls" /* Format a UTF-16LE string (same as above) */ /* For Windows builds, the following definitions replace the "tchar" functions * with the "wide-character" functions. */ # define tmemchr wmemchr # define tmemcpy wmemcpy +# define tmemmove wmemmove +# define tmempcpy wmempcpy +# define tstrcat wcscat # define tstrcpy wcscpy # define tprintf wprintf # define tsprintf swprintf @@ -29,6 +31,7 @@ typedef wchar_t tchar; # define istalpha iswalpha # define istspace iswspace # define tstrcmp wcscmp +# define tstrncmp wcsncmp # define tstrchr wcschr # define tstrpbrk wcspbrk # define tstrrchr wcsrchr @@ -49,14 +52,18 @@ typedef wchar_t tchar; # define tunlink _wunlink # define tstrerror _wcserror # define taccess _waccess +# define tstrdup wcsdup +# define ttempnam _wtempnam +# define tgetenv _wgetenv +# define totlower(c) towlower((wchar_t)(c)) /* The following "tchar" functions do not have exact wide-character equivalents * on Windows so require parameter rearrangement or redirection to a replacement * function defined ourselves. */ -# define TSTRDUP WSTRDUP +# define TSTRDUP WCSDUP # define tmkdir(path, mode) _wmkdir(path) # define tstrerror_r win32_strerror_r_replacement # define trename win32_rename_replacement -# define ttruncate win32_truncate_replacement +# define tglob win32_wglob #else /* __WIN32__ */ /* For non-Windows builds, the "tchar" type will be one byte and will specify a * string in the locale-dependent multibyte encoding. However, only UTF-8 is @@ -68,15 +75,13 @@ typedef char tchar; # define TS "s" /* Similarly, a string of "tchar" is printed just as a normal string. */ # define TC "c" /* Print a single character */ -# define WS "W" /* UTF-16LE strings must be printed using a special - extension implemented by wimlib itself. Note that - "ls" will not work here because a string of wide - characters on non-Windows systems is typically not - UTF-16LE. */ /* For non-Windows builds, replace the "tchar" functions with the regular old * string functions. */ # define tmemchr memchr # define tmemcpy memcpy +# define tmemmove memmove +# define tmempcpy mempcpy +# define tstrcat strcat # define tstrcpy strcpy # define tprintf printf # define tsprintf sprintf @@ -85,6 +90,7 @@ typedef char tchar; # define istalpha isalpha # define istspace isspace # define tstrcmp strcmp +# define tstrncmp strncmp # define tstrchr strchr # define tstrpbrk strpbrk # define tstrrchr strrchr @@ -105,11 +111,15 @@ typedef char tchar; # define tstrtod strtod # define tstrtoul strtoul # define tmkdir mkdir +# define tstrdup strdup +# define ttempnam tempnam +# define tgetenv getenv +# define totlower(c) tolower((unsigned char)(c)) # define TSTRDUP STRDUP # define tstrerror_r strerror_r # define trename rename -# define ttruncate truncate # define taccess access +# define tglob glob #endif /* !__WIN32__ */ #endif /* _WIMLIB_TCHAR_H */