cksum, printenv: report errors via exitcode

function                                             old     new   delta
cksum_main                                           296     315     +19
printenv_main                                         74      86     +12
This commit is contained in:
Denis Vlasenko 2008-11-11 22:59:41 +00:00
parent 0d8736772d
commit f91f14d221
2 changed files with 10 additions and 3 deletions

View File

@ -15,6 +15,7 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
uint32_t crc; uint32_t crc;
off_t length, filesize; off_t length, filesize;
int bytes_read; int bytes_read;
int exit_code = EXIT_SUCCESS;
uint8_t *cp; uint8_t *cp;
#if ENABLE_DESKTOP #if ENABLE_DESKTOP
@ -27,8 +28,10 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
do { do {
int fd = open_or_warn_stdin(*argv ? *argv : bb_msg_standard_input); int fd = open_or_warn_stdin(*argv ? *argv : bb_msg_standard_input);
if (fd < 0) if (fd < 0) {
exit_code = EXIT_FAILURE;
continue; continue;
}
crc = 0; crc = 0;
length = 0; length = 0;
@ -60,5 +63,5 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
crc, filesize, *argv); crc, filesize, *argv);
} while (*argv && *++argv); } while (*argv && *++argv);
fflush_stdout_and_exit(EXIT_SUCCESS); fflush_stdout_and_exit(exit_code);
} }

View File

@ -13,6 +13,8 @@
int printenv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int printenv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int printenv_main(int argc UNUSED_PARAM, char **argv) int printenv_main(int argc UNUSED_PARAM, char **argv)
{ {
int exit_code = EXIT_SUCCESS;
/* no variables specified, show whole env */ /* no variables specified, show whole env */
if (!argv[1]) { if (!argv[1]) {
int e = 0; int e = 0;
@ -26,8 +28,10 @@ int printenv_main(int argc UNUSED_PARAM, char **argv)
env = getenv(arg); env = getenv(arg);
if (env) if (env)
puts(env); puts(env);
else
exit_code = EXIT_FAILURE;
} }
} }
fflush_stdout_and_exit(EXIT_SUCCESS); fflush_stdout_and_exit(exit_code);
} }