From: Jeff King Date: Tue, 19 May 2026 01:19:34 +0000 (-0400) Subject: quote: drop sq_dequote_to_argv() X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=c5f52d03e223e1ea0c4639d22ad1ca180ec85097;p=thirdparty%2Fgit.git 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 --- 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 *);