Skip to content
Permalink
Browse files

MDEV-12778 mariadb-10.1 FTBFS on GNU/Hurd due to use of PATH_MAX

  • Loading branch information...
vuvova committed Jun 14, 2017
1 parent 4842935 commit ded614d7dbc930e373d1a69a0d2a7e4bf0a2c6d3
Showing with 11 additions and 2 deletions.
  1. +1 −1 mysys/my_symlink.c
  2. +10 −1 mysys/mysys_priv.h
@@ -197,7 +197,7 @@ int my_realpath(char *to, const char *filename, myf MyFlags)

const char *my_open_parent_dir_nosymlinks(const char *pathname, int *pdfd)
{
char buf[PATH_MAX+1];
char buf[FN_REFLEN + 1];
char *s= buf, *e= buf+1, *end= strnmov(buf, pathname, sizeof(buf));
int fd, dfd= -1;

@@ -107,12 +107,21 @@ const char *my_open_parent_dir_nosymlinks(const char *pathname, int *pdfd);
res= AT; \
if (dfd >= 0) close(dfd); \
return res;
#elif defined(HAVE_REALPATH)
#elif defined(HAVE_REALPATH) && defined(PATH_MAX)
#define NOSYMLINK_FUNCTION_BODY(AT,NOAT) \
char buf[PATH_MAX+1]; \
if (realpath(pathname, buf) == NULL) return -1; \
if (strcmp(pathname, buf)) { errno= ENOTDIR; return -1; } \
return NOAT;
#elif defined(HAVE_REALPATH)
#define NOSYMLINK_FUNCTION_BODY(AT,NOAT) \
char *buf= realpath(pathname, NULL); \
int res; \
if (buf == NULL) return -1; \
if (strcmp(pathname, buf)) { errno= ENOTDIR; res= -1; } \
else res= NOAT; \
free(buf); \
return res;
#else
#define NOSYMLINK_FUNCTION_BODY(AT,NOAT) \
return NOAT;

0 comments on commit ded614d

Please sign in to comment.
You can’t perform that action at this time.