diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | fc-cat/fc-cat.c | 11 |
2 files changed, 17 insertions, 1 deletions
@@ -1,3 +1,10 @@ +2006-02-21 Mike Fabian <mfabian@suse.de> + reviewed by: plam + + * fc-cat/fc-cat.c (main): + + Initialize fontconfig library in fc-cat to avoid segfault. + 2006-02-18 Patrick Lam <plam@mit.edu> * fc-cache/fc-cache.c (scanDirs): * src/fccache.c (FcCacheReadDirs): diff --git a/fc-cat/fc-cat.c b/fc-cat/fc-cat.c index f466e3ec..0bcc4854 100644 --- a/fc-cat/fc-cat.c +++ b/fc-cat/fc-cat.c @@ -396,6 +396,7 @@ main (int argc, char **argv) FcFontSet *fs = FcFontSetCreate(); FcStrSet *dirs = FcStrSetCreate(); char *name_buf; + FcConfig *config; #if HAVE_GETOPT_LONG while ((c = getopt_long (argc, argv, "fsVv?", longopts, NULL)) != -1) @@ -417,6 +418,14 @@ main (int argc, char **argv) i = 1; #endif + config = FcInitLoadConfig (); + if (!config) + { + fprintf (stderr, "%s: Can't init font config library\n", argv[0]); + return 1; + } + FcConfigSetCurrent (config); + if (i >= argc) usage (argv[0]); @@ -425,7 +434,7 @@ main (int argc, char **argv) char * dummy_name = (char *)FcStrPlus ((FcChar8 *)argv[i], (FcChar8 *)"/dummy"); if (!FcDirScanConfig (fs, dirs, 0, 0, - (const FcChar8 *)argv[i], FcFalse, 0)) + (const FcChar8 *)argv[i], FcFalse, config)) fprintf (stderr, "couldn't load font dir %s\n", argv[i]); else { |