Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/distrib/utils/sysinst
At Fri, 18 Jul 2003 15:28:07 +0000 (UTC), "John Hawkinson" wrote:
> Perry E. Metzger <perry%piermont.com@localhost> wrote on Fri, 18 Jul 2003
> at 10:21:31 -0400 in <87n0fbx6dw.fsf%snark.piermont.com@localhost>:
>
> > David Laight <dsl%netbsd.org@localhost> writes:
> > > Change a lot of 'if (strlen(x) == 0)' to 'if (x[0] === 0)'.
> >
> > Why bother? Was this performance critical code? The former is clearer
> > to the reader.
>
> I do not think you can seriously argue that the clarity is stronger
> either way.
I'd disagree: the former includes some semantic meaning that the
latter does not.
the former says "check the length of the string 'x' against 0".
the latter says "does the first byte of the memory pointed to by 'x'
happen to be 0?"
You might do the latter for many reasons, and a true newbie might not
even understand that the latter has the effect of the former.
in terms of efficiency, i'd be a little surprised if current GCC
development sources (with builtins allowed and optimization on)
wouldn't transform the strlen(x) == 0 into the NUL cehck.
cgd
--
Chris Demetriou Broadcom Corporation
Principal Design Engineer, Broadband Processors
Any opinions expressed in this message are mine, not necessarily Broadcom's.
Home |
Main Index |
Thread Index |
Old Index