diff options
author | ulim <a.sporto+bee@gmail.com> | 2007-12-05 02:30:50 +0100 |
---|---|---|
committer | ulim <a.sporto+bee@gmail.com> | 2007-12-05 02:30:50 +0100 |
commit | 8076ec04b1b5699f8266fa0e2e17456974ced554 (patch) | |
tree | c53680ef30c2368e99f396e5e147b9c08437e46e /irc.c | |
parent | dce390357114e30a424106c99e49cef1e682e1af (diff) | |
parent | 793cc254ad2479d95d00266d6cb7ab2bcd158834 (diff) |
merges from upstream/release
ulim 2007-12-04 Follow rename of jabber_chat_by_jid from upstrem
ulim 2007-12-04 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
ulim 2007-12-04 Jabber file transfer now also with sending! You can't use a proxy yet when
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.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -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 ) |