Thread (79 messages) flat view 79 messages, 3 authors, 2022-09-05

Re: [PATCH v2 10/20] builtin/bundle.c: let parse-options parse subcommands

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2022-08-19 18:05:54

On Fri, Aug 19 2022, SZEDER Gábor wrote:


Nit: I wouldn't mind keeping this variable:
 	};
-	int result;
 
 	argc = parse_options(argc, argv, prefix, options, builtin_bundle_usage,
-		PARSE_OPT_STOP_AT_NON_OPTION);
+			     0);
 
 	packet_trace_identity("bundle");
 
-	if (argc < 2)
-		usage_with_options(builtin_bundle_usage, options);
-
-	else if (!strcmp(argv[0], "create"))
-		result = cmd_bundle_create(argc, argv, prefix);
-	else if (!strcmp(argv[0], "verify"))
-		result = cmd_bundle_verify(argc, argv, prefix);
-	else if (!strcmp(argv[0], "list-heads"))
-		result = cmd_bundle_list_heads(argc, argv, prefix);
-	else if (!strcmp(argv[0], "unbundle"))
-		result = cmd_bundle_unbundle(argc, argv, prefix);
-	else {
-		error(_("Unknown subcommand: %s"), argv[0]);
-		usage_with_options(builtin_bundle_usage, options);
-	}
Then just doing:

	result = fn(argc, argv, prefix);

Which would eliminate the need to change this:
-	return result ? 1 : 0;
+	return !!fn(argc, argv, prefix);
 }
I wondered about why !! v.s. 0/1 for a second or so, but realized you
were just golf-ing an existing pattern.

FWIW I *think* if we're changing this we could just make it "return
fn()", as the functions themselves seem to return 0/1 or a !!'d
variable.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help