X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd67d2658b92d731069338e68deaa7bfbec22022..35bb3cb155917b4287fb2a3841bea22919a3d499:/src/common/wxcrt.cpp?ds=inline diff --git a/src/common/wxcrt.cpp b/src/common/wxcrt.cpp index 4f92e20a3d..daddf430cc 100644 --- a/src/common/wxcrt.cpp +++ b/src/common/wxcrt.cpp @@ -240,14 +240,14 @@ int /* not wint_t */ wxCRT_FputcW(wchar_t wc, FILE *stream) #ifdef wxNEED_WPRINTF // TODO: implement the scanf() functions -int vwscanf(const wchar_t *format, va_list argptr) +static int vwscanf(const wchar_t *format, va_list argptr) { wxFAIL_MSG( _T("TODO") ); return -1; } -int vswscanf(const wchar_t *ws, const wchar_t *format, va_list argptr) +static int vswscanf(const wchar_t *ws, const wchar_t *format, va_list argptr) { // The best we can do without proper Unicode support in glibc is to // convert the strings into MB representation and run ANSI version @@ -262,7 +262,7 @@ int vswscanf(const wchar_t *ws, const wchar_t *format, va_list argptr) return vsscanf(wxConvLibc.cWX2MB(ws), wxConvLibc.cWX2MB(format), argptr); } -int vfwscanf(FILE *stream, const wchar_t *format, va_list argptr) +static int vfwscanf(FILE *stream, const wchar_t *format, va_list argptr) { wxFAIL_MSG( _T("TODO") ); @@ -271,7 +271,7 @@ int vfwscanf(FILE *stream, const wchar_t *format, va_list argptr) #define vswprintf wxCRT_VsnprintfW -int vfwprintf(FILE *stream, const wchar_t *format, va_list argptr) +static int vfwprintf(FILE *stream, const wchar_t *format, va_list argptr) { wxString s; int rc = s.PrintfV(format, argptr); @@ -286,7 +286,7 @@ int vfwprintf(FILE *stream, const wchar_t *format, va_list argptr) return rc; } -int vwprintf(const wchar_t *format, va_list argptr) +static int vwprintf(const wchar_t *format, va_list argptr) { return wxCRT_VfprintfW(stdout, format, argptr); } @@ -625,7 +625,20 @@ int wxVsprintf(char *str, const wxString& format, va_list argptr) int wxVsprintf(wchar_t *str, const wxString& format, va_list argptr) { #if wxUSE_UNICODE_WCHAR +#ifdef __DMC__ +/* +This fails with a bug similar to +http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=c++.beta&artnum=680 +in DMC 8.49 and 8.50 +I don't see it being used in the wxWidgets sources at present (oct 2007) CE +*/ +#pragma message ( "warning ::::: wxVsprintf(wchar_t *str, const wxString& format, va_list argptr) not yet implemented" ) + wxFAIL_MSG( _T("TODO") ); + + return -1; +#else return wxCRT_VsprintfW(str, format.wc_str(), argptr); +#endif //DMC #else // wxUSE_UNICODE_UTF8 #if !wxUSE_UTF8_LOCALE_ONLY if ( !wxLocaleIsUtf8 ) @@ -936,9 +949,9 @@ wxCRT_StrtoullBase(const T* nptr, T** endptr, int base, T* sign) unsigned int n; T c = *i; - if ( c >= wxT('0') ) + if ( c >= '0' ) { - if ( c <= wxT('9') ) + if ( c <= '9' ) n = c - wxT('0'); else n = wxTolower(c) - wxT('a') + 10; @@ -1243,7 +1256,7 @@ wchar_t *wxFgets(wchar_t *s, int size, FILE *stream) // wxScanf() and friends // ---------------------------------------------------------------------------- -#ifndef __VISUALC__ +#ifndef HAVE_NO_VSSCANF // __VISUALC__ and __DMC__ see wx/crt.h int wxVsscanf(const char *str, const char *format, va_list ap) { return wxCRT_VsscanfA(str, format, ap); } int wxVsscanf(const wchar_t *str, const wchar_t *format, va_list ap) @@ -1260,4 +1273,4 @@ int wxVsscanf(const wxCStrData& str, const char *format, va_list ap) { return wxCRT_VsscanfA(str.AsCharBuf(), format, ap); } int wxVsscanf(const wxCStrData& str, const wchar_t *format, va_list ap) { return wxCRT_VsscanfW(str.AsWCharBuf(), format, ap); } -#endif // !__VISUALC__ +#endif // HAVE_NO_VSSCANF