From: Michael J Gruber Date: Thu, 26 Mar 2026 15:22:52 GMT Subject: [PATCH 6/6] do not discard const: the ugly truth Message-ID: In-Reply-To: ISOC23 reveals that we mutate argv strings in place. Confess to this with explicit casts. --- builtin/rev-parse.c | 8 ++++---- revision.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 01a62800e8..f429793b6f 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -265,7 +265,7 @@ static int show_file(const char *arg, int output_prefix) return 0; } -static int try_difference(const char *arg) +static int try_difference(char *arg) { char *dotdot; struct object_id start_oid; @@ -325,7 +325,7 @@ static int try_difference(const char *arg) return 0; } -static int try_parent_shorthands(const char *arg) +static int try_parent_shorthands(char *arg) { char *dotdot; struct object_id oid; @@ -1145,9 +1145,9 @@ int cmd_rev_parse(int argc, } /* Not a flag argument */ - if (try_difference(arg)) + if (try_difference((char *) arg)) continue; - if (try_parent_shorthands(arg)) + if (try_parent_shorthands((char *) arg)) continue; name = arg; type = NORMAL; diff --git a/revision.c b/revision.c index 31808e3df0..a28b14a2ea 100644 --- a/revision.c +++ b/revision.c @@ -2132,7 +2132,7 @@ static int handle_dotdot(const char *arg, int cant_be_filename) { struct object_context a_oc = {0}, b_oc = {0}; - char *dotdot = strstr(arg, ".."); + char *dotdot = (char *) strstr(arg, ".."); int ret; if (!dotdot) @@ -2176,7 +2176,7 @@ static int handle_revision_arg_1(const char *arg_, struct rev_info *revs, int fl goto out; } - mark = strstr(arg, "^@"); + mark = (char *) strstr(arg, "^@"); if (mark && !mark[2]) { *mark = 0; if (add_parents_only(revs, arg, flags, 0)) { @@ -2185,13 +2185,13 @@ static int handle_revision_arg_1(const char *arg_, struct rev_info *revs, int fl } *mark = '^'; } - mark = strstr(arg, "^!"); + mark = (char *) strstr(arg, "^!"); if (mark && !mark[2]) { *mark = 0; if (!add_parents_only(revs, arg, flags ^ (UNINTERESTING | BOTTOM), 0)) *mark = '^'; } - mark = strstr(arg, "^-"); + mark = (char *) strstr(arg, "^-"); if (mark) { int exclude_parent = 1; -- 2.53.0.1195.g771ffcb452