diff --git a/src/fcmatch.c b/src/fcmatch.c index 422bc38..92e4a66 100644 --- a/src/fcmatch.c +++ b/src/fcmatch.c @@ -501,11 +501,11 @@ FcFontSetMatchInternal (FcConfig *config, printf ("\n"); FcPatternPrint (best); } - if (!best) - { - *result = FcResultNoMatch; - return 0; - } + /* assuming that 'result' is initialized with FcResultNoMatch + * outside this function */ + if (best) + *result = FcResultMatch; + return best; } @@ -522,6 +522,8 @@ FcFontSetMatch (FcConfig *config, assert (p != NULL); assert (result != NULL); + *result = FcResultNoMatch; + if (!config) { config = FcConfigGetCurrent (); @@ -547,6 +549,8 @@ FcFontMatch (FcConfig *config, assert (p != NULL); assert (result != NULL); + *result = FcResultNoMatch; + if (!config) { config = FcConfigGetCurrent (); @@ -826,6 +830,9 @@ FcFontSetSort (FcConfig *config, printf ("First font "); FcPatternPrint (ret->fonts[0]); } + if (ret->nfont > 0) + *result = FcResultMatch; + return ret; bail2: @@ -849,6 +856,8 @@ FcFontSort (FcConfig *config, assert (p != NULL); assert (result != NULL); + *result = FcResultNoMatch; + if (!config) { config = FcConfigGetCurrent ();