Supposed fix for g_io_channel_read() deprecation

This commit is contained in:
Berke Viktor 2012-07-21 16:16:00 +02:00
parent 0e3fbb01d7
commit d559401c50
2 changed files with 18 additions and 3 deletions

View File

@ -212,7 +212,19 @@ xchat_dummy (xchat_plugin *ph)
static int static int
xchat_read_fd (xchat_plugin *ph, GIOChannel *source, char *buf, int *len) xchat_read_fd (xchat_plugin *ph, GIOChannel *source, char *buf, int *len)
{ {
return g_io_channel_read (source, buf, *len, len); GError *error = NULL;
g_io_channel_set_buffered (source, FALSE);
g_io_channel_set_encoding (source, NULL, &error);
if (g_io_channel_read_chars (source, buf, *len, (gsize*)len, &error) == G_IO_STATUS_NORMAL)
{
return 0;
}
else
{
return -1;
}
} }
#endif #endif

View File

@ -392,11 +392,14 @@ int
waitline2 (GIOChannel *source, char *buf, int bufsize) waitline2 (GIOChannel *source, char *buf, int bufsize)
{ {
int i = 0; int i = 0;
int len; gsize len;
GError *error = NULL;
while (1) while (1)
{ {
if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE) g_io_channel_set_buffered (source, FALSE);
g_io_channel_set_encoding (source, NULL, &error);
if (g_io_channel_read_chars (source, &buf[i], 1, &len, &error) != G_IO_STATUS_NORMAL)
return -1; return -1;
if (buf[i] == '\n' || bufsize == i + 1) if (buf[i] == '\n' || bufsize == i + 1)
{ {