Commit bedbbabb authored by Owen Taylor's avatar Owen Taylor Committed by Owen Taylor

Handle the end of the string properly when max_len is set. (#88545, Morten

Thu Jul 25 19:52:41 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/guniprop.c (real_tolower): Handle the
        end of the string properly when max_len is set.
        (#88545, Morten Welinder.) Rename the next_t
        variable to next_type to make cc-mode happy.

        * glib/gconvert.c (g_iconv_open): Fix missing
        label from previous commit.
parent 5bfdd206
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
Thu Jul 25 19:52:41 2002 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (real_tolower): Handle the
end of the string properly when max_len is set.
(#88545, Morten Welinder.) Rename the next_t
variable to next_type to make cc-mode happy.
* glib/gconvert.c (g_iconv_open): Fix missing
label from previous commit.
Thu Jul 25 19:41:03 2002 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_channel_get_flags): Fix
......
......@@ -135,6 +135,7 @@ g_iconv_open (const gchar *to_codeset,
goto out;
}
out:
return (cd == (iconv_t)-1) ? (GIConv)-1 : (GIConv)cd;
}
......
......@@ -758,17 +758,22 @@ real_tolower (const gchar *str,
}
else if (c == 0x03A3) /* GREEK CAPITAL LETTER SIGMA */
{
gunichar next_c = g_utf8_get_char (p);
int next_t = TYPE(next_c);
/* SIGMA mapps differently depending on whether it is
* final or not. The following simplified test would
* fail in the case of combining marks following the
* sigma, but I don't think that occurs in real text.
* The test here matches that in ICU.
*/
if (ISALPHA(next_t)) /* Lu,Ll,Lt,Lm,Lo */
val = 0x3c3; /* GREEK SMALL SIGMA */
if ((max_len < 0 || p < str + max_len) && *p)
{
gunichar next_c = g_utf8_get_char (p);
int next_type = TYPE(next_c);
/* SIGMA mapps differently depending on whether it is
* final or not. The following simplified test would
* fail in the case of combining marks following the
* sigma, but I don't think that occurs in real text.
* The test here matches that in ICU.
*/
if (ISALPHA(next_type)) /* Lu,Ll,Lt,Lm,Lo */
val = 0x3c3; /* GREEK SMALL SIGMA */
else
val = 0x3c2; /* GREEK SMALL FINAL SIGMA */
}
else
val = 0x3c2; /* GREEK SMALL FINAL SIGMA */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment