From: Edgar Toernig Date: Sat, 30 Apr 2005 16:51:03 +0000 (-0700) Subject: [PATCH] compat: missing dirent.d_type field X-Git-Tag: v0.99~692 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b6829693676c882ecb0d8ebc0a3a083e5e38131e;p=git.git [PATCH] compat: missing dirent.d_type field Not everybody has "d_type". --- diff --git a/cache.h b/cache.h index a10243d19..af6345820 100644 --- a/cache.h +++ b/cache.h @@ -21,6 +21,15 @@ #define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11) #endif +#ifdef DT_UNKNOWN +#define DTYPE(de) ((de)->d_type) +#else +#define DT_UNKNOWN 0 +#define DT_DIR 1 +#define DT_REG 2 +#define DTYPE(de) DT_UNKNOWN +#endif + /* * Basic data structures for the directory cache * diff --git a/show-files.c b/show-files.c index d4061f830..c63c7aa4b 100644 --- a/show-files.c +++ b/show-files.c @@ -129,7 +129,7 @@ static void read_directory(const char *path, const char *base, int baselen) len = strlen(de->d_name); memcpy(fullname + baselen, de->d_name, len+1); - switch (de->d_type) { + switch (DTYPE(de)) { struct stat st; default: continue;