From 209750a4e0a3e1d7b8c5c971e9e2cbd5770d959f Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 31 Dec 2012 20:11:12 -0600 Subject: [PATCH] Warn if appears in --- src/fccfg.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/fccfg.c b/src/fccfg.c index 1454f33..06f672b 100644 --- a/src/fccfg.c +++ b/src/fccfg.c @@ -164,7 +164,7 @@ FcConfigUptoDate (FcConfig *config) (font_time.set && (font_time.time - now) > 0)) { fprintf (stderr, - "Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected\n"); + "Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n"); config->rescanTime = now; return FcTrue; } @@ -870,7 +870,6 @@ static FcValue FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e) { FcValue v, vl, vr; - FcResult r; FcMatrix *m; FcChar8 *str; FcOp op = FC_OP_GET_OP (e->op); @@ -928,11 +927,21 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e) break; case FcOpField: if (kind == FcMatchFont && e->u.name.kind == FcMatchPattern) - r = FcPatternObjectGet (p_pat, e->u.name.object, 0, &v); - else - r = FcPatternObjectGet (p, e->u.name.object, 0, &v); - if (r != FcResultMatch) + { + if (FcResultMatch != FcPatternObjectGet (p_pat, e->u.name.object, 0, &v)) + v.type = FcTypeVoid; + } + else if (kind == FcMatchPattern && e->u.name.kind == FcMatchFont) + { + fprintf (stderr, + "Fontconfig warning: tag has target=\"font\" in a .\n"); v.type = FcTypeVoid; + } + else + { + if (FcResultMatch != FcPatternObjectGet (p, e->u.name.object, 0, &v)) + v.type = FcTypeVoid; + } v = FcValueSave (v); break; case FcOpConst: