diff mbox series

[02/13] am: handle --no-patch-format option

Message ID 20181105063839.GB25864@sigill.intra.peff.net (mailing list archive)
State New, archived
Headers show
Series parseopt fixes from -Wunused-parameters | expand

Commit Message

Jeff King Nov. 5, 2018, 6:38 a.m. UTC
Running "git am --no-patch-format" will currently segfault, since it
tries to parse a NULL argument. Instead, let's have it cancel any
previous --patch-format option.

Signed-off-by: Jeff King <peff@peff.net>
---
 builtin/am.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Junio C Hamano Nov. 5, 2018, 7:08 a.m. UTC | #1
Jeff King <peff@peff.net> writes:

> Running "git am --no-patch-format" will currently segfault, since it
> tries to parse a NULL argument. Instead, let's have it cancel any
> previous --patch-format option.

Makes perfect sense.

>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
>  builtin/am.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/am.c b/builtin/am.c
> index 3ee9a9d2a9..dcb880b699 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -2165,7 +2165,9 @@ static int parse_opt_patchformat(const struct option *opt, const char *arg, int
>  {
>  	int *opt_value = opt->value;
>  
> -	if (!strcmp(arg, "mbox"))
> +	if (unset)
> +		*opt_value = PATCH_FORMAT_UNKNOWN;
> +	else if (!strcmp(arg, "mbox"))
>  		*opt_value = PATCH_FORMAT_MBOX;
>  	else if (!strcmp(arg, "stgit"))
>  		*opt_value = PATCH_FORMAT_STGIT;
diff mbox series

Patch

diff --git a/builtin/am.c b/builtin/am.c
index 3ee9a9d2a9..dcb880b699 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -2165,7 +2165,9 @@  static int parse_opt_patchformat(const struct option *opt, const char *arg, int
 {
 	int *opt_value = opt->value;
 
-	if (!strcmp(arg, "mbox"))
+	if (unset)
+		*opt_value = PATCH_FORMAT_UNKNOWN;
+	else if (!strcmp(arg, "mbox"))
 		*opt_value = PATCH_FORMAT_MBOX;
 	else if (!strcmp(arg, "stgit"))
 		*opt_value = PATCH_FORMAT_STGIT;