diff options
-rw-r--r-- | account.c | 3 | ||||
-rw-r--r-- | irc.c | 8 | ||||
-rw-r--r-- | protocols/nogaim.c | 31 | ||||
-rw-r--r-- | protocols/nogaim.h | 8 | ||||
-rw-r--r-- | protocols/oscar/oscar.c | 4 | ||||
-rw-r--r-- | protocols/ssl_nss.c | 12 | ||||
-rw-r--r-- | root_commands.c | 7 |
7 files changed, 24 insertions, 49 deletions
@@ -166,7 +166,8 @@ void account_on( irc_t *irc, account_t *a ) void account_off( irc_t *irc, account_t *a ) { - account_offline( a->gc ); + a->gc->wants_to_die = TRUE; + signoff( a->gc ); a->gc = NULL; if( a->reconnect ) { @@ -232,10 +232,12 @@ void irc_free(irc_t * irc) irc_connection_list = g_slist_remove( irc_connection_list, irc ); for (account = irc->accounts; account; account = account->next) { - if (account->gc) - account_offline(account->gc); - else if (account->reconnect) + if (account->gc) { + account->gc->wants_to_die = TRUE; + signoff(account->gc); + } else if (account->reconnect) { cancel_auto_reconnect(account); + } } g_free(irc->sendbuffer); diff --git a/protocols/nogaim.c b/protocols/nogaim.c index fb9c7986..51d08e5a 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -359,17 +359,6 @@ void account_online( struct gaim_connection *gc ) /* Also necessary when we're not away, at least for some of the protocols. */ proto_away( gc, u->away ); - - if( strcmp( gc->prpl->name, "ICQ" ) == 0 ) - { - for( u = gc->irc->users; u; u = u->next ) - if( u->gc == gc ) - break; - - if( u == NULL ) - serv_got_crap( gc, "\x02""***\x02"" BitlBee now supports ICQ server-side contact lists. " - "See \x02""help import_buddies\x02"" for more information." ); - } } gboolean auto_reconnect( gpointer data ) @@ -388,12 +377,6 @@ void cancel_auto_reconnect( account_t *a ) a->reconnect = 0; } -void account_offline( struct gaim_connection *gc ) -{ - gc->wants_to_die = TRUE; - signoff( gc ); -} - void signoff( struct gaim_connection *gc ) { irc_t *irc = gc->irc; @@ -961,20 +944,6 @@ static int remove_chat_buddy_silent( struct conversation *b, char *handle ) } -/* prefs.c */ - -/* Necessary? */ -void build_block_list() -{ - return; -} - -void build_allow_list() -{ - return; -} - - /* Misc. BitlBee stuff which shouldn't really be here */ struct conversation *conv_findchannel( char *channel ) diff --git a/protocols/nogaim.h b/protocols/nogaim.h index 4699f69f..4251fbaa 100644 --- a/protocols/nogaim.h +++ b/protocols/nogaim.h @@ -211,7 +211,6 @@ G_MODULE_EXPORT void hide_login_progress( struct gaim_connection *gc, char *msg G_MODULE_EXPORT void hide_login_progress_error( struct gaim_connection *gc, char *msg ); G_MODULE_EXPORT void serv_got_crap( struct gaim_connection *gc, char *format, ... ); G_MODULE_EXPORT void account_online( struct gaim_connection *gc ); -G_MODULE_EXPORT void account_offline( struct gaim_connection *gc ); G_MODULE_EXPORT void signoff( struct gaim_connection *gc ); /* dialogs.c */ @@ -219,11 +218,8 @@ G_MODULE_EXPORT void do_error_dialog( struct gaim_connection *gc, char *msg, cha G_MODULE_EXPORT void do_ask_dialog( struct gaim_connection *gc, char *msg, void *data, void *doit, void *dont ); /* list.c */ -G_MODULE_EXPORT int bud_list_cache_exists( struct gaim_connection *gc ); -G_MODULE_EXPORT void do_import( struct gaim_connection *gc, void *null ); G_MODULE_EXPORT void add_buddy( struct gaim_connection *gc, char *group, char *handle, char *realname ); G_MODULE_EXPORT struct buddy *find_buddy( struct gaim_connection *gc, char *handle ); -G_MODULE_EXPORT void do_export( struct gaim_connection *gc ); G_MODULE_EXPORT void signoff_blocked( struct gaim_connection *gc ); G_MODULE_EXPORT void serv_buddy_rename( struct gaim_connection *gc, char *handle, char *realname ); @@ -244,10 +240,6 @@ G_MODULE_EXPORT struct conversation *serv_got_joined_chat( struct gaim_connectio G_MODULE_EXPORT void serv_got_chat_in( struct gaim_connection *gc, int id, char *who, int whisper, char *msg, time_t mtime ); G_MODULE_EXPORT void serv_got_chat_left( struct gaim_connection *gc, int id ); -/* prefs.c */ -G_MODULE_EXPORT void build_block_list(); -G_MODULE_EXPORT void build_allow_list(); - struct conversation *conv_findchannel( char *channel ); #endif diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 3342fa42..53da1e27 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -2057,7 +2057,6 @@ static int gaim_ssi_parselist(aim_session_t *sess, aim_frame_t *fr, ...) { char *name; name = g_strdup(normalize(curitem->name)); gc->permit = g_slist_append(gc->permit, name); - build_allow_list(); tmp++; } } @@ -2071,7 +2070,6 @@ static int gaim_ssi_parselist(aim_session_t *sess, aim_frame_t *fr, ...) { char *name; name = g_strdup(normalize(curitem->name)); gc->deny = g_slist_append(gc->deny, name); - build_block_list(); tmp++; } } @@ -2277,7 +2275,7 @@ static int gaim_icqinfo(aim_session_t *sess, aim_frame_t *fr, ...) struct tm tm; tm.tm_mday = (int)info->birthday; tm.tm_mon = (int)info->birthmonth-1; - tm.tm_year = (int)info->birthyear-1900; + tm.tm_year = (int)info->birthyear%100; strftime(date, sizeof(date), "%Y-%m-%d", &tm); info_string_append(str, "\n", _("Birthday"), date); } diff --git a/protocols/ssl_nss.c b/protocols/ssl_nss.c index dfd32622..00d32834 100644 --- a/protocols/ssl_nss.c +++ b/protocols/ssl_nss.c @@ -121,10 +121,10 @@ static void ssl_connected( gpointer data, gint source, GaimInputCondition cond ) if( source == -1 ) goto ssl_connected_failure; - - - + /* Until we find out how to handle non-blocking I/O with NSS... */ + sock_make_blocking( conn->fd ); + conn->prfd = SSL_ImportFD(NULL, PR_ImportTCPSocket(source)); SSL_OptionSet(conn->prfd, SSL_SECURITY, PR_TRUE); SSL_OptionSet(conn->prfd, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE); @@ -180,3 +180,9 @@ int ssl_getfd( void *conn ) { return( ((struct scd*)conn)->fd ); } + +GaimInputCondition ssl_getdirection( void *conn ) +{ + /* Just in case someone calls us, let's return the most likely case: */ + return GAIM_INPUT_READ; +} diff --git a/root_commands.c b/root_commands.c index 0b5f4da5..6d9868ac 100644 --- a/root_commands.c +++ b/root_commands.c @@ -57,6 +57,13 @@ void root_command_string( irc_t *irc, user_t *u, char *command, int flags ) s --; } } + else if( *s == '\\' && ( ( !q && s[1] ) || ( q && q == s[1] ) ) ) + { + char *cpy; + + for( cpy = s; *cpy; cpy ++ ) + cpy[0] = cpy[1]; + } else if( *s == q ) { q = *s = 0; |