diff options
| author | ulim <a.sporto+bee@gmail.com> | 2007-12-04 02:08:43 +0100 | 
|---|---|---|
| committer | ulim <a.sporto+bee@gmail.com> | 2007-12-04 02:08:43 +0100 | 
| commit | 08135dff0e668622fc858d2ad8a7d0bdbdb8cb24 (patch) | |
| tree | d46ae0a920d1db0a9f710cb916657ae549db31cb /irc.c | |
| parent | fa30fa598d2e77c998f9156d0f31ccf99b0c781f (diff) | |
| parent | aaf92a9eb64327892e39fdbd7113d797d1d68cec (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.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 ) | 
