]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wxchar.cpp
wxLoadCharacterSets() now appears to work (was a bit slow, but since it's
[wxWidgets.git] / src / common / wxchar.cpp
index 52d8c1ac7483d8c71be085d832edaa6de86cfc72..3f70fe66dc397e61c019474d0b3b106c7764a81e 100644 (file)
   #pragma hdrstop
 #endif
 
   #pragma hdrstop
 #endif
 
+#define _ISOC9X_SOURCE 1 // to get vsscanf()
+#define _BSD_SOURCE    1 // to still get strdup()
+
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <locale.h>
 #include <stdlib.h>
 #include <string.h>
 #include <locale.h>
@@ -126,7 +130,26 @@ int WXDLLEXPORT wxVprintf(const wxChar *fmt, va_list argptr)
 {
   wxString str;
   str.PrintfV(fmt,argptr);
 {
   wxString str;
   str.PrintfV(fmt,argptr);
-  printf("%s",(const char*)str.mb_str());
+  printf("%s", (const char*)str.mb_str());
+  return str.Len();
+}
+
+int WXDLLEXPORT wxFprintf(FILE *stream, const wxChar *fmt, ...)
+{
+  va_list argptr;
+  int ret;
+
+  va_start(argptr, fmt);
+  ret = wxVfprintf(stream, fmt, argptr);
+  va_end(argptr);
+  return ret;
+}
+
+int WXDLLEXPORT wxFvprintf(FILE *stream, const wxChar *fmt, va_list argptr)
+{
+  wxString str;
+  str.PrintfV(fmt,argptr);
+  fprintf(stream, "%s", (const char*)str.mb_str());
   return str.Len();
 }
 
   return str.Len();
 }
 
@@ -150,6 +173,26 @@ int WXDLLEXPORT wxVsprintf(wxChar *buf, const wxChar *fmt, va_list argptr)
   wxStrcpy(buf,str.c_str());
   return str.Len();
 }
   wxStrcpy(buf,str.c_str());
   return str.Len();
 }
+
+int WXDLLEXPORT wxSscanf(const wxChar *buf, const wxChar *fmt, ...)
+{
+  va_list argptr;
+  int ret;
+
+  va_start(argptr, fmt);
+  ret = wxVsscanf(buf, fmt, argptr);
+  va_end(argptr);
+  return ret;
+}
+
+int WXDLLEXPORT wxVsscanf(const wxChar *buf, const wxChar *fmt, va_list argptr)
+{
+  int ret;
+  // this will work only for numeric conversion! Strings will not be converted correctly
+  // hopefully this is all we'll need
+  ret = vsscanf(wxConv_libc.cWX2MB(buf), wxConv_libc.cWX2MB(fmt), argptr);
+  return ret;
+}
 #endif
 
 #ifndef wxAtof
 #endif
 
 #ifndef wxAtof