76 lines
1.8 KiB
Diff
76 lines
1.8 KiB
Diff
From 92ac054ce5e270f22a4f81a09522c3f03b76c876 Mon Sep 17 00:00:00 2001
|
|
From: Akira TAGOH <akira@tagoh.org>
|
|
Date: Thu, 22 Mar 2012 19:15:27 +0900
|
|
Subject: [PATCH] fcmatch: Set FcResultMatch at the end if the return value is
|
|
valid.
|
|
|
|
In the previous code, the result of 'result' in the argument for
|
|
FcFontSetSort() and FcFontSetMatch() wasn't predictable and not reliable to
|
|
check if the return value is valid or not. this change is to ensure if it's
|
|
performed successfully.
|
|
---
|
|
src/fcmatch.c | 19 ++++++++++++++-----
|
|
1 files changed, 14 insertions(+), 5 deletions(-)
|
|
|
|
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 ();
|
|
--
|
|
1.7.7.6
|
|
|