[pacman-dev] Style questions and concerns

Dave Reisner d at falconindy.com
Fri Feb 25 21:22:57 EST 2011

On Fri, Feb 25, 2011 at 10:27:13AM -0600, Dan McGee wrote:
> I've noticed these things a lot in recent patches, so let the
> discussion commence.
> 1) typedef-ed structs. This is just a "copy the rest of them" habit,
> but I really feel we should stop doing this, only typedef-ing when we
> are making a public-facing type that we don't want to expose the
> internal contents of. Everything else should remain a struct type, and
> referred to as such, no typedef and no confusion that the fields are
> accessible.

Agreed. If it doesn't need to be opaque, then there's no reason to force

> 2) return(value) style. This is a rule set in stone in the coding
> style doc but people are continuously breaking it. To be fair, it is
> silly, but mixing styles sucks way worse. I propose switching this,
> *BUT* all current patches need to follow current style, and if we
> switch, it should happen post-3.5.0 and in one commit, not this
> piecemeal junk.

Really just comes down to to stylistic preference. It's not a style I
prefer personally, but it's also not my personal project. I'm happy to
follow whatever we agree upon.

> 3) C99. Several patches are introducing things that go further down
> this road. I don't think they should all be avoided but I'm not sure
> GCC 3.X (Cygwin is still on this?) supports all of these.
>    * Variable declarations not at the start of a block. I'm not a huge
> fan of this, as I think having them at the start of the block helps
> clarify scope a lot better.
>    * Dynamically sized array declarations, e.g. data[numcpus]. I think
> this needs to be avoided, unfortunately, but it isn't hard to just use
> MALLOC/FREE in this case.
>    * C99 structure initialization (saw it in the parallelize patches).

I see this as an all or none kind of deal. If we're going to make an
effort to avoid c99, I think we should avoid _all_ c99.


More information about the pacman-dev mailing list