summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-01-20 21:33:20 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-01-22 03:33:22 (GMT)
commit0bdd79af62e8621359af08f0afca0ce977348ac7 (patch)
tree4ddea26c599119dfaa75d5b5c7e4b3a891aa6318
parent5df9140c92349a807952628a04ee94b65c5bead5 (diff)
downloadgit-0bdd79af62e8621359af08f0afca0ce977348ac7.zip
git-0bdd79af62e8621359af08f0afca0ce977348ac7.tar.gz
git-0bdd79af62e8621359af08f0afca0ce977348ac7.tar.bz2
Undef DT_* before redefining them.
When overriding DT_* macro detection with NO_D_TYPE_IN_DIRENT (recent Cygwin build problem, which hopefully is already fixed in their CVS snapshot version), we define DTYPE() macro to return just "we do not know", but still needed to use DT_* macro to avoid ifdef in the code we use them. If the platform defines DT_* macro but with unusable d_type, this would have resulted in us redefining these preprocessor symbols. Admittedly, that would be just a couple of compilation warnings, and on Cygwin at least this particular problem is transitory (the problem is already fixed in their CVS snapshot version), so this is a low priority fix. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--cache.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 3d79c55..b493b65 100644
--- a/cache.h
+++ b/cache.h
@@ -13,6 +13,10 @@
#if defined(DT_UNKNOWN) && !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