Fix corner-cases of upper/lowercase conversion. (#418217, Denis Jacquerye)

2007-03-22  Matthias Clasen  <mclasen@redhat.com> 

        * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
        (#418217, Denis Jacquerye)



svn path=/branches/glib-2-12/; revision=5434
This commit is contained in:
Matthias Clasen 2007-03-23 00:18:36 +00:00 committed by Matthias Clasen
parent e5454d95a6
commit 6ef011e5f7
2 changed files with 18 additions and 11 deletions

View File

@ -1,3 +1,10 @@
2007-03-22 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
(#418217, Denis Jacquerye)
2007-03-22 Chris Wilson <chris@chris-wilson.co.uk>
Merge from trunk:

View File

@ -506,16 +506,14 @@ g_unichar_toupper (gunichar c)
if (val >= 0x1000000)
{
const gchar *p = special_case_table + val - 0x1000000;
return g_utf8_get_char (p);
val = 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. */
* zero.
*/
return val ? val : c;
}
}
else if (t == G_UNICODE_TITLECASE_LETTER)
{
unsigned int i;
@ -589,9 +587,11 @@ g_unichar_totitle (gunichar c)
|| 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;
}
/**