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