Re: [PATCH] cocci: do not directly access the .d_type member in struct dirent
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 18, 2025, 19:29 UTC
- Message-ID
- <xmqqsejwetli.fsf@gitster.g>
- In-Reply-To
- <87ldposxyk.fsf@gmail.com>
Collin Funk <collin.funk1@gmail.com> writes:
Show 16 quoted lines
> Junio C Hamano <gitster@pobox.com> writes: > >> In "struct dirent", the presence of the .d_type member should not be >> assumed and the code should instead use DTYPE() macro, with possibly >> a fallback check to determine the type of the file. >> >> Add a rule to catch direct access to the .d_type member and use >> DTYPE() macro instead, except in the emulation code paths that work >> on platforms that do have the member. This is probably not sufficient >> to notice the lack of necessary fallback code. >> >> Signed-off-by: Junio C Hamano <gitster@pobox.com> > > This change looks good to me. Atleast it will catch code that fails to > build on niche platforms, even if it cannot validate existing backup > code.
I do not think it is necessarily a good idea to allow building a binary that is known to silently misbehave, though.
Show 5 quoted lines
> Reviewed-by: Collin Funk <collin.funk1@gmail.com> > > Your fix for the 'git diff --no-index' looks correct [1]. I'll build libcurl > on an AIX machine I have access to in order to test (not an > administrator on it).
I do not think you need libcurl if you only want to test the diff --no-index change, but anyway, thanks.