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 ) | 
