aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorulim <a.sporto+bee@gmail.com>2007-12-04 02:08:43 +0100
committerulim <a.sporto+bee@gmail.com>2007-12-04 02:08:43 +0100
commit08135dff0e668622fc858d2ad8a7d0bdbdb8cb24 (patch)
treed46ae0a920d1db0a9f710cb916657ae549db31cb /irc.c
parentfa30fa598d2e77c998f9156d0f31ccf99b0c781f (diff)
parentaaf92a9eb64327892e39fdbd7113d797d1d68cec (diff)
Merged in current devel
Wilmer van der Gaast 2007-12-02 Imported setuid() patch from Simo Leone <simo@archlinux...> with some Wilmer van der Gaast 2007-12-02 Forgot to return something in jabber_chat_join_failed(). Wilmer van der Gaast 2007-12-02 Merging a change I should've pulled before committing three other changes. Wilmer van der Gaast 2007-12-02 Added charset checks on incoming msgs (from the IRC side) to prevent possible Wilmer van der Gaast 2007-12-02 Handling of presence-error packets (only useful for groupchats now), moved Wilmer van der Gaast 2007-12-02 Defining DEBUG via CFLAGS so that it'll always be there, even when a file Wilmer van der Gaast 2007-12-02 Removed retarded printf() (ARGH) and moved the event handling handling of Wilmer van der Gaast 2007-11-29 printf() in daemons considered harmful. Wilmer van der Gaast 2007-11-28 Fixed the epoll+ForkDaemon combination. The libevent event handling
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/irc.c b/irc.c
index 96f75073..736ae863 100644
--- a/irc.c
+++ b/irc.c
@@ -323,11 +323,22 @@ void irc_process( irc_t *irc )
break;
}
- if( ( cs = set_getstr( &irc->set, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) )
+ if( ( cs = set_getstr( &irc->set, "charset" ) ) )
{
conv[IRC_MAX_LINE] = 0;
- if( do_iconv( cs, "UTF-8", lines[i], conv, 0, IRC_MAX_LINE - 2 ) != -1 )
- lines[i] = conv;
+ if( do_iconv( cs, "UTF-8", lines[i], conv, 0, IRC_MAX_LINE - 2 ) == -1 )
+ {
+ if( irc->status & USTATUS_LOGGED_IN )
+ irc_usermsg( irc, "ERROR: Charset mismatch detected. The charset "
+ "setting is currently set to %s, so please make "
+ "sure your IRC client will send and accept text in "
+ "that charset, or tell BitlBee which charset to "
+ "expect by changing the charset setting. See "
+ "`help set charset' for more information. Your "
+ "message was ignored.", cs );
+ *conv = 0;
+ }
+ lines[i] = conv;
}
if( ( cmd = irc_parse_line( lines[i] ) ) == NULL )