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.