Browse Source

trim extra newlines from windows error message

David Rose 22 years ago
parent
commit
90918d5f6c
1 changed files with 6 additions and 4 deletions
  1. 6 4
      panda/src/express/windowsRegistry.cxx

+ 6 - 4
panda/src/express/windowsRegistry.cxx

@@ -337,21 +337,23 @@ do_get(const string &key, const string &name, int &data_type, string &data) {
 ////////////////////////////////////////////////////////////////////
 string WindowsRegistry::
 format_message(int error_code) {
-  LPTSTR buffer;
+  PVOID buffer;
   DWORD length = 
     FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
-                  NULL, error_code, 0, &buffer, 0, NULL);
+                  NULL, error_code, 0, (LPTSTR)&buffer, 0, NULL);
   if (length == 0) {
     return "Unknown error message";
   }
 
+  const char *text = (const char *)buffer;
+
   // Strip off \n's and \r's trailing the string.
   while (length > 0 && 
-         (buffer[length - 1] == '\r' || buffer[length - 1] == '\n')) {
+         (text[length - 1] == '\r' || text[length - 1] == '\n')) {
     length--;
   }
 
-  string result((const char *)buffer, length);
+  string result((const char *)text, length);
   LocalFree(buffer);
   return result;
 }