From a15ac5d3840552528874f1d5ad166eb00906ce80 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 20 Jun 2011 11:32:46 -0400 Subject: [PATCH] Switch fc-match to use FcPatternFormat() Fix small bug in FcPatternFormat that was letting element-default to consume the convertor sequence. --- fc-match/fc-match.c | 38 +++++++++----------------------------- src/fcformat.c | 2 +- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/fc-match/fc-match.c b/fc-match/fc-match.c index 48ba6cf..e64b4bc 100644 --- a/fc-match/fc-match.c +++ b/fc-match/fc-match.c @@ -195,6 +195,14 @@ main (int argc, char **argv) } FcPatternDestroy (pat); + if (!format) + { + if (os) + format = "%{=unparse}\n"; + else + format = "%{=fcmatch}\n"; + } + if (fs) { int j; @@ -209,7 +217,7 @@ main (int argc, char **argv) { FcPatternPrint (font); } - else if (format) + else { FcChar8 *s; @@ -220,34 +228,6 @@ main (int argc, char **argv) free (s); } } - else if (os) - { - FcChar8 *str; - str = FcNameUnparse (font); - printf ("%s\n", str); - free (str); - } - else - { - FcChar8 *family; - FcChar8 *style; - FcChar8 *file; - - if (FcPatternGetString (font, FC_FILE, 0, &file) != FcResultMatch) - file = (FcChar8 *) ""; - else - { - FcChar8 *slash = (FcChar8 *) strrchr ((char *) file, '/'); - if (slash) - file = slash+1; - } - if (FcPatternGetString (font, FC_FAMILY, 0, &family) != FcResultMatch) - family = (FcChar8 *) ""; - if (FcPatternGetString (font, FC_STYLE, 0, &style) != FcResultMatch) - style = (FcChar8 *) ""; - - printf ("%s: \"%s\" \"%s\"\n", file, family, style); - } FcPatternDestroy (font); } diff --git a/src/fcformat.c b/src/fcformat.c index 796957d..4a850ee 100644 --- a/src/fcformat.c +++ b/src/fcformat.c @@ -732,7 +732,7 @@ interpret_simple (FcFormatContext *c, c->word = c->word + strlen ((const char *) c->word) + 1; /* for now we just support 'default value' */ if (!expect_char (c, '-') || - !read_chars (c, '\0')) + !read_chars (c, '|')) { c->word = orig; return FcFalse; -- 2.39.5