src/common/wxchar.cpps/wxConvLocal/wxConvLibs/g as otherwise we may fail to convert the result of libc functions (and, presumably, they might not accept what we give them on input) in Unicode build, see patch 1168341
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9348da2fc0
commit
ddf14c1346
@ -1199,9 +1199,9 @@ int WXDLLEXPORT wxStrnicmp(const wxChar *s1, const wxChar *s2, size_t n)
|
||||
#ifndef wxSetlocale
|
||||
WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale)
|
||||
{
|
||||
char *localeOld = setlocale(category, wxConvLocal.cWX2MB(locale));
|
||||
char *localeOld = setlocale(category, wxConvLibc.cWX2MB(locale));
|
||||
|
||||
return wxWCharBuffer(wxConvLocal.cMB2WC(localeOld));
|
||||
return wxWCharBuffer(wxConvLibc.cMB2WC(localeOld));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1369,7 +1369,7 @@ WXDLLEXPORT double wxStrtod(const wxChar *nptr, wxChar **endptr)
|
||||
}
|
||||
|
||||
wxString data(nptr, nptr-start);
|
||||
wxWX2MBbuf dat = data.mb_str(wxConvLocal);
|
||||
wxWX2MBbuf dat = data.mb_str(wxConvLibc);
|
||||
char *rdat = wxMBSTRINGCAST dat;
|
||||
double ret = strtod(dat, &rdat);
|
||||
|
||||
@ -1397,7 +1397,7 @@ WXDLLEXPORT long int wxStrtol(const wxChar *nptr, wxChar **endptr, int base)
|
||||
(wxIsalpha(*nptr) && (wxToupper(*nptr) - wxT('A') + 10 < base))) nptr++;
|
||||
|
||||
wxString data(start, nptr-start);
|
||||
wxWX2MBbuf dat = data.mb_str(wxConvLocal);
|
||||
wxWX2MBbuf dat = data.mb_str(wxConvLibc);
|
||||
char *rdat = wxMBSTRINGCAST dat;
|
||||
long int ret = strtol(dat, &rdat, base);
|
||||
|
||||
@ -1454,7 +1454,7 @@ double WXDLLEXPORT wxAtof(const wxChar *psz)
|
||||
else
|
||||
return 0.0;
|
||||
#else
|
||||
return atof(wxConvLocal.cWX2MB(psz));
|
||||
return atof(wxConvLibc.cWX2MB(psz));
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
@ -1462,12 +1462,12 @@ double WXDLLEXPORT wxAtof(const wxChar *psz)
|
||||
#ifdef wxNEED_WX_STDLIB_H
|
||||
int WXDLLEXPORT wxAtoi(const wxChar *psz)
|
||||
{
|
||||
return atoi(wxConvLocal.cWX2MB(psz));
|
||||
return atoi(wxConvLibc.cWX2MB(psz));
|
||||
}
|
||||
|
||||
long WXDLLEXPORT wxAtol(const wxChar *psz)
|
||||
{
|
||||
return atol(wxConvLocal.cWX2MB(psz));
|
||||
return atol(wxConvLibc.cWX2MB(psz));
|
||||
}
|
||||
|
||||
wxChar * WXDLLEXPORT wxGetenv(const wxChar *name)
|
||||
@ -1477,7 +1477,7 @@ wxChar * WXDLLEXPORT wxGetenv(const wxChar *name)
|
||||
// time getenv() is called, so it is OK to use static string
|
||||
// buffer to hold the data.
|
||||
static wxWCharBuffer value((wxChar*)NULL);
|
||||
value = wxConvLocal.cMB2WX(getenv(wxConvLocal.cWX2MB(name)));
|
||||
value = wxConvLibc.cMB2WX(getenv(wxConvLibc.cWX2MB(name)));
|
||||
return value.data();
|
||||
#else
|
||||
return getenv(name);
|
||||
@ -1486,7 +1486,7 @@ wxChar * WXDLLEXPORT wxGetenv(const wxChar *name)
|
||||
|
||||
int WXDLLEXPORT wxSystem(const wxChar *psz)
|
||||
{
|
||||
return system(wxConvLocal.cWX2MB(psz));
|
||||
return system(wxConvLibc.cWX2MB(psz));
|
||||
}
|
||||
|
||||
#endif // wxNEED_WX_STDLIB_H
|
||||
@ -1500,7 +1500,7 @@ wxStrftime(wxChar *s, size_t maxsize, const wxChar *fmt, const struct tm *tm)
|
||||
|
||||
wxCharBuffer buf(maxsize);
|
||||
|
||||
wxCharBuffer bufFmt(wxConvLocal.cWX2MB(fmt));
|
||||
wxCharBuffer bufFmt(wxConvLibc.cWX2MB(fmt));
|
||||
if ( !bufFmt )
|
||||
return 0;
|
||||
|
||||
@ -1508,7 +1508,7 @@ wxStrftime(wxChar *s, size_t maxsize, const wxChar *fmt, const struct tm *tm)
|
||||
if ( !ret )
|
||||
return 0;
|
||||
|
||||
wxWCharBuffer wbuf = wxConvLocal.cMB2WX(buf);
|
||||
wxWCharBuffer wbuf = wxConvLibc.cMB2WX(buf);
|
||||
if ( !wbuf )
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user