Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: So You Think You Can Const? Date: Thu, 09 Jan 2025 17:43:50 -0800 Organization: A noiseless patient Spider Lines: 71 Message-ID: <8634hr8muh.fsf@linuxsc.com> References: <20250107130809.661@kylheku.com> <87a5c15ob0.fsf@bsb.me.uk> <87ldvk4wu7.fsf@bsb.me.uk> <875xmn4lmy.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Fri, 10 Jan 2025 02:43:51 +0100 (CET) Injection-Info: dont-email.me; posting-host="0681eefa40b39ffce3ec62410cd69ade"; logging-data="3813076"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/1frDfU/+oJ8idTESRYqZDwgyBDYmudzk=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:XnG7DAPcJDwPscSRWprpOck41D4= sha1:ev32lby6KmUilGazrXVUY6+KaLs= Bytes: 3529 Julio Di Egidio writes: > On 10/01/2025 00:37, Julio Di Egidio wrote: > >> On 10/01/2025 00:23, Ben Bacarisse wrote: >> >>> Julio Di Egidio writes: >>> >>>> On 09/01/2025 02:09, Ben Bacarisse wrote: >>>> >>>>> Julio Di Egidio writes: >>>>> >>>>>> static AvlTree_t const *AvlTree_node( >>>>>> void const *pk, AvlTree_t const *pL, AvlTree_t const *pR >>>>>> ) { >>>>>> AvlTree_t *pT; >>>>>> >>>>>> pT = malloc(sizeof(AvlTree_t)); >>>>>> >>>>>> if (!pT) { >>>>>> return NULL; >>>>>> } >>>>>> >>>>>> pT->pk = pk; >>>>>> pT->pL = pL; >>>>>> pT->pR = pR; >>>>>> >>>>>> return pT; >>>>>> } >>>>> >>>>> Just on a side issue, I prefer to make tests like this positive >>>>> so I'd write: >>>>> static AvlTree_t const *AvlTree_node( >>>>> void const *pk, AvlTree_t const *pL, AvlTree_t const *pR >>>>> ) { >>>>> AvlTree_t *pT = malloc(*pT); >>>>> if (pT) { >>>>> pT->pk = pk; >>>>> pT->pL = pL; >>>>> pT->pR = pR; >>>>> } >>>>> return pT; >>>>> } >>>>> I'm not going to "make a case" for this (though I will if you >>>>> want!) -- I just think it helps to see lots of different styles. >>>> >>>> That is *more* error prone, >>> >>> I would be happy for you to expand on why you say that. >>> >>>> all the more so if it's not a 5 liner... >> >> There is no such thing as expanding 40 years of professional >> experience in software engineering and programming and doing it >> properly since day one: just think about that code and what I said >> for what it's worth, in particular I haven't mentioned 5 liners by >> chance, things are quite more complicated not in vitro. >> >> And please do not hold a grudge about that: it's not me who was >> trying to say how to write code... ;) > > BTW, I hadn't mention it, but have you noticed the second one is > misindented? Between me and you, I can tell how long a piece of > code will take to break when in production by just looking at > it... A lot of fun. :) The indentation was correct in Ben's original posting. The misindentation first appeared in your followup to that posting, where the quoted portion had been changed to remove a blank line and over-indent the if().