]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcxml.c
Add better error reporting when loading config file
[fontconfig.git] / src / fcxml.c
index 64a5269bebc70e1d2101e0c92cb50d7661604acb..06f1112a9955ad357e5cd46e9bc8378497afadea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $XFree86: xc/lib/fontconfig/src/fcxml.c,v 1.3 2002/02/18 22:29:28 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcxml.c,v 1.5 2002/02/22 18:54:07 keithp Exp $
  *
  * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
  *
@@ -1097,9 +1097,13 @@ FcPopExpr (FcConfigParse *parse)
        break;
     case FcVStackString:
     case FcVStackFamily:
+       expr = FcExprCreateString (vstack->u.string);
+       break;
     case FcVStackField:
+       expr = FcExprCreateField ((char *) vstack->u.string);
+       break;
     case FcVStackConstant:
-       expr = FcExprCreateString (vstack->u.string);
+       expr = FcExprCreateConst (vstack->u.string);
        break;
     case FcVStackPrefer:
     case FcVStackAccept:
@@ -1592,12 +1596,22 @@ FcConfigParseAndLoad (FcConfig      *config,
     do {
        buf = XML_GetBuffer (p, BUFSIZ);
        if (!buf)
+       {
+           FcConfigError (&parse, "cannot get parse buffer");
            goto bail3;
+       }
        len = fread (buf, 1, BUFSIZ, f);
        if (len < 0)
+       {
+           FcConfigError (&parse, "failed reading config file");
            goto bail3;
+       }
        if (!XML_ParseBuffer (p, len, len == 0))
+       {
+           FcConfigError (&parse, "%s", 
+                          XML_ErrorString (XML_GetErrorCode (p)));
            goto bail3;
+       }
     } while (len != 0);
     error = parse.error;
 bail3: