]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[cmdline] Simplify "isset" command
authorMichael Brown <mcb30@ipxe.org>
Fri, 8 Apr 2011 02:19:06 +0000 (03:19 +0100)
committerMichael Brown <mcb30@ipxe.org>
Fri, 8 Apr 2011 02:19:06 +0000 (03:19 +0100)
There is no plausible scenario I can think of in which "isset" would
be used with more than one argument.  Simplify the code by specifying
that exactly one argument is required.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/exec.c

index 008083bc3c1f04767a19b74f0b2afa6e306607de..18d3477ecc8134647b3a7a258262d98812fa54a3 100644 (file)
@@ -464,8 +464,7 @@ static struct option_descriptor isset_opts[] = {};
 
 /** "isset" command descriptor */
 static struct command_descriptor isset_cmd =
-       COMMAND_DESC ( struct isset_options, isset_opts, 0, MAX_ARGUMENTS,
-                      "[...]" );
+       COMMAND_DESC ( struct isset_options, isset_opts, 1, 1, "<value>" );
 
 /**
  * "isset" command
@@ -476,20 +475,14 @@ static struct command_descriptor isset_cmd =
  */
 static int isset_exec ( int argc, char **argv ) {
        struct isset_options opts;
-       int i;
        int rc;
 
        /* Parse options */
        if ( ( rc = parse_options ( argc, argv, &isset_cmd, &opts ) ) != 0 )
                return rc;
 
-       /* Return success if any argument is non-empty */
-       for ( i = optind ; i < argc ; i++ ) {
-               if ( argv[i][0] != '\0' )
-                       return 0;
-       }
-
-       return -ENOENT;
+       /* Return success iff argument is non-empty */
+       return ( argv[optind][0] ? 0 : -ENOENT );
 }
 
 /** "isset" command */