Re: [PATCH] statinfo.h: move DTYPE defines from dir.h
"Alejandro R Sedeño" <asedeno@google.com> writes:
Show 19 quoted lines
> From: Alejandro R. Sedeño <asedeno@mit.edu>
>
> 592fc5b3 (dir.h: move DTYPE defines from cache.h, 2023-04-22) moved
> DTYPE macros from cache.h to dir.h, but they are still used by cache.h
> to implement ce_to_dtype(); cache.h cannot include dir.h because that
> would cause name-hash.c to have two different and conflicting
> definitions of `struct dir_entry`. (That should be separately fixed.)
>
> Both dir.h and cache.h include statinfo.h, and this seems a reasonable
> place for these definitions.
>
> This change fixes a broken build issue on old SunOS.
>
> Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
> Signed-off-by: Alejandro R Sedeño <asedeno@google.com>
> ---
> dir.h | 14 --------------
> statinfo.h | 14 ++++++++++++++
> 2 files changed, 14 insertions(+), 14 deletions(-)
Show 46 quoted lines
> diff --git a/dir.h b/dir.h
> index 79b85a01ee..d65a40126c 100644
> --- a/dir.h
> +++ b/dir.h
> @@ -641,18 +641,4 @@ static inline int starts_with_dot_dot_slash_native(const char *const path)
> return path_match_flags(path, what | PATH_MATCH_NATIVE);
> }
>
> -#if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
> -#define DTYPE(de) ((de)->d_type)
> -#else
> -#undef DT_UNKNOWN
> -#undef DT_DIR
> -#undef DT_REG
> -#undef DT_LNK
> -#define DT_UNKNOWN 0
> -#define DT_DIR 1
> -#define DT_REG 2
> -#define DT_LNK 3
> -#define DTYPE(de) DT_UNKNOWN
> -#endif
> -
> #endif
> diff --git a/statinfo.h b/statinfo.h
> index e49e3054ea..fe8df633a4 100644
> --- a/statinfo.h
> +++ b/statinfo.h
> @@ -21,4 +21,18 @@ struct stat_data {
> unsigned int sd_size;
> };
>
> +#if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
> +#define DTYPE(de) ((de)->d_type)
> +#else
> +#undef DT_UNKNOWN
> +#undef DT_DIR
> +#undef DT_REG
> +#undef DT_LNK
> +#define DT_UNKNOWN 0
> +#define DT_DIR 1
> +#define DT_REG 2
> +#define DT_LNK 3
> +#define DTYPE(de) DT_UNKNOWN
> +#endif
> +
> #endif