From: Junio C Hamano Date: Sun, 18 Oct 2009 22:47:44 GMT Subject: Re: [PATCH v3 1/5] Refactor pretty_print_commit arguments into a struct Message-ID: <7vaazonwtr.fsf@alter.siamese.dyndns.org> In-Reply-To: <200910182051.20461.trast@student.ethz.ch> Thomas Rast writes: > Junio C Hamano wrote: >> The existing calls to format_commit_message() often take DATE_NORMAL to >> its "enum date_mode dmode" argument, and you replaced it with a pointer to >> a struct. DATE_NORMAL happens to be "0" and the compiler does not catch >> calls you forgot to convert in this patch. > > Hmph, that's embarrassing. Apparently I was way too focused on > pretty_print_commit... This is nothing to be embarrassed about. I did not notice it when I queued the series either, and I noticed it only when I tried to look at interactions with js/diff-verbose-submodule topic(the other series does not hardcode the style to be DATE_NORMAL). One solution to help the compiler catch this kind of semantic crash upon merging or applying code based on the old format_commit_message() would have been to change its function signature (or even the name), so that it would not go unnoticed that DATE_NORMAL that happens to be "0" is silently interpreted as (void *)0 == NULL.