cvs commit: src/usr.bin/patch - Imported sources
David Schultz
das at FreeBSD.ORG
Thu Aug 5 15:57:48 PDT 2004
On Thu, Aug 05, 2004, Alexey Dokuchaev wrote:
> On Wed, Aug 04, 2004 at 02:05:24PM -0700, David Schultz wrote:
> > On Mon, Aug 02, 2004, Tim Robbins wrote:
> > > On Mon, Aug 02, 2004 at 10:45:09AM +0700, Alexey Dokuchaev wrote:
> > > > On Sun, Aug 01, 2004 at 08:45:55PM +0000, Garance A Drosehn wrote:
> > > > > gad 2004-08-01 20:45:55 UTC
> > > > >
> > > > > FreeBSD src repository
> > > > >
> > > > > src/usr.bin/patch - Imported sources
> > > > > Update of /home/ncvs/src/usr.bin/patch
> > > > > In directory repoman.freebsd.org:/tmp/cvs-serv87568
> > > > >
> > > > > Log Message:
> > > > > Import of a BSD-licensed version of `patch', which will eventually
> > > > > replace the version we currently have in src/gnu/usr.bin/patch/.
> > > > > Among other things, this version includes a --posix option for strict
> > > > > POSIX conformance.
> > > > >
> > > > > This version is the current source from OpenBSD as of today. It is
> > > > > their 3.5-release, plus a few updates to patch.c and pch.c that they
> > > > > made about three weeks ago.
> > > >
> > > > May I ask why you preferred OpenBSD's version over NetBSD's? It was
> > > > shown in the past that OpenBSD's way of doing thing is a bit rough on
> > > > the edges sometimes (humanize_number(3) vs. fmt_scaled(3) and
> > > > scan_scaled(3), ftw(3) and nftw(3), etc).
> > >
> > > Actually, OpenBSD's ftw()/nftw() implementation is better than the one
> > > we recently imported, in terms of both style and functionality; I wish we'd
> > > gone with it instead. What we have in -CURRENT at the moment is incredibly
> > > buggy for such a simple function. The droll, inane comments ("Because
> > > errno is our friend") and style violations only make things worse.
> >
> > I agree about the style. What's wrong with the functionality?
> >
> > I have no objection to switching to Todd's (much cleaner) [n]ftw()
> > implementation, although I'm not aware of any non-stylistic
> > problems with the current code.
>
> I also recall you (David) mentioning that current implementation
> does the same thing in half the lines of code, despite its style(9)
> deficiencies, and that was the reason why it was imported instead of
> OpenBSD's one. Now when Tim says OpenBSD's one is functionally ahead,
> I wonder what is better: to improve our (current) version WRT both style
> and functionality, probably without doubling the code lines, or make a
> step backwards and import OpenBSD version?
The [n]ftw() rountines are really simple; anyone who groks fts(3)
could implement and test them in a few hours, since they're just
wrappers. Therefore, the differences between the two versions in
terms of functionality are trivial.
However, one important consideration that I didn't think of before
when I glanced at the OpenBSD version is that the OpenBSD code is
more likely to be maintained by someone else, namely Todd. When I
committed Joel's code, it was practically a coin toss between the
two in my mind. But Todd's competence speaks for itself, so I'm
definitely leaning towards the OpenBSD [n]ftw() implementation now.
More information about the cvs-src
mailing list