diff --git a/glib/gunidecomp.c b/glib/gunidecomp.c index df5a6277d..fe76ec363 100644 --- a/glib/gunidecomp.c +++ b/glib/gunidecomp.c @@ -696,9 +696,12 @@ g_unichar_compose (gunichar a, * The decomposed sequence is placed in @result. Only up to * @result_len characters are written into @result. The length * of the full decomposition (irrespective of @result_len) is - * returned by the function. For canonical decomposition, a - * result buffer of length 4 is always enough, whereas for - * compatibility decomposition, a buffer of 18 is enough. + * returned by the function. For canonical decomposition, + * currently all decompositions are of length at most 4, but + * this may change in the future (very unlikely though). + * At any rate, Unicode does guarantee that a buffer of length + * 18 is always enough for both compatibility and canonical + * decompositions. * * See UAX#15 * for details. diff --git a/glib/guniprop.c b/glib/guniprop.c index c22035c7b..55170d44d 100644 --- a/glib/guniprop.c +++ b/glib/guniprop.c @@ -855,7 +855,7 @@ real_toupper (const gchar *str, * which could simplify this considerably. */ gsize decomp_len, i; - gunichar decomp[4]; + gunichar decomp[18]; decomp_len = g_unichar_fully_decompose (c, FALSE, decomp, 4); for (i=0; i < decomp_len; i++)