Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdgar Toernig <froese@gmx.de>2005-04-30 20:51:03 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-30 20:51:03 +0400
commitb6829693676c882ecb0d8ebc0a3a083e5e38131e (patch)
treeeff569014dce53b4bd0850e5f31089561cc258a6
parent9da3acfb1942ef28424ea58068faf6ac3a3fc2c8 (diff)
[PATCH] compat: missing dirent.d_type field
Not everybody has "d_type".
-rw-r--r--cache.h9
-rw-r--r--show-files.c2
2 files changed, 10 insertions, 1 deletions
diff --git a/cache.h b/cache.h
index a10243d192..af6345820f 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 d4061f8303..c63c7aa4b7 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;