aboutsummaryrefslogtreecommitdiff
path: root/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig')
-rw-r--r--fontconfig/configure.ac2
-rw-r--r--fontconfig/doc/fcdircache.fncs10
-rw-r--r--fontconfig/src/fccompat.c35
-rw-r--r--fontconfig/src/fcfreetype.c4
-rw-r--r--fontconfig/src/fcstat.c3
5 files changed, 40 insertions, 14 deletions
diff --git a/fontconfig/configure.ac b/fontconfig/configure.ac
index 89fe117ca..331bd32aa 100644
--- a/fontconfig/configure.ac
+++ b/fontconfig/configure.ac
@@ -138,7 +138,7 @@ dnl ==========================================================================
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
+AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
AX_CREATE_STDINT_H([src/fcstdint.h])
# Checks for typedefs, structures, and compiler characteristics.
diff --git a/fontconfig/doc/fcdircache.fncs b/fontconfig/doc/fcdircache.fncs
index 24dea8bc5..ab5e3d9a0 100644
--- a/fontconfig/doc/fcdircache.fncs
+++ b/fontconfig/doc/fcdircache.fncs
@@ -55,6 +55,16 @@ FcDirCacheRead.
@@
@RET@ FcCache *
+@FUNC@ FcDirCacheRescan
+@TYPE1@ const FcChar8 * @ARG1@ dir
+@TYPE2@ FcConfig * @ARG2@ config
+@PURPOSE@ Re-scan a directory cache
+@DESC@
+Re-scan directories only at <parameter>dir</parameter> and update the cache.
+returns NULL if failed.
+@@
+
+@RET@ FcCache *
@FUNC@ FcDirCacheRead
@TYPE1@ const FcChar8 * @ARG1@ dir
@TYPE2@ FcBool% @ARG2@ force
diff --git a/fontconfig/src/fccompat.c b/fontconfig/src/fccompat.c
index 1c2ba8bed..f4f3f5fdc 100644
--- a/fontconfig/src/fccompat.c
+++ b/fontconfig/src/fccompat.c
@@ -170,14 +170,27 @@ FcRandom(void)
static struct random_data fcrandbuf;
static char statebuf[256];
static FcBool initialized = FcFalse;
+#ifdef _AIX
+ static char *retval;
+ long res;
+#endif
if (initialized != FcTrue)
{
- initstate_r(time(NULL), statebuf, 256, &fcrandbuf);
+#ifdef _AIX
+ initstate_r (time (NULL), statebuf, 256, &retval, &fcrandbuf);
+#else
+ initstate_r (time (NULL), statebuf, 256, &fcrandbuf);
+#endif
initialized = FcTrue;
}
- random_r(&fcrandbuf, &result);
+#ifdef _AIX
+ random_r (&res, &fcrandbuf);
+ result = (int32_t)res;
+#else
+ random_r (&fcrandbuf, &result);
+#endif
#elif HAVE_RANDOM
static char statebuf[256];
char *state;
@@ -185,30 +198,30 @@ FcRandom(void)
if (initialized != FcTrue)
{
- state = initstate(time(NULL), statebuf, 256);
+ state = initstate (time (NULL), statebuf, 256);
initialized = FcTrue;
}
else
- state = setstate(statebuf);
+ state = setstate (statebuf);
- result = random();
+ result = random ();
- setstate(state);
+ setstate (state);
#elif HAVE_LRAND48
- result = lrand48();
+ result = lrand48 ();
#elif HAVE_RAND_R
- static unsigned int seed = time(NULL);
+ static unsigned int seed = time (NULL);
- result = rand_r(&seed);
+ result = rand_r (&seed);
#elif HAVE_RAND
static FcBool initialized = FcFalse;
if (initialized != FcTrue)
{
- srand(time(NULL));
+ srand (time (NULL));
initialized = FcTrue;
}
- result = rand();
+ result = rand ();
#else
# error no random number generator function available.
#endif
diff --git a/fontconfig/src/fcfreetype.c b/fontconfig/src/fcfreetype.c
index e39430762..d271d69e2 100644
--- a/fontconfig/src/fcfreetype.c
+++ b/fontconfig/src/fcfreetype.c
@@ -1586,7 +1586,7 @@ FcFreeTypeQueryFace (const FT_Face face,
}
if (width == -1 &&
FT_Get_BDF_Property (face, "SETWIDTH_NAME", &prop) == 0 &&
- prop.type == BDF_PROPERTY_TYPE_ATOM)
+ prop.type == BDF_PROPERTY_TYPE_ATOM && prop.u.atom != NULL)
{
width = FcIsWidth ((FcChar8 *) prop.u.atom);
if (FcDebug () & FC_DBG_SCANV)
@@ -1716,7 +1716,7 @@ bail3:
/* For PCF fonts, override the computed spacing with the one from
the property */
if(FT_Get_BDF_Property(face, "SPACING", &prop) == 0 &&
- prop.type == BDF_PROPERTY_TYPE_ATOM) {
+ prop.type == BDF_PROPERTY_TYPE_ATOM && prop.u.atom != NULL) {
if(!strcmp(prop.u.atom, "c") || !strcmp(prop.u.atom, "C"))
spacing = FC_CHARCELL;
else if(!strcmp(prop.u.atom, "m") || !strcmp(prop.u.atom, "M"))
diff --git a/fontconfig/src/fcstat.c b/fontconfig/src/fcstat.c
index ff8e88455..f384767cc 100644
--- a/fontconfig/src/fcstat.c
+++ b/fontconfig/src/fcstat.c
@@ -30,6 +30,9 @@
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
+#ifdef HAVE_SYS_STATVFS_H
+#include <sys/statvfs.h>
+#endif
#ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
#endif