From 275cf6cd8350f8a9f29caabd5b1994c6324caaf6 Mon Sep 17 00:00:00 2001 From: Patrick Lam Date: Tue, 31 Jan 2006 04:07:45 +0000 Subject: Don't stop scanning if a directory in fonts.conf doesn't exist, because subsequent directories might exist. reviewed by: plam --- fc-cache/fc-cache.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'fc-cache') 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) { -- cgit v1.2.3