aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2008-03-21 00:39:16 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2008-03-21 00:39:16 +0000
commita83442a7c4dbf99937e9e5397e5665c671694161 (patch)
treef52d0c9569b786830719380c9a8dd3aac917dfe0
parent379c08a27e637dbcbbe3f39a8723daa765ad0e48 (diff)
Fixed handling of "set charset none". Fixes bug #373.
-rw-r--r--irc.c7
-rw-r--r--set.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/irc.c b/irc.c
index 3a09f684..3589256e 100644
--- a/irc.c
+++ b/irc.c
@@ -308,7 +308,7 @@ void irc_process( irc_t *irc )
break;
}
- if( ( cs = set_getstr( &irc->set, "charset" ) ) )
+ if( ( cs = set_getstr( &irc->set, "charset" ) ) && g_strcasecmp( cs, "none" ) != 0 )
{
conv[IRC_MAX_LINE] = 0;
if( do_iconv( cs, "UTF-8", lines[i], conv, 0, IRC_MAX_LINE - 2 ) == -1 )
@@ -329,7 +329,7 @@ void irc_process( irc_t *irc )
else
{
irc_write( irc, ":%s NOTICE AUTH :%s", irc->myhost,
- "Warning: invalid (non-UTF8) characters received at login time." );
+ "Warning: invalid characters received at login time." );
strncpy( conv, lines[i], IRC_MAX_LINE );
for( temp = conv; *temp; temp ++ )
@@ -553,7 +553,8 @@ void irc_vawrite( irc_t *irc, char *format, va_list params )
g_vsnprintf( line, IRC_MAX_LINE - 2, format, params );
strip_newlines( line );
- if( ( cs = set_getstr( &irc->set, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) )
+ if( ( cs = set_getstr( &irc->set, "charset" ) ) &&
+ g_strcasecmp( cs, "none" ) != 0 && g_strcasecmp( cs, "utf-8" ) != 0 )
{
char conv[IRC_MAX_LINE+1];
diff --git a/set.c b/set.c
index 6f09843b..90b29f91 100644
--- a/set.c
+++ b/set.c
@@ -234,7 +234,7 @@ char *set_eval_charset( set_t *set, char *value )
{
GIConv cd;
- if ( g_strncasecmp( value, "none", 4 ) == 0 )
+ if( g_strcasecmp( value, "none" ) == 0 )
return value;
cd = g_iconv_open( "UTF-8", value );