# 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 tstrcpy wcscpy
# define tprintf wprintf
# define tstrerror _wcserror
# define taccess _waccess
# define tstrdup wcsdup
-# define ttempnam _wtempnam
+# 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 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
# 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 tstrcpy strcpy
# define tprintf printf
# define tstrtoul strtoul
# define tmkdir mkdir
# define tstrdup strdup
-# define ttempnam tempnam
+# 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__ */