aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2007-10-10 23:15:59 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2007-10-10 23:15:59 +0100
commit118638279f7a39422d9e07365b380fa773c5243e (patch)
tree6ea4e03cb3ea0849cd2425c156790ddfd028aee4 /protocols/nogaim.c
parent8c2008ec2944c3eee13a25656cbd715f352ba4ed (diff)
Made the netsplit-like quit messages optional.
Diffstat (limited to 'protocols/nogaim.c')
-rw-r--r--protocols/nogaim.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index 9ebd048e..d7b26b74 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -585,8 +585,20 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,
( ( ( u->online != oo ) && !u->away ) || /* Voice joining people */
( ( u->online == oo ) && ( oa == !u->away ) ) ) ) /* (De)voice people changing state */
{
- irc_write( ic->irc, ":%s MODE %s %cv %s", ic->irc->myhost,
- ic->irc->channel, u->away?'-':'+', u->nick );
+ char *from;
+
+ if( set_getbool( &ic->irc->set, "simulate_netsplit" ) )
+ {
+ from = g_strdup( ic->irc->myhost );
+ }
+ else
+ {
+ from = g_strdup_printf( "%s!%s@%s", ic->irc->mynick, ic->irc->mynick,
+ ic->irc->myhost );
+ }
+ irc_write( ic->irc, ":%s MODE %s %cv %s", from, ic->irc->channel,
+ u->away?'-':'+', u->nick );
+ g_free( from );
}
}