summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <joerg@mysql.com>2005-03-04 10:22:50 +0100
committerunknown <joerg@mysql.com>2005-03-04 10:22:50 +0100
commitb66d71c8c3e14813c93860f73a315c33d77b0866 (patch)
tree86883e4f9bfeaa5bb1d9afc6b2e15e07e2d7eadd /include
parent555ea37d773e1e2345df5e6eea9f6d4e48432bd0 (diff)
downloadmariadb-git-b66d71c8c3e14813c93860f73a315c33d77b0866.tar.gz
Prevent a collision with the system's '#define errno ...' by guarding the variable declaration.
include/my_sys.h: There are platforms which use '#define errno ...' and then cause a collision with 'extern int errno;', one example is OpenBSD. Rather than treat them explicitly by the 'HAVE_ERRNO_AS_DEFINE', we can check for these by using '#ifndef errno'. (Backported from 5.0, as the problem was discovered there first.)
Diffstat (limited to 'include')
-rw-r--r--include/my_sys.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/my_sys.h b/include/my_sys.h
index 0fdb8d640e7..d6104a6a3a9 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -193,11 +193,13 @@ void __CDECL hfree(void *ptr);
#endif
#endif /* MSDOS */
+#ifndef errno /* did we already get it? */
#ifdef HAVE_ERRNO_AS_DEFINE
#include <errno.h> /* errno is a define */
#else
extern int errno; /* declare errno */
#endif
+#endif /* #ifndef errno */
extern const char ** NEAR my_errmsg[];
extern char NEAR errbuff[NRERRBUFFS][ERRMSGSIZE];
extern char *home_dir; /* Home directory for user */