sq_quote_argv and add_to_string rework with strbuf's.

* sq_quote_buf is made public, and works on a strbuf.
* sq_quote_argv also works on a strbuf.
* make sq_quote_argv take a "maxlen" argument to check the buffer won't grow
  too big.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pierre Habouzit
2007-09-20 00:42:13 +02:00
committed by Junio C Hamano
parent 663af3422a
commit 7a33bcbe80
6 changed files with 86 additions and 137 deletions

View File

@ -29,13 +29,10 @@
*/
extern void sq_quote_print(FILE *stream, const char *src);
extern char *sq_quote_argv(const char** argv, int count);
/*
* Append a string to a string buffer, with or without shell quoting.
* Return true if the buffer overflowed.
*/
extern int add_to_string(char **ptrp, int *sizep, const char *str, int quote);
extern void sq_quote_buf(struct strbuf *, const char *src);
extern void sq_quote_argv(struct strbuf *, const char **argv, int count,
size_t maxlen);
/* This unwraps what sq_quote() produces in place, but returns
* NULL if the input does not look like what sq_quote would have