mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-15 12:08:04 +02:00
Fix left_len calculation in the from UTF-8 to UTF-8 case: left_len should
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net> * glib/giochannel.c (g_io_channel_write_chars): Fix left_len calculation in the from UTF-8 to UTF-8 case: left_len should be the number of bytes left in the input buffer rather than channel->write_buf. (#96373)
This commit is contained in:
parent
a488638747
commit
8024c07a0e
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-11-02 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
|
||||
* glib/giochannel.c (g_io_channel_write_chars): Fix left_len
|
||||
calculation in the from UTF-8 to UTF-8 case: left_len should
|
||||
be the number of bytes left in the input buffer rather than
|
||||
channel->write_buf. (#96373)
|
||||
|
||||
2002-10-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
|
||||
|
@ -2058,15 +2058,16 @@ reconvert:
|
||||
if (!g_utf8_validate (from_buf, try_len, &badchar))
|
||||
{
|
||||
gunichar try_char;
|
||||
gsize incomplete_len = from_buf + try_len - badchar;
|
||||
|
||||
left_len = from_buf + try_len - badchar;
|
||||
left_len = from_buf + from_buf_len - badchar;
|
||||
|
||||
try_char = g_utf8_get_char_validated (badchar, left_len);
|
||||
try_char = g_utf8_get_char_validated (badchar, incomplete_len);
|
||||
|
||||
switch (try_char)
|
||||
{
|
||||
case -2:
|
||||
g_assert (left_len < 6);
|
||||
g_assert (incomplete_len < 6);
|
||||
if (try_len == from_buf_len)
|
||||
{
|
||||
errnum = EINVAL;
|
||||
@ -2075,7 +2076,7 @@ reconvert:
|
||||
else
|
||||
{
|
||||
errnum = 0;
|
||||
err = (size_t) -1;
|
||||
err = (size_t) 0;
|
||||
}
|
||||
break;
|
||||
case -1:
|
||||
@ -2094,12 +2095,12 @@ reconvert:
|
||||
{
|
||||
err = (size_t) 0;
|
||||
errnum = 0;
|
||||
left_len = 0;
|
||||
left_len = from_buf_len - try_len;
|
||||
}
|
||||
|
||||
g_string_append_len (channel->write_buf, from_buf,
|
||||
try_len - left_len);
|
||||
from_buf += try_len - left_len;
|
||||
from_buf_len - left_len);
|
||||
from_buf += from_buf_len - left_len;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user