Commit 3642d717 authored by Akira TAGOH's avatar Akira TAGOH

Add FcReadLink to wrap up readlink impl.

parent 767e3aa7
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment