"Alejandro R Sedeño" <asedeno@xxxxxxxxxx> writes: > From: Alejandro R. Sedeño <asedeno@xxxxxxx> > > 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@xxxxxxx> > Signed-off-by: Alejandro R Sedeño <asedeno@xxxxxxxxxx> > --- > dir.h | 14 -------------- > statinfo.h | 14 ++++++++++++++ > 2 files changed, 14 insertions(+), 14 deletions(-) Thanks. Looking great. > 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