btrfs-progs: prop: simplify parse_args()
authorSatoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Mon, 9 May 2016 07:49:19 +0000 (16:49 +0900)
committerDavid Sterba <dsterba@suse.com>
Wed, 11 May 2016 14:43:41 +0000 (16:43 +0200)
Since <object> parameter is mandatory for all subcommands,
'object' is always set by parse_args()'s callers.
In addition, on setting '*name' and '*value', if 'optind < argc'
is satisfied here, they are always set by parse_args()'s callers.

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-property.c

index 48a8945..46be8f3 100644 (file)
@@ -298,7 +298,7 @@ static void parse_args(int argc, char **argv,
 {
        int ret;
        char *type_str = NULL;
-       int max_nonopt_args = 0;
+       int max_nonopt_args = 1;
 
        optind = 1;
        while (1) {
@@ -315,8 +315,6 @@ static void parse_args(int argc, char **argv,
                }
        }
 
-       if (object)
-               max_nonopt_args++;
        if (name)
                max_nonopt_args++;
        if (value)
@@ -345,14 +343,13 @@ static void parse_args(int argc, char **argv,
                }
        }
 
-       if (object && optind < argc)
-               *object = argv[optind++];
-       if (name && optind < argc)
+       *object = argv[optind++];
+       if (optind < argc)
                *name = argv[optind++];
-       if (value && optind < argc)
+       if (optind < argc)
                *value = argv[optind++];
 
-       if (!*types && object && *object) {
+       if (!*types) {
                ret = autodetect_object_types(*object, types);
                if (ret < 0) {
                        error("failed to detect object type: %s",