diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2011-07-02 12:34:42 -0400 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2011-07-02 12:34:42 -0400 |
commit | f5da476cbc9d22de96e154016fec21f6110dcd41 (patch) | |
tree | 36ddda71a4bb331872128e9cbcf9b933ce5c3b69 /lib/misc.c | |
parent | 9e7a566e5c98d697636cf9e96cd38cb32d18a6d7 (diff) |
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.
Diffstat (limited to 'lib/misc.c')
-rw-r--r-- | lib/misc.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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 |