changeset 27126:3d9e72cac668

allow Windows build to work again * sysdep.cc (get_regkey_value): Don't declare static. * ov-java.cc (get_regkey_value): Move decl inside octave namespace. (get_jvm_lib_path_from_registry): Use namespace qualifier on calls to get_regkey_value.
author John W. Eaton <jwe@octave.org>
date Wed, 29 May 2019 03:28:05 +0000
parents d2d2f66e1cdc
children 50b795da64dc
files libinterp/corefcn/sysdep.cc libinterp/octave-value/ov-java.cc
diffstat 2 files changed, 16 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/sysdep.cc	Tue May 28 16:43:48 2019 +0200
+++ b/libinterp/corefcn/sysdep.cc	Wed May 29 03:28:05 2019 +0000
@@ -798,7 +798,10 @@
     RegCloseKey (key);
   }
 
-  static LONG
+  // This function is also used in ov-java.cc, so don't declare static.
+  // Maybe the functions that use it should be here instead?
+
+  LONG
   get_regkey_value (HKEY h_rootkey, const std::string subkey,
                     const std::string name, octave_value& value)
   {
--- a/libinterp/octave-value/ov-java.cc	Tue May 28 16:43:48 2019 +0200
+++ b/libinterp/octave-value/ov-java.cc	Wed May 29 03:28:05 2019 +0000
@@ -532,10 +532,14 @@
 }
 
 #if defined (OCTAVE_USE_WINDOWS_API)
-// Declare function defined in sysdep.cc
-extern LONG
-get_regkey_value (HKEY h_rootkey, const std::string subkey,
-                  const std::string name, octave_value& value);
+
+namespace octave
+{
+  // Declare function defined in sysdep.cc
+  extern LONG
+  get_regkey_value (HKEY h_rootkey, const std::string subkey,
+                    const std::string name, octave_value& value);
+}
 
 static std::string
 get_jvm_lib_path_from_registry ()
@@ -553,14 +557,13 @@
   if (jversion.empty ())
     {
       value = "CurrentVersion";
-      retval = get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
+      retval = octave::get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
 
       if (retval != ERROR_SUCCESS)
         {
           // Search for JRE < 9
           key = R"(software\javasoft\java runtime environment)";
-          retval = get_regkey_value (HKEY_LOCAL_MACHINE, key, value,
-                                     regval);
+          retval = octave::get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
         }
 
       if (retval != ERROR_SUCCESS)
@@ -574,12 +577,12 @@
 
   key = key + '\\' + jversion;
   value = "RuntimeLib";
-  retval = get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
+  retval = octave::get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
   if (retval != ERROR_SUCCESS)
     {
       // Search for JRE < 9
       key = R"(software\javasoft\java runtime environment\)" + jversion;
-      retval = get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
+      retval = octave::get_regkey_value (HKEY_LOCAL_MACHINE, key, value, regval);
     }
 
   if (retval != ERROR_SUCCESS)