]> git.ipfire.org Git - thirdparty/git.git/commitdiff
parseopt: restore const qualifier to parsed filename
authorD. Ben Knoble <ben.knoble+github@gmail.com>
Sun, 2 Nov 2025 16:17:48 +0000 (11:17 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 4 Nov 2025 17:25:52 +0000 (09:25 -0800)
This was unintentionally dropped in ccfcaf399f (parseopt: values of
pathname type can be prefixed with :(optional), 2025-09-28). Notably,
continue dropping the const qualifier when free'ing value; see
4049b9cfc0 (fix const issues with some functions, 2007-10-16) or
83838d5c1b (cast variable in call to free() in builtin/diff.c and
submodule.c, 2011-11-06) for more details on why.

Suggested-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
parse-options.c

index b105e4b6cf683ed5c6f4f313d4a18f074008e130..27c1e75d5377dc7c159ae9fadb5428cf5a3f256e 100644 (file)
@@ -213,7 +213,7 @@ static enum parse_opt_result do_get_value(struct parse_opt_ctx_t *p,
                if (unset)
                        value = NULL;
                else if (opt->flags & PARSE_OPT_OPTARG && !p->opt)
-                       value = (char *)opt->defval;
+                       value = (const char *)opt->defval;
                else {
                        int err = get_arg(p, opt, flags, &value);
                        if (err)