From 275cf6cd8350f8a9f29caabd5b1994c6324caaf6 Mon Sep 17 00:00:00 2001 From: Patrick Lam Date: Tue, 31 Jan 2006 04:07:45 +0000 Subject: [PATCH] Don't stop scanning if a directory in fonts.conf doesn't exist, because subsequent directories might exist. reviewed by: plam --- ChangeLog | 8 ++++++++ fc-cache/fc-cache.c | 20 ++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index be57882..eebf3c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-01-30 Mike Fabian + reviewed by: plam + + * fc-cache/fc-cache.c (scanDirs): + + Don't stop scanning if a directory in fonts.conf doesn't + exist, because subsequent directories might exist. + 2006-01-30 Patrick Lam * src/fccache.c (FcGlobalCacheLoad): diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c index 2d6c2c3..f93a085 100644 --- a/fc-cache/fc-cache.c +++ b/fc-cache/fc-cache.c @@ -113,6 +113,7 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool { int ret = 0; const FcChar8 *dir; + const FcChar8 *dir_orig; FcFontSet *set; FcStrSet *subdirs; FcStrList *sublist; @@ -122,17 +123,24 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool * Now scan all of the directories into separate databases * and write out the results */ - while ((dir = FcStrListNext (list))) + while ((dir_orig = FcStrListNext (list))) { - dir = FcConfigNormalizeFontDir (config, dir); - if (!dir) - return FcFalse; - + dir = FcConfigNormalizeFontDir (config, dir_orig); + if (verbose) { - printf ("%s: \"%s\": ", program, dir); + printf ("%s: \"%s\": ", program, dir ? dir : dir_orig); fflush (stdout); } + + if (!dir) + { + if (verbose) + printf ("skipping, no such directory\n"); + continue; + } + + set = FcFontSetCreate (); if (!set) { -- 2.39.5