diff options
Diffstat (limited to 'fontconfig')
-rw-r--r-- | fontconfig/configure.ac | 2 | ||||
-rw-r--r-- | fontconfig/doc/fcdircache.fncs | 10 | ||||
-rw-r--r-- | fontconfig/src/fccompat.c | 35 | ||||
-rw-r--r-- | fontconfig/src/fcfreetype.c | 4 | ||||
-rw-r--r-- | fontconfig/src/fcstat.c | 3 |
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 |