Browse Source

KWSys: Avoid passing string literal as char*

Pass the lpClass argument of RegCreateKeyEx as a real char[] instead of
a string literal.  At least one platform declares the argument as char*
instead of "const char*".
Brad King 15 years ago
parent
commit
75191fa312
2 changed files with 4 additions and 2 deletions
  1. 2 1
      Source/kwsys/Registry.cxx
  2. 2 1
      Source/kwsys/SystemTools.cxx

+ 2 - 1
Source/kwsys/Registry.cxx

@@ -401,8 +401,9 @@ bool RegistryHelper::Open(const char *toplevel, const char *subkey,
       }
     else
       {
+      char lpClass[] = "";
       res = ( RegCreateKeyEx(scope, str.str().c_str(),
-          0, "", REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE,
+          0, lpClass, REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE,
           NULL, &this->HKey, &dwDummy) == ERROR_SUCCESS );
       }
     if ( res != 0 )

+ 2 - 1
Source/kwsys/SystemTools.cxx

@@ -734,10 +734,11 @@ bool SystemTools::WriteRegistryValue(const char *key, const char *value,
   
   HKEY hKey;
   DWORD dwDummy;
+  char lpClass[] = "";
   if(RegCreateKeyEx(primaryKey, 
                     second.c_str(), 
                     0, 
-                    "",
+                    lpClass,
                     REG_OPTION_NON_VOLATILE,
                     SystemToolsMakeRegistryMode(KEY_WRITE, view),
                     NULL,