diff options
author | Junio C Hamano <junkio@cox.net> | 2006-09-15 13:30:02 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-16 10:22:02 -0700 |
commit | 9f613ddd21cbd05bfc139d9b1551b5780aa171f6 (patch) | |
tree | 047f4e4562a81d7719c5c33b56aefb1a22f9ec70 /quote.c | |
parent | e7676d2f6454c9c99e600ee2ce3c7205a9fcfb5f (diff) | |
download | git-9f613ddd21cbd05bfc139d9b1551b5780aa171f6.tar.gz |
Add git-for-each-ref: helper for language bindings
This adds a new command, git-for-each-ref. You can have it iterate
over refs and have it output various aspects of the objects they
refer to.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'quote.c')
-rw-r--r-- | quote.c | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -349,3 +349,41 @@ void write_name_quoted(const char *prefix, int prefix_len, else goto no_quote; } + +/* quoting as a string literal for other languages */ + +void perl_quote_print(FILE *stream, const char *src) +{ + const char sq = '\''; + const char bq = '\\'; + char c; + + fputc(sq, stream); + while ((c = *src++)) { + if (c == sq || c == bq) + fputc(bq, stream); + fputc(c, stream); + } + fputc(sq, stream); +} + +void python_quote_print(FILE *stream, const char *src) +{ + const char sq = '\''; + const char bq = '\\'; + const char nl = '\n'; + char c; + + fputc(sq, stream); + while ((c = *src++)) { + if (c == nl) { + fputc(bq, stream); + fputc('n', stream); + continue; + } + if (c == sq || c == bq) + fputc(bq, stream); + fputc(c, stream); + } + fputc(sq, stream); +} |