/* $Id$ */ #ifndef __TCHAR_LOCAL_H #define __TCHAR_LOCAL_H /* Unicode support */ #ifdef _WIN32 # include # include # include /* The PRINTF_S character is used in situations where we have a string with one TCHAR and one char argument. It's impossible to use the _TEXT macro because we don't know which will be which. */ #define PRINTF_S "S" #define _tmemmove wmemmove /* The Win32 API does have lstat, just stat. As such, we don't have to worry about the difference between the two. */ #define _lstat _tstat #define _sstat _tstat #define _tstat_t struct _stat #else // ifdef _WIN32 #define PRINTF_S "s" /* The next few paragraphs are similar to tchar.h when UNICODE is not defined. They define all of the _t* functions to use the standard char * functions. This works just fine on Linux and OS X */ #define TCHAR char #define _TDIR DIR #define _TEXT(A) A #define _sntprintf snprintf #define _tprintf printf #define _ftprintf fprintf #define _lstat lstat #define _sstat stat #define _tstat_t struct stat #define _tgetcwd getcwd #define _tfopen fopen #define _fgetts fgets #define _topendir opendir #define _treaddir readdir #define _tdirent dirent #define _tclosedir closedir #define _tcsncpy strncpy #define _tcslen strlen #define _tcsnicmp strncasecmp #define _tcsncmp strncmp #define _tcsrchr strrchr #define _tmemmove memmove #define _tcsdup strdup #define _tcsstr strstr #endif #endif // __TCHAR_LOCAL_H