Path: csiph.com!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: Sat, 18 Jan 2025 11:36:35 -0800 Organization: A noiseless patient Spider Lines: 81 Message-ID: <86sepf52yk.fsf@linuxsc.com> References: <20250107130809.661@kylheku.com> <87a5c15ob0.fsf@bsb.me.uk> <87ldvk4wu7.fsf@bsb.me.uk> <875xmn4lmy.fsf@bsb.me.uk> <8634hr8muh.fsf@linuxsc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Sat, 18 Jan 2025 20:36:36 +0100 (CET) Injection-Info: dont-email.me; posting-host="7cf0e6ae869b99814780c6ebfa5afb83"; logging-data="1154844"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+iowrqLmy2pSa1UAARO4jr+4pLEPpzHDw=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:ObxGpm8iyvaCYicJNis04w9b8B8= sha1:LSflhYwfOgIHhTBnRQorjmnrXd4= Xref: csiph.com comp.lang.c:390069 Julio Di Egidio writes: > On 10/01/2025 02:43, Tim Rentsch wrote: > >> 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(). > > You other blithering idiot: Ben's initial code had *a missed blank > line*, [...] I was responding only to the issue of misindentation.