From: Chris Elliott Date: Wed, 11 Feb 2004 14:34:22 +0000 (+0000) Subject: try to fix D Mars compilation for Unicode X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/8dfb846e801cf2c5bfa1bbd83817e567ddb04d0e try to fix D Mars compilation for Unicode git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 5ca84cdbe1..3a126dad6e 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -303,13 +303,11 @@ #define wxPuts _putts #define wxScanf _tscanf #if defined(__DMC__) - /* Digital Mars adds count to _stprintf (C99) so it does not fit wxWindows needs */ - /* and there is a bug in D Mars tchar.h prior to 8.39.4n, so define as sprintf */ - /* for non-unicode builds CE */ - /* Unicode broken 10 Feb 04 Fixme */ #if wxUSE_UNICODE - #define wxSprintf swprintf + /* Digital Mars adds count to _stprintf (C99) so prototype conversion see wxchar.cpp */ + int wxSprintf (wchar_t * __RESTRICT s, const wchar_t * __RESTRICT format, ... ) ; #else + /* and there is a bug in D Mars tchar.h prior to 8.39.4n, so define as sprintf */ #define wxSprintf sprintf #endif #else diff --git a/src/common/wxchar.cpp b/src/common/wxchar.cpp index dbb015767c..aa6fb1ec6d 100644 --- a/src/common/wxchar.cpp +++ b/src/common/wxchar.cpp @@ -540,6 +540,23 @@ int WXDLLEXPORT wxSnprintf_(wxChar *buf, size_t len, const wxChar *format, ...) } #endif // wxSnprintf_ +#if defined(__DMC__) + /* Digital Mars adds count to _stprintf (C99) so convert */ + #if wxUSE_UNICODE + int wxSprintf (wchar_t * __RESTRICT s, const wchar_t * __RESTRICT format, ... ) + { + va_list arglist; + + va_start( arglist, format ); + int iLen = swprintf ( s, -1, format, arglist ); + va_end( arglist ); + return iLen ; + } + + #endif // wxUSE_UNICODE + +#endif //__DMC__ + // ---------------------------------------------------------------------------- // implement the standard IO functions for wide char if libc doesn't have them // ----------------------------------------------------------------------------