Re: [PATCH v5 2/5] stash: convert apply to builtin
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 6, 2018, 15:17 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1804061715020.55@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
- In-Reply-To
- <20180405022810.15796-3-joel@teichroeb.net>
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:
Show 30 quoted lines
> +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