]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxchar.h
Missing includes.
[wxWidgets.git] / include / wx / wxchar.h
index 461bd9219fceaf3df301f4c3d65cc7a755227a01..caeb9074a91a17838b1ba3fa9729954089d4124e 100644 (file)
@@ -802,6 +802,16 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */
     int snprintf(char *str, size_t size, const char *format, ...);
 #endif /* !HAVE_SNPRINTF_DECL */
 
+/* Wrapper for vsnprintf if it's 3rd parameter is non-const. Note: the
+ * same isn't done for snprintf below, the builtin wxSnprintf_ is used
+ * instead since it's already a simple wrapper */
+#if defined __cplusplus && defined HAVE_BROKEN_VSNPRINTF_DECL
+    inline int wx_fixed_vsnprintf(char *str, size_t size, const char *format, va_list ap)
+    {
+        return vsnprintf(str, size, (char*)format, ap);
+    }
+#endif
+
 /*
    First of all, we always want to define safe snprintf() function to be used
    instead of sprintf(). Some compilers already have it (or rather vsnprintf()
@@ -830,11 +840,17 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */
     #else /* ASCII */
         /* all versions of CodeWarrior supported by wxWidgets apparently have */
         /* both snprintf() and vsnprintf() */
-        #ifdef HAVE_SNPRINTF || defined(__MWERKS__) || defined(__WATCOMC__)
-            #define wxSnprintf_     snprintf
+        #if defined(HAVE_SNPRINTF) || defined(__MWERKS__) || defined(__WATCOMC__)
+            #ifndef HAVE_BROKEN_SNPRINTF_DECL
+                #define wxSnprintf_     snprintf
+            #endif
         #endif
         #if defined(HAVE_VSNPRINTF) || defined(__MWERKS__) || defined(__WATCOMC__)
-            #define wxVsnprintf_    vsnprintf
+            #if defined __cplusplus && defined HAVE_BROKEN_VSNPRINTF_DECL
+                #define wxVsnprintf_    wx_fixed_vsnprintf
+            #else
+                #define wxVsnprintf_    vsnprintf
+            #endif
         #endif
     #endif
 #endif /* wxVsnprintf_ not defined yet */