src/fcxml.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) New commits: commit 6047ce7b9fb793da4e693e3777bbd3e1baf3146e Author: Behdad Esfahbod <behdad@xxxxxxxxxx> Date: Wed Jan 2 01:31:34 2013 -0600 Warn about undefined/invalid attributes during config parsing diff --git a/src/fcxml.c b/src/fcxml.c index 8c934f5..1963cba 100644 --- a/src/fcxml.c +++ b/src/fcxml.c @@ -1092,10 +1092,26 @@ FcPStackPop (FcConfigParse *parse) FcConfigMessage (parse, FcSevereError, "mismatching element"); return FcFalse; } + + if (parse->pstack->attr) + { + /* Warn about unused attrs. */ + FcChar8 **attrs = parse->pstack->attr; + while (*attrs) + { + if (attrs[0][0]) + { + FcConfigMessage (parse, FcSevereError, "invalid attribute '%s'", attrs[0]); + } + attrs += 2; + } + } + FcVStackClear (parse); old = parse->pstack; parse->pstack = old->prev; FcStrBufDestroy (&old->str); + if (old->attr && old->attr != old->attr_buf_static) free (old->attr); @@ -1141,7 +1157,10 @@ FcConfigGetAttribute (FcConfigParse *parse, const char *attr) while (*attrs) { if (!strcmp ((char *) *attrs, attr)) + { + attrs[0][0] = '\0'; /* Mark as used. */ return attrs[1]; + } attrs += 2; } return 0; _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig