Hi, just saw that cat's *main* function does never return even though there is a return value, exit(3) is called instead. Is there any reason why or is it just historically, cause it's a bit confusing? If exit(3) is always called, than why not changing the return value to *void*?
Other calls in *src/bin/* share the same behavior. Regards, --F. Index: cat.c =================================================================== RCS file: /cvs/src/bin/cat/cat.c,v retrieving revision 1.21 diff -u -p -r1.21 cat.c --- cat.c 16 Jan 2015 06:39:28 -0000 1.21 +++ cat.c 29 Aug 2015 22:01:35 -0000 @@ -103,8 +103,7 @@ main(int argc, char *argv[]) raw_args(argv); if (fclose(stdout)) err(1, "stdout"); - exit(rval); - /* NOTREACHED */ + return (rval); } void