Commit b66d71c8 authored by unknown's avatar unknown
Browse files

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.)
parent 555ea37d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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 */