diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-09-10 20:01:55 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-09-10 20:49:20 +0300 |
commit | f3fc4a1b8680c114defd98ce6f2429f8946a5dc1 (patch) | |
tree | 4d40269465613f8ae72d3029a43234c9dbeed2a4 /quote.c | |
parent | 88910c9939cee927a3ed1acca8d33a30c90b8fe5 (diff) |
quote_path: optionally allow quoting a path with SP in it
Some code in wt-status.c special case a path with SP in it, which
usually does not have to be c-quoted, and ensure that such a path
does get quoted. Move the logic to quote_path() and give it a bit
in the flags word, QUOTE_PATH_QUOTE_SP.
No behaviour change intended.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'quote.c')
-rw-r--r-- | quote.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -360,6 +360,13 @@ char *quote_path(const char *in, const char *prefix, struct strbuf *out, unsigne quote_c_style_counted(rel, strlen(rel), out, NULL, 0); strbuf_release(&sb); + if ((flags & QUOTE_PATH_QUOTE_SP) && + (out->buf[0] != '"' && strchr(out->buf, ' '))) { + /* Ensure the whole thing is quoted if the path has SP in it */ + strbuf_insertstr(out, 0, "\""); + strbuf_addch(out, '"'); + } + return out->buf; } |