diff options
author | Berke Viktor <bviktor@hexchat.org> | 2012-07-21 16:16:00 +0200 |
---|---|---|
committer | Berke Viktor <bviktor@hexchat.org> | 2012-07-21 16:16:00 +0200 |
commit | d559401c50690c65993b519bb2e28754e46dd179 (patch) | |
tree | 37bea57847c2c9814d79b47915a753192269310d /src/common/plugin.c | |
parent | 0e3fbb01d7f9608f37597df33a0833a6f7b3f173 (diff) |
Supposed fix for g_io_channel_read() deprecation
Diffstat (limited to 'src/common/plugin.c')
-rw-r--r-- | src/common/plugin.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/common/plugin.c b/src/common/plugin.c index 71e1ae61..d8211e82 100644 --- a/src/common/plugin.c +++ b/src/common/plugin.c @@ -212,7 +212,19 @@ xchat_dummy (xchat_plugin *ph) static int 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 |