+2007-03-22 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
+ (#418217, Denis Jacquerye)
+
2007-03-22 Chris Wilson <chris@chris-wilson.co.uk>
* glib/gkeyfile.c: Track whether the last key=value pair in a group
if (val >= 0x1000000)
{
const gchar *p = special_case_table + val - 0x1000000;
- return g_utf8_get_char (p);
- }
- else
- {
- /* Some lowercase letters, e.g., U+000AA, FEMININE ORDINAL INDICATOR,
- * do not have an uppercase equivalent, in which case val will be
- * zero. */
- return val ? val : c;
+ val = g_utf8_get_char (p);
}
+ /* Some lowercase letters, e.g., U+000AA, FEMININE ORDINAL INDICATOR,
+ * do not have an uppercase equivalent, in which case val will be
+ * zero.
+ */
+ return val ? val : c;
}
else if (t == G_UNICODE_TITLECASE_LETTER)
{
|| title_table[i][2] == c)
return title_table[i][0];
}
- return (TYPE (c) == G_UNICODE_LOWERCASE_LETTER
- ? ATTTABLE (c >> 8, c & 0xff)
- : c);
+
+ if (TYPE (c) == G_UNICODE_LOWERCASE_LETTER)
+ return g_unichar_toupper (c);
+
+ return c;
}
/**