mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
quote: provide sq_dequote_to_argv_array
This is similar to sq_dequote_to_argv, but more convenient
if you have an argv_array. It's tempting to just feed the
components of the argv_array to sq_dequote_to_argv instead,
but:
1. It wouldn't maintain the NULL-termination invariant
of argv_array.
2. It doesn't match the memory ownership policy of
argv_array (in which each component is free-able, not a
pointer into a separate buffer).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
c1189caeaf
commit
37e8161a04
8
quote.h
8
quote.h
@@ -45,6 +45,14 @@ extern char *sq_dequote(char *);
|
||||
*/
|
||||
extern int sq_dequote_to_argv(char *arg, const char ***argv, int *nr, int *alloc);
|
||||
|
||||
/*
|
||||
* Same as above, but store the unquoted strings in an argv_array. We will
|
||||
* still modify arg in place, but unlike sq_dequote_to_argv, the argv_array
|
||||
* will duplicate and take ownership of the strings.
|
||||
*/
|
||||
struct argv_array;
|
||||
extern int sq_dequote_to_argv_array(char *arg, struct argv_array *);
|
||||
|
||||
extern int unquote_c_style(struct strbuf *, const char *quoted, const char **endp);
|
||||
extern size_t quote_c_style(const char *name, struct strbuf *, FILE *, int no_dq);
|
||||
extern void quote_two_c_style(struct strbuf *, const char *, const char *, int);
|
||||
|
||||
Reference in New Issue
Block a user