X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=quote.h;h=4da110ec01331f346705199dde709436622967cb;hb=2db511fdbdbe1c8aab80f4bc13f0df037bce8a33;hp=2fdde3b66b99d142beaa602d72d72e459b7daf2a;hpb=4ae22d96fe9248dac4f26b1fc91154ba5e879799;p=git.git diff --git a/quote.h b/quote.h index 2fdde3b66..4da110ec0 100644 --- a/quote.h +++ b/quote.h @@ -28,14 +28,28 @@ * excluding the final null regardless of the buffer size. */ -extern char *sq_quote(const char *src); -extern size_t sq_quote_buf(char *dst, size_t n, const char *src); +extern void sq_quote_print(FILE *stream, const char *src); -extern int quote_c_style(const char *name, char *outbuf, FILE *outfp, - int nodq); -extern char *unquote_c_style(const char *quoted, const char **endp); +extern void sq_quote_buf(struct strbuf *, const char *src); +extern void sq_quote_argv(struct strbuf *, const char **argv, size_t maxlen); -extern void write_name_quoted(const char *prefix, const char *name, - int quote, FILE *out); +/* This unwraps what sq_quote() produces in place, but returns + * NULL if the input does not look like what sq_quote would have + * produced. + */ +extern char *sq_dequote(char *); + +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); + +extern void write_name_quoted(const char *name, FILE *, int terminator); +extern void write_name_quotedpfx(const char *pfx, size_t pfxlen, + const char *name, FILE *, int terminator); + +/* quoting as a string literal for other languages */ +extern void perl_quote_print(FILE *stream, const char *src); +extern void python_quote_print(FILE *stream, const char *src); +extern void tcl_quote_print(FILE *stream, const char *src); #endif