summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-04-15 11:11:01 -0700
committerLibravatar Linus Torvalds <torvalds@ppc970.osdl.org>2005-04-15 11:11:01 -0700
commitb83c83457eb647a54fee7dd8a89f1787226c1be7 (patch)
tree07c2d8f92d55b9ab885c10bfa862e652dcc40ee5
parentAdd "--cacheinfo" option to update-cache. (diff)
downloadtgif-b83c83457eb647a54fee7dd8a89f1787226c1be7.tar.xz
[PATCH] Add -z option to show-files
This adds NUL-terminated output (-z) to show-files. This is necessary for merge-trees script to deal with filenames with embedded newlines. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--show-files.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/show-files.c b/show-files.c
index 7d3797f27e..c9027cc416 100644
--- a/show-files.c
+++ b/show-files.c
@@ -14,6 +14,7 @@ static int show_deleted = 0;
static int show_cached = 0;
static int show_others = 0;
static int show_ignored = 0;
+static int line_terminator = '\n';
static const char **dir;
static int nr_dir;
@@ -105,12 +106,12 @@ static void show_files(void)
}
if (show_others) {
for (i = 0; i < nr_dir; i++)
- printf("%s\n", dir[i]);
+ printf("%s%c", dir[i], line_terminator);
}
if (show_cached) {
for (i = 0; i < active_nr; i++) {
struct cache_entry *ce = active_cache[i];
- printf("%s\n", ce->name);
+ printf("%s%c", ce->name, line_terminator);
}
}
if (show_deleted) {
@@ -119,7 +120,7 @@ static void show_files(void)
struct stat st;
if (!stat(ce->name, &st))
continue;
- printf("%s\n", ce->name);
+ printf("%s%c", ce->name, line_terminator);
}
}
if (show_ignored) {
@@ -134,6 +135,11 @@ int main(int argc, char **argv)
for (i = 1; i < argc; i++) {
char *arg = argv[i];
+ if (!strcmp(arg, "-z")) {
+ line_terminator = 0;
+ continue;
+ }
+
if (!strcmp(arg, "--cached")) {
show_cached = 1;
continue;