summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/cksum.c7
-rw-r--r--coreutils/printenv.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/coreutils/cksum.c b/coreutils/cksum.c
index 546532c..3a77c75 100644
--- a/coreutils/cksum.c
+++ b/coreutils/cksum.c
@@ -15,6 +15,7 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
uint32_t crc;
off_t length, filesize;
int bytes_read;
+ int exit_code = EXIT_SUCCESS;
uint8_t *cp;
#if ENABLE_DESKTOP
@@ -27,8 +28,10 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
do {
int fd = open_or_warn_stdin(*argv ? *argv : bb_msg_standard_input);
- if (fd < 0)
+ if (fd < 0) {
+ exit_code = EXIT_FAILURE;
continue;
+ }
crc = 0;
length = 0;
@@ -60,5 +63,5 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
crc, filesize, *argv);
} while (*argv && *++argv);
- fflush_stdout_and_exit(EXIT_SUCCESS);
+ fflush_stdout_and_exit(exit_code);
}
diff --git a/coreutils/printenv.c b/coreutils/printenv.c
index 6971f72..2430f3a 100644
--- a/coreutils/printenv.c
+++ b/coreutils/printenv.c
@@ -13,6 +13,8 @@
int printenv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int printenv_main(int argc UNUSED_PARAM, char **argv)
{
+ int exit_code = EXIT_SUCCESS;
+
/* no variables specified, show whole env */
if (!argv[1]) {
int e = 0;
@@ -26,8 +28,10 @@ int printenv_main(int argc UNUSED_PARAM, char **argv)
env = getenv(arg);
if (env)
puts(env);
+ else
+ exit_code = EXIT_FAILURE;
}
}
- fflush_stdout_and_exit(EXIT_SUCCESS);
+ fflush_stdout_and_exit(exit_code);
}