summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--fc-cat/fc-cat.c11
2 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 737db03e..ecce9dee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
{