From a38ed6a043dac158bb4160ec8d6a4f467591e6a0 Mon Sep 17 00:00:00 2001
From: Gary Wong <gtw@flux.utah.edu>
Date: Mon, 9 Sep 2013 16:12:50 -0600
Subject: [PATCH] Two fixes for geni_all.

Don't quote results in a couple of places where quotes are not
necessary.

Omit results from subcommands which report an error.
---
 tmcd/tmcd.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tmcd/tmcd.c b/tmcd/tmcd.c
index fab2e86ec1..190fd1b9b6 100644
--- a/tmcd/tmcd.c
+++ b/tmcd/tmcd.c
@@ -11986,22 +11986,24 @@ COMMAND_PROTOTYPE(dogeniall)
 	{ "manifest", getgenimanifest, 1 },
 	{ "control_mac", getgenicontrolmac, 1 },
 	{ "version", getgeniversion, 1 },
-	{ "getversion", getgenigetversion, 1 },
-	{ "sliverstatus", getgenisliverstatus, 1 }
+	{ "getversion", getgenigetversion, 0 },
+	{ "sliverstatus", getgenisliverstatus, 0 }
     };
     int i;
     
     p = geni_append( buf, buf + sizeof buf, "{" );
 
     for( i = 0; i < sizeof work / sizeof *work; i++ ) {
-	char *val;
+	char *val = work[ i ].func( reqp );
+
+	if( !val )
+	    continue;
 
 	if( i )
 	    p = geni_append( p, buf + sizeof buf, "," );
 	    
 	p = geni_quote( p, buf + sizeof buf, work[ i ].tag );
 	p = geni_append( p, buf + sizeof buf, ":" );
-	val = work[ i ].func( reqp );
 	p = ( work[ i ].quote ? geni_quote : geni_append )( p, buf + sizeof
 							    buf, val );
 	free( val );
-- 
GitLab