]> wimlib.net Git - wimlib/blobdiff - wimlib_tchar.h
Refactor headers
[wimlib] / wimlib_tchar.h
diff --git a/wimlib_tchar.h b/wimlib_tchar.h
deleted file mode 100644 (file)
index e902fab..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _WIMLIB_TCHAR_H
-#define _WIMLIB_TCHAR_H
-
-/* Functions to act on "tchar" strings, which have a platform-dependent encoding
- * and character size. */
-
-#ifdef __WIN32__
-#include <wchar.h>
-/* For Windows builds, the "tchar" type will be 2 bytes and will be equivalent
- * to "wchar_t" and "utf16lechar".  All indicate one code unit of a UTF16-LE
- * string. */
-typedef wchar_t tchar;
-#  define TCHAR_IS_UTF16LE 1
-#  define _T(text) L##text
-#  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 tstrcpy      wcscpy
-#  define tprintf      wprintf
-#  define tsprintf     swprintf
-#  define tfprintf     fwprintf
-#  define tvfprintf    vfwprintf
-#  define istalpha     iswalpha
-#  define istspace     iswspace
-#  define tstrcmp      wcscmp
-#  define tstrchr      wcschr
-#  define tstrpbrk     wcspbrk
-#  define tstrrchr     wcsrchr
-#  define tstrlen      wcslen
-#  define tmemcmp      wmemcmp
-#  define tstrcasecmp   _wcsicmp
-#  define tstrftime    wcsftime
-#  define tputchar     putwchar
-#  define tputc                putwc
-#  define tputs                _putws
-#  define tfputs       fputws
-#  define tfopen       _wfopen
-#  define topen                _wopen
-#  define tstat                _wstati64
-#  define tstrtol      wcstol
-#  define tstrtod      wcstod
-#  define tstrtoul     wcstoul
-#  define tunlink      _wunlink
-#  define tstrerror    _wcserror
-#  define taccess      _waccess
-/* 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 tmkdir(path, mode) _wmkdir(path)
-#  define tstrerror_r   win32_strerror_r_replacement
-#  define trename      win32_rename_replacement
-#  define ttruncate    win32_truncate_replacement
-#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
- * well supported in this library. */
-typedef char tchar;
-#  define TCHAR_IS_UTF16LE 0
-#  define T(text) text /* In this case, strings of "tchar" are simply strings of
-                         char */
-#  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 tstrcpy      strcpy
-#  define tprintf      printf
-#  define tsprintf     sprintf
-#  define tfprintf     fprintf
-#  define tvfprintf    vfprintf
-#  define istalpha     isalpha
-#  define istspace     isspace
-#  define tstrcmp      strcmp
-#  define tstrchr      strchr
-#  define tstrpbrk     strpbrk
-#  define tstrrchr     strrchr
-#  define tstrlen      strlen
-#  define tmemcmp      memcmp
-#  define tstrcasecmp   strcasecmp
-#  define tstrftime    strftime
-#  define tputchar     putchar
-#  define tputc                putc
-#  define tputs                puts
-#  define tfputs       fputs
-#  define tfopen       fopen
-#  define topen                open
-#  define tstat                stat
-#  define tunlink      unlink
-#  define tstrerror    strerror
-#  define tstrtol      strtol
-#  define tstrtod      strtod
-#  define tstrtoul     strtoul
-#  define tmkdir       mkdir
-#  define TSTRDUP      STRDUP
-#  define tstrerror_r  strerror_r
-#  define trename      rename
-#  define ttruncate    truncate
-#  define taccess      access
-#endif /* !__WIN32__ */
-
-#endif /* _WIMLIB_TCHAR_H */