From f5da476cbc9d22de96e154016fec21f6110dcd41 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sat, 2 Jul 2011 12:34:42 -0400 Subject: Fixed use of g_iconv() in do_iconv(). This was done wrong for ages and apparently screwed up charset handling in OSCAR pretty badly.. Found and fixed by dalias (#813). May or may not also fix other bugs. --- lib/misc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/misc.c') diff --git a/lib/misc.c b/lib/misc.c index 05192d9c..711b927c 100644 --- a/lib/misc.c +++ b/lib/misc.c @@ -399,7 +399,7 @@ signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t si cd = g_iconv_open( to_cs, from_cs ); if( cd == (GIConv) -1 ) - return( -1 ); + return -1; inbytesleft = size ? size : strlen( src ); outbytesleft = maxbuf - 1; @@ -407,10 +407,10 @@ signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t si *outbuf = '\0'; g_iconv_close( cd ); - if( res == (size_t) -1 ) - return( -1 ); + if( res != 0 ) + return -1; else - return( outbuf - dst ); + return outbuf - dst; } /* A pretty reliable random number generator. Tries to use the /dev/random -- cgit v1.2.3