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>
This commit is contained in:
12
quote.h
12
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
|
||||
|
||||
Reference in New Issue
Block a user