Add FcReadLink to wrap up readlink impl.
This commit is contained in:
parent
767e3aa7c5
commit
3642d71724
|
@ -2218,7 +2218,7 @@ FcConfigRealFilename (FcConfig *config,
|
|||
|
||||
if (n)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
FcChar8 buf[PATH_MAX];
|
||||
ssize_t len;
|
||||
|
||||
if (sysroot)
|
||||
|
@ -2227,7 +2227,7 @@ FcConfigRealFilename (FcConfig *config,
|
|||
nn = FcStrdup (n);
|
||||
FcStrFree (n);
|
||||
|
||||
if ((len = readlink ((const char *) nn, buf, sizeof (buf) - 1)) != -1)
|
||||
if ((len = FcReadLink (nn, buf, sizeof (buf) - 1)) != -1)
|
||||
{
|
||||
buf[len] = 0;
|
||||
FcStrFree (nn);
|
||||
|
|
|
@ -37,6 +37,9 @@
|
|||
#if HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -256,6 +259,22 @@ FcMakeDirectory (const FcChar8 *dir)
|
|||
return ret;
|
||||
}
|
||||
|
||||
ssize_t
|
||||
FcReadLink (const FcChar8 *pathname,
|
||||
FcChar8 *buf,
|
||||
size_t bufsiz)
|
||||
{
|
||||
#ifdef HAVE_READLINK
|
||||
return readlink ((const char *) pathname, (char *)buf, bufsiz);
|
||||
#else
|
||||
/* XXX: this function is only used for FcConfigRealFilename() so far
|
||||
* and returning -1 as an error still just works.
|
||||
*/
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
#define __fccompat__
|
||||
#include "fcaliastail.h"
|
||||
#undef __fccompat__
|
||||
|
|
|
@ -822,6 +822,11 @@ FcRandom (void);
|
|||
FcPrivate FcBool
|
||||
FcMakeDirectory (const FcChar8 *dir);
|
||||
|
||||
FcPrivate ssize_t
|
||||
FcReadLink (const FcChar8 *pathname,
|
||||
FcChar8 *buf,
|
||||
size_t bufsiz);
|
||||
|
||||
/* fcdbg.c */
|
||||
|
||||
FcPrivate void
|
||||
|
|
Loading…
Reference in New Issue