On 25 October 2013 13:28, Branko Čibej <br...@wandisco.com> wrote: > On 25.10.2013 11:18, Branko Čibej wrote: >> On 25.10.2013 11:15, Julian Foad wrote: >>> I (Julian Foad) wrote: >>> >>>>> On Fri, 25 Oct 2013, Branko Čibej wrote: >>>>>>> URL: http://svn.apache.org/r1535399 >>>>>>> Log: >>>>>>> Cast NULL to (char *) in vararg calls to svn_dirent_join_many >>>>>>> and svn_path_join_many. >>>>>> Why? On which platform do you expect a char* to have a different size >>>>>> and/or representation than a void*? >>>> Brane, we have been doing this consistently for the last three years; >>>> Philip's commit was just continuing it. See [1] for the original >>>> discussion. >>>> >>>> [1] Email to dev@ from Stefan Sperling on 2011-02-25, subject "Re: svn >>>> commit: r1074461 ...", >>>> <http://svn.haxx.se/dev/archive-2011-02/0841.shtml>. >>> Now having read the original discussion (October 2010; the later email >>> mentioned above is merely a good reference to it), it appears we are doing >>> this in order to silence compiler warnings rather than for object-code >>> correctness. >> Yes, exactly my point ... compiler warnings that someone goes out of >> their way to enable, even though they're not enabled in maintainer mode. >> You know how I feel about /that/. >> >> And then we have week-long flames on the dev@ list when someone >> pre-emptively initializes a local var to silence a "may be used >> uninitialized" warning. See the first entry in the 1.8.x STATUS file, >> for example. Duh. > > Sideline: *IF* we, as a community, agree to do this, then: (a) the rule > should be documented in HACKING, and (b) there should be a '#define > NULLPTR ((void*)0)' or reasonable facsimile in either svn_types.h or > svn_private_config.h. I really do not want to see '(char*)NULL' all over > the place. That's ... unsightly. > > Oh, and (c) the associated warning must be enabled in maintainer mode. > +1 on all points!
-- Ivan Zhakov CTO | VisualSVN | http://www.visualsvn.com