changeset 25674:1ba60c0455f4 stable

positive value from uname can mean success (bug #54235) Solaris uname returns 1 for success. Go figure. * oct-uname.cc: Negative value returned from uname wrapper means failure. Anything else is success. * uname-wrapper.c: Check return value from uname less than 0 to indicate failure instead of equal to 0 to indicate success.
author John W. Eaton <jwe@octave.org>
date Thu, 26 Jul 2018 11:08:47 -0400
parents a8b0fb44ed94
children a6af9578c18a 61f8d94f6bbb
files liboctave/system/oct-uname.cc liboctave/wrappers/uname-wrapper.c
diffstat 2 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/system/oct-uname.cc	Thu Jul 26 09:30:37 2018 -0400
+++ b/liboctave/system/oct-uname.cc	Thu Jul 26 11:08:47 2018 -0400
@@ -42,7 +42,7 @@
       err = octave_uname_wrapper (&sysname, &nodename, &release,
                                   &version, &machine);
 
-      if (err)
+      if (err < 0)
         msg = std::strerror (errno);
       else
         {
--- a/liboctave/wrappers/uname-wrapper.c	Thu Jul 26 09:30:37 2018 -0400
+++ b/liboctave/wrappers/uname-wrapper.c	Thu Jul 26 11:08:47 2018 -0400
@@ -42,7 +42,15 @@
 
   int err = uname (&unm);
 
-  if (err == 0)
+  if (err < 0)
+    {
+      *sysname = 0;
+      *nodename = 0;
+      *release = 0;
+      *version = 0;
+      *machine = 0;
+    }
+  else
     {
       *sysname = unm.sysname;
       *nodename = unm.nodename;
@@ -50,14 +58,6 @@
       *version = unm.version;
       *machine = unm.machine;
     }
-  else
-    {
-      *sysname = 0;
-      *nodename = 0;
-      *release = 0;
-      *version = 0;
-      *machine = 0;
-    }
 
   return err;
 }