diff options
author | se <se@FreeBSD.org> | 2003-11-02 23:12:08 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 2003-11-02 23:12:08 +0000 |
commit | 7c072fe20ea68fd4acd0ea5c656690529b57a7ea (patch) | |
tree | a0f58a3357cf1ce792edbc96da4eac1889f8aab5 /sbin | |
parent | f2e8aed3e6e18aef3f6cee2602985b43ab4a14c3 (diff) | |
download | FreeBSD-src-7c072fe20ea68fd4acd0ea5c656690529b57a7ea.zip FreeBSD-src-7c072fe20ea68fd4acd0ea5c656690529b57a7ea.tar.gz |
Set exit code to 1 in case at least one of the input files
could not be opened.
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/md5/md5.1 | 4 | ||||
-rw-r--r-- | sbin/md5/md5.c | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/sbin/md5/md5.1 b/sbin/md5/md5.1 index 2d5e8b0..de7b902 100644 --- a/sbin/md5/md5.1 +++ b/sbin/md5/md5.1 @@ -67,6 +67,10 @@ Run a built-in time trial. .It Fl x Run a built-in test script. .El +.Sh DIAGNOSTICS +The +.Nm +program exits 0 on success, and 1 if at least one of the input files could not be read. .Sh SEE ALSO .Xr cksum 1 .Rs diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index 5a33664..9fd0cf8 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -62,7 +62,9 @@ main(int argc, char *argv[]) int ch; char *p; char buf[33]; + int failed; + failed = 0; while ((ch = getopt(argc, argv, "pqrs:tx")) != -1) switch (ch) { case 'p': @@ -93,19 +95,24 @@ main(int argc, char *argv[]) if (*argv) { do { p = MD5File(*argv, buf); - if (!p) + if (!p) { warn("%s", *argv); - else + failed++; + } else { if (qflag) printf("%s\n", p); else if (rflag) printf("%s %s\n", p, *argv); else printf("MD5 (%s) = %s\n", *argv, p); + } } while (*++argv); } else if (!sflag && (optind == 1 || qflag || rflag)) MDFilter(0); + if (failed != 0) + return (1); + return (0); } /* |