Subject: Re: [PATCH] cocci: do not directly access the .d_type member in struct dirent

From: Collin Funk <[email-masked]>
Date: Wed, 18 Jun 2025 11:31:47 -0700

Junio C Hamano <[email-masked]> 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 <[email-masked]>

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.

Reviewed-by: Collin Funk <[email-masked]>

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).

Collin

[1] https://lore.kernel.org/git/[email-masked]/T/#m4fc1f0ddf1730ffb025e37d523035bd9f6cddfae