summaryrefslogtreecommitdiff
path: root/quote.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-10-15 04:54:47 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-10-18 00:41:54 (GMT)
commit4f6fbcdcf960b5afaeb2f5010be61b919c1805fd (patch)
tree0405deb4bcb44e3fa4ad3d8103d6674527389389 /quote.h
parent2b2dabc29f53c5835868029585000ee487cf6cbb (diff)
downloadgit-4f6fbcdcf960b5afaeb2f5010be61b919c1805fd.zip
git-4f6fbcdcf960b5afaeb2f5010be61b919c1805fd.tar.gz
git-4f6fbcdcf960b5afaeb2f5010be61b919c1805fd.tar.bz2
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.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/quote.h b/quote.h
index 50ce1df..2fdde3b 100644
--- a/quote.h
+++ b/quote.h
@@ -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