Added full UNICODE support for VisualAge C++ for OS/2 V4.0

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster 1999-11-16 15:49:36 +00:00
parent 4419ba31aa
commit ec6f69825a
2 changed files with 112 additions and 2 deletions

View File

@ -183,6 +183,116 @@ typedef _TUCHAR wxUChar;
# define wxNEED_WX_STDLIB_H
# define wxNEED_WX_TIME_H
// VisualAge C++ V4.0 has broad tchar support
#elif defined(__VISAGECPP__) && __IBMCPP >= 400
# define HAVE_WCSLEN 1
# include <tchar.h>
# if wxUSE_UNICODE // temporary - preserve binary compatibility
typedef _TCHAR wxChar;
typedef _TSCHAR wxSChar;
typedef _TUCHAR wxUChar;
# else
# define wxChar char
# define wxSChar signed char
# define wxUChar unsigned char
# endif
// wchar_t is available
# undef wxUSE_WCHAR_T
# define wxUSE_WCHAR_T 1
// ctype.h functions
# define wxIsalnum _istalnum
# define wxIsalpha _istalpha
# define wxIsctrl _istctrl
# define wxIsdigit _istdigit
# define wxIsgraph _istgraph
# define wxIslower _istlower
# define wxIsprint _istprint
# define wxIspunct _istpunct
# define wxIsspace _istspace
# define wxIsupper _istupper
# define wxIsxdigit _istxdigit
# define wxTolower _totlower
# define wxToupper _totupper
// locale.h functons
# define wxSetlocale _tsetlocale
// string.h functions
# define wxStrcat _tcscat
# define wxStrchr _tcschr
# define wxStrcmp _tcscmp
# define wxStrcoll _tcscoll
# define wxStrcpy _tcscpy
# define wxStrcspn _tcscspn
# define wxStrftime _tcsftime
# define wxStricmp _tcsicmp
# define wxStrlen_ _tcslen // used in wxStrlen inline function
# define wxStrncat _tcsncat
# define wxStrncmp _tcsncmp
# define wxStrncpy _tcsncpy
# define wxStrpbrk _tcspbrk
# define wxStrrchr _tcsrchr
# define wxStrspn _tcsspn
# define wxStrstr _tcsstr
# define wxStrtod _tcstod
// is there a _tcstok[_r] ?
# define wxStrtol _tcstol
# define wxStrtoul _tcstoul
# define wxStrxfrm _tcsxfrm
// stdio.h functions
# define wxFgetc _fgettc
# define wxFgetchar _fgettchar
# define wxFgets _fgetts
# define wxFopen _tfopen
# define wxFputc _fputtc
# define wxFputchar _fputtchar
# define wxFprintf _ftprintf
# define wxFreopen _tfreopen
# define wxFscanf _ftscanf
# define wxGetc _gettc
# define wxGetchar _gettchar
# define wxGets _getts
# define wxPerror _tperror
# define wxPrintf _tprintf
# define wxPutc _puttc
# define wxPutchar _puttchar
# define wxPuts _putts
# define wxRemove _tremove
# define wxRename _trename
# define wxScanf _tscanf
# define wxSprintf _stprintf
# define wxSscanf _stscanf
# define wxTmpnam _ttmpnam
# define wxUngetc _tungetc
# define wxVfprint _vftprintf
# define wxVprintf _vtprintf
# define wxVsscanf _vstscanf
# define wxVsprintf _vstprintf
// stdlib.h functions
# if !wxUSE_UNICODE
# define wxAtof atof
# endif
# define wxAtoi _ttoi
# define wxAtol _ttol
# define wxGetenv _tgetenv
# define wxSystem _tsystem
// time.h functions
# define wxAsctime _tasctime
# define wxCtime _tctime
// #elif defined(XXX)
// #include XXX-specific files here
// typeddef YYY wxChar;
// translate wxZZZ names
#else//!TCHAR-aware compilers
// check whether we should include wchar.h or equivalent

View File

@ -63,7 +63,7 @@ size_t WXDLLEXPORT wxMB2WC(wchar_t *buf, const char *psz, size_t n)
#if wxUSE_WCSRTOMBS
// don't know if it's really needed (or if we can pass NULL), but better safe
// than quick
mbstate_t mbstate;
mbstate_t mbstate;
return mbsrtowcs((wchar_t *) NULL, &psz, 0, &mbstate);
#else // !GNU libc
return mbstowcs((wchar_t *) NULL, psz, 0);
@ -86,7 +86,7 @@ size_t WXDLLEXPORT wxWC2MB(char *buf, const wchar_t *pwz, size_t n)
#if wxUSE_WCSRTOMBS
// don't know if it's really needed (or if we can pass NULL), but better safe
// than quick
mbstate_t mbstate;
mbstate_t mbstate;
return wcsrtombs((char *) NULL, &pwz, 0, &mbstate);
#else // !GNU libc
return wcstombs((char *) NULL, pwz, 0);