Subject: Re: Answer to "which echo.c"
To: Jonathan Cline <Cline@d2tech.com>
From: Todd Vierling <tv@pobox.com>
List: current-users
Date: 12/09/1999 14:37:54
On Thu, 9 Dec 1999, Jonathan Cline wrote:

: (The thread began in port-i386 so I'll end it there, any followups
: should go to current-users.)

Use Bcc: - it'll save the headache.

: - A few differences are probably due to the build process 
: (lint, etc), except for the '\c' compatibility, which only one 
: version supports.  WHY?

Most free source project developers are actually committed to paying jobs,
which of course take precedence over the free source project at the drop of
a hat.  Because of this, many projects, particularly the *BSD's, are
primarily bug-report-driven, and major features only happen when someone is
interested enough and can put aside enough time.  UVM was, in fact, a
dissertation project; otherwise, it probably would not exist.

So, if no one has submitted a PR about the lack of \c in NetBSD, it doesn't
surprise me that the feature is lacking.

: Obviously, using getopt() would be overkill for one-option
: checking here.

It's not that:  there's explicit documentation that no option parsing is
done beyond `-n'.  Getopt always accepts one more argument, `--', shich is
never passed back to the program.

: D:  OpenBSD.  This one is by far the most secure.  (Just kidding!)  
: It uses return(0), when exit(0) would be the proper thing.

Not necessarily (and I'm not trying to endorse, believe me)....

Unless you're talking about style here, see crt0 for any *BSD architecture
and make note of what gets called with the return value of main().  (Hint:  
it also has an "e" and an "x" in "it".  ;)

: Should use fputchar() instead of putchar() in order to be consistent.

There is no [standardized] beast named fputchar().

With that said, if tradition about these differences serves, fputchar()
would be distinctly different from putchar() in the same way fputc() is
different from putc().  How the latter two are different is left as an
exercise for the reader (include files, man pages, or even ANSI spec).

: Imagine how fast BSD could borrow the good things from Linux 

Copy-and-paste of source, however, wouldn't be quite feasible for NetBSD, at
least.  Linux is a cut and dry GPL licensed source base.

However, the reimplementation of ideas from Linux is possible.

: Or how fast security holes in NetBSD might be plugged after they
: were patched in OpenBSD.

(...personally, I like the fact that we attempt to review the impact of
changes before committing them.)  We do have people watching security lists
of other OS's - we aren't flying blind.  But again see the statement about
free development vs. pay; even here it has an impact.

-- 
-- Todd Vierling (tv@pobox.com)