diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-09-22 18:56:58 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-09-22 18:56:58 +0200 |
commit | 8d7429102adf8dce6844f2f3da2723d1f87c6442 (patch) | |
tree | 78a178e4798f8f11ac5590137efc0642aeea6378 /protocols/nogaim.c | |
parent | 59974884ba72d6e8fa008d07ee93bd228d30a99c (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.c | 5 |
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 ); |