Add compat wrapper for readlinkat

This commit is contained in:
Benny Baumann
2020-10-29 23:02:57 +01:00
parent 84dad4c38e
commit 2d6da2e520
3 changed files with 34 additions and 19 deletions

View File

@ -13,9 +13,7 @@ in the source distribution for its full text.
#include <sys/stat.h>
#include "Compat.h"
#ifndef HAVE_FSTATAT
#include "XUtils.h"
#endif
int Compat_fstatat(int dirfd,
@ -44,3 +42,27 @@ int Compat_fstatat(int dirfd,
#endif
}
int Compat_readlinkat(int dirfd,
const char* dirpath,
const char* pathname,
char* buf,
size_t bufsize) {
#ifdef HAVE_READLINKAT
(void)dirpath;
return readlinkat(dirfd, pathname, buf, bufsize);
#else
(void)dirfd;
char path[4096];
xSnprintf(path, sizeof(path), "%s/%s", dirpath, pathname);
return readlink(path, buf, bufsize);
#endif
}