summaryrefslogtreecommitdiff
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorYONETANI Tomokazu <y0netan1@dragonflybsd.org>2010-04-02 07:52:09 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-04-03 04:24:30 (GMT)
commit6555b196f00128f13ab8f719ee1e156238f16bb3 (patch)
tree56e8133246767f6c5bd58348925abc53327470ab /git-compat-util.h
parent1f2362a944e09883cf1905e40b98554f488ed041 (diff)
downloadgit-6555b196f00128f13ab8f719ee1e156238f16bb3.zip
git-6555b196f00128f13ab8f719ee1e156238f16bb3.tar.gz
git-6555b196f00128f13ab8f719ee1e156238f16bb3.tar.bz2
Fix _XOPEN_SOURCE problem on DragonFly
As on FreeBSD, defining _XOPEN_SOURCE to 600 on DragonFly BSD 2.4-RELEASE or later hides symbols from programs, which leads to implicit declaration of functions, making the return value to be assumed an int. On architectures where sizeof(int) < sizeof(void *), this can cause unexpected behaviors or crashes. This change won't affect other OSes unless they define __DragonFly__ macro, or older versions of DragonFly BSD as the current git code doesn't rely on the features only available with _XOPEN_SOURCE set to 600 on DragonFly. Signed-off-by: YONETANI Tomokazu <y0netan1@dragonflybsd.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index a3c4537..e292926 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -55,7 +55,8 @@
# else
# define _XOPEN_SOURCE 500
# endif
-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && !defined(_M_UNIX) && !defined(sgi)
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \
+ !defined(_M_UNIX) && !defined(sgi) && !defined(__DragonFly__)
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
#endif