From c5f52d03e223e1ea0c4639d22ad1ca180ec85097 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 18 May 2026 21:19:34 -0400 Subject: [PATCH] quote: drop sq_dequote_to_argv() The last caller went away in f9dbb64fad (config: parse more robust format in GIT_CONFIG_PARAMETERS, 2021-01-12), when we switched to using sq_dequote_step(). The "to_argv()" form is not a great interface. If you care about raw speed, then sq_dequote_step() lets you work incrementally without extra allocations. If you care about simplicity, then sq_dequote_to_strvec() puts the result in an encapsulated data structure. With sq_dequote_to_argv(), you have a data dependency on the original string but still have to remember to manually free the argv array itself (but not its elements). So it's sort of a worst-of-both-worlds middle ground. Let's get rid of it. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- quote.c | 5 ----- quote.h | 12 +++--------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/quote.c b/quote.c index b9f6bdc775..cff78af3a4 100644 --- a/quote.c +++ b/quote.c @@ -202,11 +202,6 @@ static int sq_dequote_to_argv_internal(char *arg, return 0; } -int sq_dequote_to_argv(char *arg, const char ***argv, int *nr, int *alloc) -{ - return sq_dequote_to_argv_internal(arg, argv, nr, alloc, NULL); -} - int sq_dequote_to_strvec(char *arg, struct strvec *array) { return sq_dequote_to_argv_internal(arg, NULL, NULL, NULL, array); diff --git a/quote.h b/quote.h index 400397b11a..989f2388c0 100644 --- a/quote.h +++ b/quote.h @@ -68,15 +68,9 @@ char *sq_dequote_step(char *src, char **next); /* * Same as the above, but can be used to unwrap many arguments in the - * same string separated by space. Like sq_quote, it works in place, - * modifying arg and appending pointers into it to argv. - */ -int sq_dequote_to_argv(char *arg, const char ***argv, int *nr, int *alloc); - -/* - * Same as above, but store the unquoted strings in a strvec. We will - * still modify arg in place, but unlike sq_dequote_to_argv, the strvec - * will duplicate and take ownership of the strings. + * same string separated by space. The strvec will duplicate and take + * ownership of the strings, but note that "arg" is still modified in-place + * during parsing. */ int sq_dequote_to_strvec(char *arg, struct strvec *); -- 2.47.3