diff options
author | Junio C Hamano <junkio@cox.net> | 2006-01-11 13:36:45 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-01-11 13:36:45 -0800 |
commit | a94d9948da539fdafc26c74afb335b2fe9f8f21d (patch) | |
tree | c86bcbc27198983eba1ff839adb8934eb363defb /update-index.c | |
parent | d5a6aafc90a14382120727e4e81ee1a380e8b194 (diff) | |
download | git-a94d9948da539fdafc26c74afb335b2fe9f8f21d.tar.gz |
update-index: work with c-quoted name
update-index --stdin did not work with c-style quoted names even though
update-index --index-info did. This fixes the inconsistency.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'update-index.c')
-rw-r--r-- | update-index.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/update-index.c b/update-index.c index be87b99808..a84a04f918 100644 --- a/update-index.c +++ b/update-index.c @@ -534,10 +534,17 @@ int main(int argc, const char **argv) struct strbuf buf; strbuf_init(&buf); while (1) { + char *path_name; read_line(&buf, stdin, line_termination); if (buf.eof) break; - update_one(buf.buf, prefix, prefix_length); + if (line_termination && buf.buf[0] == '"') + path_name = unquote_c_style(buf.buf, NULL); + else + path_name = buf.buf; + update_one(path_name, prefix, prefix_length); + if (path_name != buf.buf) + free(path_name); } } if (active_cache_changed) { |