diff options
Diffstat (limited to 'util.c')
| -rw-r--r-- | util.c | 26 | 
1 files changed, 9 insertions, 17 deletions
| @@ -38,14 +38,6 @@  #include <ctype.h>  #include <glib.h>  #include <time.h> -#ifdef GLIB2 -#define iconv_t GIConv -#define iconv_open g_iconv_open -#define iconv_close g_iconv_close -#define iconv g_iconv -#else -#include <iconv.h> -#endif  void strip_linefeed(gchar *text)  { @@ -464,21 +456,21 @@ char *ipv6_unwrap( char *src )  */  signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t size, size_t maxbuf )  { -	iconv_t cd; +	GIConv cd;  	size_t res;  	size_t inbytesleft, outbytesleft;  	char *inbuf = src;  	char *outbuf = dst; -	cd = iconv_open( to_cs, from_cs ); -	if( cd == (iconv_t) -1 ) +	cd = g_iconv_open( to_cs, from_cs ); +	if( cd == (GIConv) -1 )  		return( -1 );  	inbytesleft = size ? size : strlen( src );  	outbytesleft = maxbuf - 1; -	res = iconv( cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft ); +	res = g_iconv( cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft );  	*outbuf = '\0'; -	iconv_close( cd ); +	g_iconv_close( cd );  	if( res == (size_t) -1 )  		return( -1 ); @@ -488,15 +480,15 @@ signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t si  char *set_eval_charset( irc_t *irc, set_t *set, char *value )  { -	iconv_t cd; +	GIConv cd;  	if ( g_strncasecmp( value, "none", 4 ) == 0 )  		return( value ); -	cd = iconv_open( "UTF-8", value ); -	if( cd == (iconv_t) -1 ) +	cd = g_iconv_open( "UTF-8", value ); +	if( cd == (GIConv) -1 )  		return( NULL ); -	iconv_close( cd ); +	g_iconv_close( cd );  	return( value );  } | 
