Переглянути джерело

Visual Studio: calling into _vsnprintf. (#1085)

omar 7 роки тому
батько
коміт
2a67aeaa3d
2 змінених файлів з 7 додано та 1 видалено
  1. 5 0
      imgui.cpp
  2. 2 1
      imgui_demo.cpp

+ 5 - 0
imgui.cpp

@@ -1257,6 +1257,11 @@ static const char* ImAtoi(const char* src, TYPE* output)
 // Ideally we would test for only one of those limits at runtime depending on the behavior the vsnprintf(), but trying to deduct it at compile time sounds like a pandora can of worm.
 // B) When buf==NULL vsnprintf() will return the output size.
 #ifndef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
+
+#if defined(_MSC_VER) && !defined(vsnprintf)
+#define vsnprintf _vsnprintf
+#endif
+
 int ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
 {
     IM_ASSERT(fmt != NULL);

+ 2 - 1
imgui_demo.cpp

@@ -36,7 +36,8 @@
 
 #ifdef _MSC_VER
 #pragma warning (disable: 4996) // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen
-#define snprintf _snprintf
+#define snprintf  _snprintf
+#define vsnprintf _vsnprintf
 #endif
 #ifdef __clang__
 #pragma clang diagnostic ignored "-Wold-style-cast"             // warning : use of old-style cast                              // yes, they are more terse.