[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Coding practice



Howard Chu writes:
> I just did a quick review of the deref control code. I thought we had
> already established this policy since the OpenLDAP 2.1 days: no more
> naked char *'s in new code. Always use struct bervals, (...)

Yes, I remember that for data structures at least.  And exposed
prototypes, or something like that.

Not for internals of a function, I hope.  It's cumbersome (and harder
for the compiler to optimize) to write bv->bv_val all the time instead
of str.

> On a related note, I'm still not so thrilled with the STRLENOF() macro. Most 
> of the time I use sizeof("strconst") because I *know* there's a trailing NUL 
> and I *want* it incorporated in the result...

Yes, in particular STRLENOF("") + 1 looks stupid.  Though it's a bit
more readable in a number of cases since it expresses the intent more
directly.

One I really hate is AC_MEMCPY - partly because these capital letters
are glaring at me for no good reason, but also because expands to
memmove, not memcpy.  Any reason not to use memcpy in cases where source
and destination cannot overlap?  That ought to be a bit faster too.
(Might even go through the code and replace it for that reason.)

-- 
Hallvard