From 92ed8a351908d60966fd9498574c9e6ace7bd5ab Mon Sep 17 00:00:00 2001 From: Matt Kraai Date: Wed, 6 Dec 2000 15:55:23 +0000 Subject: Fix exit status on failure. --- coreutils/df.c | 21 ++++++++++----------- coreutils/du.c | 11 +++++++---- 2 files changed, 17 insertions(+), 15 deletions(-) (limited to 'coreutils') diff --git a/coreutils/df.c b/coreutils/df.c index aefffc771..969a5b982 100644 --- a/coreutils/df.c +++ b/coreutils/df.c @@ -36,7 +36,7 @@ static int df(char *device, const char *mountPoint) long blocks_percent_used; if (statfs(mountPoint, &s) != 0) { - perror(mountPoint); + perrorMsg("%s", mountPoint); return FALSE; } @@ -63,12 +63,13 @@ static int df(char *device, const char *mountPoint) extern int df_main(int argc, char **argv) { + int status = EXIT_SUCCESS; + printf("%-20s %-14s %s %s %s %s\n", "Filesystem", "1k-blocks", "Used", "Available", "Use%", "Mounted on"); if (argc > 1) { struct mntent *mountEntry; - int status; if (**(argv + 1) == '-') { usage(df_usage); @@ -76,32 +77,30 @@ extern int df_main(int argc, char **argv) while (argc > 1) { if ((mountEntry = findMountPoint(argv[1], mtab_file)) == 0) { errorMsg("%s: can't find mount point.\n", argv[1]); - exit(FALSE); - } - status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir); - if (status != TRUE) - return EXIT_FAILURE; + status = EXIT_FAILURE; + } else if (!df(mountEntry->mnt_fsname, mountEntry->mnt_dir)) + status = EXIT_FAILURE; argc--; argv++; } - return EXIT_SUCCESS; } else { FILE *mountTable; struct mntent *mountEntry; mountTable = setmntent(mtab_file, "r"); if (mountTable == 0) { - perror(mtab_file); + perrorMsg("%s", mtab_file); return EXIT_FAILURE; } while ((mountEntry = getmntent(mountTable))) { - df(mountEntry->mnt_fsname, mountEntry->mnt_dir); + if (!df(mountEntry->mnt_fsname, mountEntry->mnt_dir)) + status = EXIT_FAILURE; } endmntent(mountTable); } - return EXIT_FAILURE; + return status; } /* diff --git a/coreutils/du.c b/coreutils/du.c index a0f1606fe..23bb141da 100644 --- a/coreutils/du.c +++ b/coreutils/du.c @@ -125,6 +125,7 @@ static long du(char *filename) int du_main(int argc, char **argv) { + int status = EXIT_SUCCESS; int i; int c; @@ -147,12 +148,14 @@ int du_main(int argc, char **argv) /* go through remaining args (if any) */ if (optind >= argc) { - du("."); + if (du(".") == 0) + status = EXIT_FAILURE; } else { long sum; for (i=optind; i < argc; i++) { - sum = du(argv[i]); + if (du(argv[i]) == 0) + status = EXIT_FAILURE; if (sum && isDirectory(argv[i], FALSE, NULL)) { print_normal(sum, argv[i]); } @@ -160,10 +163,10 @@ int du_main(int argc, char **argv) } } - return EXIT_SUCCESS; + return status; } -/* $Id: du.c,v 1.26 2000/12/01 02:55:13 kraai Exp $ */ +/* $Id: du.c,v 1.27 2000/12/06 15:55:23 kraai Exp $ */ /* Local Variables: c-file-style: "linux" -- cgit v1.2.3