David Rose преди 23 години
родител
ревизия
fd63bac02a
променени са 1 файла, в които са добавени 12 реда и са изтрити 0 реда
  1. 12 0
      panda/src/pnmimage/pnmimage_base.cxx

+ 12 - 0
panda/src/pnmimage/pnmimage_base.cxx

@@ -33,7 +33,13 @@ pm_message(const char *format, ...) {
 
 
   static const size_t buffer_size = 1024;
   static const size_t buffer_size = 1024;
   char buffer[buffer_size];
   char buffer[buffer_size];
+#ifdef WIN32_VC
+  // Windows doesn't define vsnprintf().  Hope we don't overflow.
+  vsprintf(buffer, format, ap);
+#else
   vsnprintf(buffer, buffer_size, format, ap);
   vsnprintf(buffer, buffer_size, format, ap);
+#endif
+  nassertv(strlen(buffer) < buffer_size);
 
 
   pnmimage_cat.info() << buffer << "\n";
   pnmimage_cat.info() << buffer << "\n";
 
 
@@ -53,7 +59,13 @@ pm_error(const char *format, ...) {
 
 
   static const size_t buffer_size = 1024;
   static const size_t buffer_size = 1024;
   char buffer[buffer_size];
   char buffer[buffer_size];
+#ifdef WIN32_VC
+  // Windows doesn't define vsnprintf().  Hope we don't overflow.
+  vsprintf(buffer, format, ap);
+#else
   vsnprintf(buffer, buffer_size, format, ap);
   vsnprintf(buffer, buffer_size, format, ap);
+#endif
+  nassertv(strlen(buffer) < buffer_size);
 
 
   pnmimage_cat.error() << buffer << "\n";
   pnmimage_cat.error() << buffer << "\n";