On Thu, Mar 3, 2011 at 11:47, Julian Foad <julian.f...@wandisco.com> wrote: > On Thu, 2011-03-03 at 16:33 +0000, Philip Martin wrote: >> Greg Stein <gst...@gmail.com> writes: >> >> > On Thu, Mar 3, 2011 at 10:35, Hyrum K Wright <hy...@hyrumwright.org> wrote: >> >> On Thu, Mar 3, 2011 at 9:03 AM, <phi...@apache.org> wrote: >> >>> Author: philip >> >>> Date: Thu Mar 3 15:03:42 2011 >> >>> New Revision: 1076645 >> >>> >> >>> URL: http://svn.apache.org/viewvc?rev=1076645&view=rev >> >>> Log: >> >>> Wrap pointer in a baton to avoid a complier warning or cast. >> >> >> >> I think a single cast is better than the obfuscation of wrapping a >> >> single value in a baton. Please reconsider this change. >> > >> > Agreed. I'd much rather see (void *)changelist, than all of this stuff. >> >> A cast that changes the type, (void *)changelist, or one that just >> removes the qualifier, (char *)changelist? Casts lead to questions. > > Sure a single arg in a struct is a bit ugly. But I don't like casting > away "const" when we don't need to, as it can be a very useful warning > if we don't have too many false alarms. > > Either way is ugly. C language has these holes in it - in this case, > passing a pointer that may or may not be "const" just isn't well > supported - so we have to do something ugly to work around it. There's > no clear winner here. > > It's hardly obfuscation to pass a structure as a baton: that is the > *normal* pattern for passing args to such a function. Passing a casted > pointer to a singleton argument is the special case.
It is a lot of crap just to avoid a single cast. It makes the code more complicated than it needs to be. -g