summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-04-28 15:14:47 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-04-28 15:14:47 +0000
commit73747bd0e4599b0777149215b6ae2a982e1166d9 (patch)
tree5371ab51d9ae9708c632eceacbbf180dc9e0d7db
parent328a89098e50c5d007c57467d7b143ca8d28ca9f (diff)
downloadpango-73747bd0e4599b0777149215b6ae2a982e1166d9.tar.gz
Bug 339749 – pango_language_from_string issues Patch from Morten
2006-04-28 Behdad Esfahbod <behdad@gnome.org> Bug 339749 – pango_language_from_string issues Patch from Morten Welinder. * pango/pango-utils.c (lang_equal): Make the equal function symmetric.
-rw-r--r--ChangeLog7
-rw-r--r--pango/pango-utils.c14
2 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index e1a13a94..8fb678d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2006-04-28 Behdad Esfahbod <behdad@gnome.org>
+ Bug 339749 – pango_language_from_string issues
+ Patch from Morten Welinder.
+
+ * pango/pango-utils.c (lang_equal): Make the equal function symmetric.
+
+2006-04-28 Behdad Esfahbod <behdad@gnome.org>
+
* pango/pangofc-font.c (get_face_metrics),
(pango_fc_font_get_raw_extents): Don't use is_hinted. Metrics are
always hinted now.
diff --git a/pango/pango-utils.c b/pango/pango-utils.c
index 2e3b95a5..8f04a709 100644
--- a/pango/pango-utils.c
+++ b/pango/pango-utils.c
@@ -1171,15 +1171,17 @@ lang_equal (gconstpointer v1,
const guchar *p1 = v1;
const guchar *p2 = v2;
- while (*p2)
+ while (*p1 && *p2)
{
- guchar value = canon_map[*p2];
- if (value && value != *p1++)
- return FALSE;
- p2++;
+ guchar c1 = canon_map[*p1];
+ guchar c2 = canon_map[*p2];
+ if (!c1) { p1++; continue; }
+ if (!c2) { p2++; continue; }
+ if (c1 != c2) return FALSE;
+ p1++, p2++;
}
- return (*p1 == '\0');
+ return (*p1 == *p2);
}
static guint