Second message that I didn't get any replies on the rrd-users list, so 
trying the developers list.

--
Haroon Rafique
<[EMAIL PROTECTED]>


---------- Forwarded message ----------
Date: Fri, 1 Oct 2004 11:15:48 -0400 (EDT)
From: Haroon Rafique <[EMAIL PROTECTED]>
To: [email protected]
Subject: [rrd-users] rrdtool 1.0.49 return error code

Hi listers,

I have a question regarding return codes from rrdtool 1.0.49.

If I execute:

        rrdtool update /blah/nonexistent/file/path

Shouldn't the value of $? afterwards be non-zero.

Here's what I get when executing:

prompt$ rrdtool update /blah/nonexistent/file/path; echo $?
ERROR: Not enough arguments
0

Basically, I'm implying that the error handling from the rrd_*.c files
should sort of bubble up so that the main program can return a non-zero
error code. Would be a useful feature when running the updates via shells
to look for errors.

The following diff seems to work for me.

--- src/rrd_tool.c.orig 2004-08-08 06:58:14.000000000 -0400
+++ src/rrd_tool.c      2004-10-01 11:08:51.389447262 -0400
@@ -263,8 +263,11 @@
                  PrintUsage(argv[1]);
                  exit(0);
          }
-    else
-       HandleInputLine(argc, argv, stderr);
+    else {
+        if(HandleInputLine(argc, argv, stderr)) {
+            return 1;
+        }
+    }
       return 0;
   }

@@ -426,6 +429,7 @@
       if (rrd_test_error()) {
          fprintf(out, "ERROR: %s\n",rrd_get_error());
          rrd_clear_error();
+        return 1;
       }
       return(0);
   }

The tabbing is a mish-mash in the original file, so for this tiny patch,
you might wanna just apply it by hand.

After applying the above diff, and executing the command, gives me:

rrdtool update /path/to/nonexistent/file;  echo $?
ERROR: Not enough arguments
1

Hopefully this will get adopted into the main branch if people find it
useful.

Regards,
--
Haroon Rafique
<[EMAIL PROTECTED]>

--
Unsubscribe mailto:[EMAIL PROTECTED]
Help        mailto:[EMAIL PROTECTED]
Archive     http://www.ee.ethz.ch/~slist/rrd-developers
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

Reply via email to