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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Jeff King 2026-05-18 21:19:34 -04:00 committed by Junio C Hamano
parent 6a1964c22a
commit c5f52d03e2
2 changed files with 3 additions and 14 deletions

View File

@ -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);

12
quote.h
View File

@ -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 *);