* with the "wide-character" functions. */
# define tmemchr wmemchr
# define tmemcpy wmemcpy
+# define tmemmove wmemmove
+# define tmempcpy wmempcpy
# define tstrcpy wcscpy
# define tprintf wprintf
# define tsprintf swprintf
# define istalpha iswalpha
# define istspace iswspace
# define tstrcmp wcscmp
+# define tstrncmp wcsncmp
# define tstrchr wcschr
# define tstrpbrk wcspbrk
# define tstrrchr wcsrchr
# 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
* string functions. */
# define tmemchr memchr
# define tmemcpy memcpy
+# define tmemmove memmove
+# define tmempcpy mempcpy
# define tstrcpy strcpy
# define tprintf printf
# define tsprintf sprintf
# define istalpha isalpha
# define istspace isspace
# define tstrcmp strcmp
+# define tstrncmp strncmp
# define tstrchr strchr
# define tstrpbrk strpbrk
# define tstrrchr strrchr
# 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 */