aboutsummaryrefslogtreecommitdiffstats
path: root/lib/misc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2011-07-02 12:34:42 -0400
committerWilmer van der Gaast <wilmer@gaast.net>2011-07-02 12:34:42 -0400
commitf5da476cbc9d22de96e154016fec21f6110dcd41 (patch)
tree36ddda71a4bb331872128e9cbcf9b933ce5c3b69 /lib/misc.c
parent9e7a566e5c98d697636cf9e96cd38cb32d18a6d7 (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.c8
1 files changed, 4 insertions, 4 deletions
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