diff options
author | Junio C Hamano <junkio@cox.net> | 2005-10-14 21:54:47 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-17 17:41:54 -0700 |
commit | 4f6fbcdcf960b5afaeb2f5010be61b919c1805fd (patch) | |
tree | 0405deb4bcb44e3fa4ad3d8103d6674527389389 /quote.h | |
parent | 2b2dabc29f53c5835868029585000ee487cf6cbb (diff) | |
download | git-4f6fbcdcf960b5afaeb2f5010be61b919c1805fd.tar.gz |
Functions to quote and unquote pathnames in C-style.
Following the list discussion, define two functions, quote_c_style and
unquote_c_style, to help adopting the proposed way for quoting funny
pathname letters for GNU patch. The rule is described in:
http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
Currently we do not support the leading '!', but we probably should
barf upon seeing it. Rule B4. is interpreted to require always 3
octal digits in \XYZ notation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'quote.h')
-rw-r--r-- | quote.h | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -2,6 +2,7 @@ #define QUOTE_H #include <stddef.h> +#include <stdio.h> /* Help to copy the thing properly quoted for the shell safety. * any single quote is replaced with '\'', any exclamation point @@ -27,7 +28,14 @@ * excluding the final null regardless of the buffer size. */ -char *sq_quote(const char *src); -size_t sq_quote_buf(char *dst, size_t n, const char *src); +extern char *sq_quote(const char *src); +extern size_t sq_quote_buf(char *dst, size_t n, 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 write_name_quoted(const char *prefix, const char *name, + int quote, FILE *out); #endif |