Re: [PATCH v5 2/5] stash: convert apply to builtin
From: Johannes Schindelin <hidden>
Date: 2018-04-06 15:17:30
Hi Joel, completely forgot to reiterate this (my reply to Christian was probably buried in the thread): On Wed, 4 Apr 2018, Joel Teichroeb wrote:
+int cmd_stash__helper(int argc, const char **argv, const char *prefix)
+{
+ int result = 0;
+ pid_t pid = getpid();
+ const char *index_file;
+
+ struct option options[] = {
+ OPT_END()
+ };
+
+ git_config(git_default_config, NULL);
+
+ argc = parse_options(argc, argv, prefix, options, git_stash_helper_usage,
+ PARSE_OPT_KEEP_UNKNOWN|PARSE_OPT_KEEP_DASHDASH);
+
+ index_file = get_index_file();
+ strbuf_addf(&stash_index_path, "%s.stash.%" PRIuMAX, index_file, (uintmax_t)pid);
+
+ if (argc < 1)
+ usage_with_options(git_stash_helper_usage, options);
+ else if (!strcmp(argv[0], "apply"))
+ result = apply_stash(argc, argv, prefix);
+ else {
+ error(_("unknown subcommand: %s"), argv[0]);
+ usage_with_options(git_stash_helper_usage, options);
+ result = 1;
+ }
+
+ return result;
+}The `result` variable can contain negative values, while the exit status really should be either 0 or 1 (and the return value of `cmd_stash__helper()` is what `run_builtin()` hands to `exit()` as exit status). So please use return !!result; here (which returns 0 if result is 0, and 1 otherwise). Ciao, Dscho