aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2000-09-27 03:01:40 +0000
committerMatt Kraai <kraai@debian.org>2000-09-27 03:01:40 +0000
commite7c1af1e0dc1440483d7f195f15eb0df5cf70a04 (patch)
tree181768dee00666d560354b921d72a0f2217cb179
parentbbaef66b3f99213f06adf04df6b3e5e61278d75b (diff)
downloadbusybox-e7c1af1e0dc1440483d7f195f15eb0df5cf70a04.tar.gz
Continue concatenating files even if we can't open one.
-rw-r--r--cat.c9
-rw-r--r--coreutils/cat.c9
-rw-r--r--utility.c3
3 files changed, 12 insertions, 9 deletions
diff --git a/cat.c b/cat.c
index 51f1d27a6..151ce4e61 100644
--- a/cat.c
+++ b/cat.c
@@ -26,20 +26,21 @@
extern int cat_main(int argc, char **argv)
{
+ int status = EXIT_SUCCESS;
+
if (argc == 1) {
print_file(stdin);
- exit(TRUE);
+ return status;
}
while (--argc > 0) {
if(!(strcmp(*++argv, "-"))) {
print_file(stdin);
} else if (print_file_by_name(*argv) == FALSE) {
- perror(*argv);
- exit(FALSE);
+ status = EXIT_FAILURE;
}
}
- return(TRUE);
+ return status;
}
/*
diff --git a/coreutils/cat.c b/coreutils/cat.c
index 51f1d27a6..151ce4e61 100644
--- a/coreutils/cat.c
+++ b/coreutils/cat.c
@@ -26,20 +26,21 @@
extern int cat_main(int argc, char **argv)
{
+ int status = EXIT_SUCCESS;
+
if (argc == 1) {
print_file(stdin);
- exit(TRUE);
+ return status;
}
while (--argc > 0) {
if(!(strcmp(*++argv, "-"))) {
print_file(stdin);
} else if (print_file_by_name(*argv) == FALSE) {
- perror(*argv);
- exit(FALSE);
+ status = EXIT_FAILURE;
}
}
- return(TRUE);
+ return status;
}
/*
diff --git a/utility.c b/utility.c
index ae69baf4b..df2515c2b 100644
--- a/utility.c
+++ b/utility.c
@@ -1636,12 +1636,13 @@ extern int print_file_by_name(char *filename)
FILE *file;
file = fopen(filename, "r");
if (file == NULL) {
+ errorMsg("%s: %s\n", filename, strerror(errno));
return FALSE;
}
print_file(file);
return TRUE;
}
-#endif /* BB_CAT || BB_LSMOD */
+#endif /* BB_CAT */
#if defined BB_ECHO || defined BB_TR
char process_escape_sequence(char **ptr)