According to asa(1)'s man page, it should return a value >0 if it
encounters an error. Currently asa doesn't return a value greater
than 0 if a file is missing that has been passed to it as an
argument. For example:
$ asa MISSINGFILE
...returns 0. However, FreeBSD returns 1 but NetBSD returns 0.
Adding this diff (from FreeBSD) makes it return 1.
Any opinions?
-mark
Index: asa.c
===================================================================
RCS file: /cvs/src/usr.bin/asa/asa.c,v
retrieving revision 1.9
diff -u -p -r1.9 asa.c
--- asa.c 27 Oct 2009 23:59:35 -0000 1.9
+++ asa.c 30 Apr 2011 09:52:14 -0000
@@ -43,7 +43,7 @@ __dead void usage(void);
int
main(int argc, char *argv[])
{
- int ch;
+ int ch, exval;
FILE *fp;
while ((ch = getopt(argc, argv, "")) != -1) {
@@ -62,13 +62,14 @@ main(int argc, char *argv[])
for (; *argv != NULL; argv++) {
if ((fp = fopen(*argv, "r")) == NULL) {
warn("%s", *argv);
+ exval = 1;
continue;
}
asa(fp);
fclose(fp);
}
- exit(0);
+ exit(exval);
}
void