aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-09-22 18:56:58 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2006-09-22 18:56:58 +0200
commit8d7429102adf8dce6844f2f3da2723d1f87c6442 (patch)
tree78a178e4798f8f11ac5590137efc0642aeea6378 /protocols/nogaim.c
parent59974884ba72d6e8fa008d07ee93bd228d30a99c (diff)
Fixed return value on incomplete write()s in write handler, protection
against write()ing to sockets that are closed already, hopefully sane detection for SASL support, and only sending type=unavailable presence tag to logged in sessions.
Diffstat (limited to 'protocols/nogaim.c')
-rw-r--r--protocols/nogaim.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index 47e2bda6..ec87ccd5 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -279,6 +279,11 @@ void signoff( struct gaim_connection *gc )
user_t *t, *u = irc->users;
account_t *a;
+ /* Nested calls might happen sometimes, this is probably the best
+ place to catch them. */
+ if( gc->flags & OPT_LOGGING_OUT )
+ return;
+
serv_got_crap( gc, "Signing off.." );
b_event_remove( gc->keepalive );