src/protocols/msn/notification.c

changeset 9194
1ff43e1a77e5
parent 9193
6e76f1367896
child 9197
3c9b907b45a7
--- a/src/protocols/msn/notification.c	Sun Jun 06 02:39:08 2004 +0000
+++ b/src/protocols/msn/notification.c	Sun Jun 06 03:19:41 2004 +0000
@@ -444,6 +444,7 @@
 	MsnUser *user;
 	MsnObject *msnobj;
 	int status = 0;
+	int idle = 0;
 	const char *state, *passport, *friendly;
 	GaimBuddy *b;
 
@@ -473,7 +474,10 @@
 	if (!g_ascii_strcasecmp(state, "BSY"))
 		status |= UC_UNAVAILABLE | (MSN_BUSY << 1);
 	else if (!g_ascii_strcasecmp(state, "IDL"))
+	{
 		status |= UC_UNAVAILABLE | (MSN_IDLE << 1);
+		idle = -1;
+	}
 	else if (!g_ascii_strcasecmp(state, "BRB"))
 		status |= UC_UNAVAILABLE | (MSN_BRB << 1);
 	else if (!g_ascii_strcasecmp(state, "AWY"))
@@ -483,7 +487,7 @@
 	else if (!g_ascii_strcasecmp(state, "LUN"))
 		status |= UC_UNAVAILABLE | (MSN_LUNCH << 1);
 
-	serv_got_update(gc, passport, 1, 0, 0, 0, status);
+	serv_got_update(gc, passport, 1, 0, 0, idle, status);
 }
 
 static void
@@ -512,6 +516,7 @@
 	const char *passport;
 	const char *friendly;
 	int status = 0;
+	int idle = 0;
 
 	session = cmdproc->session;
 	gc = session->account->gc;
@@ -536,7 +541,10 @@
 	if (!g_ascii_strcasecmp(state, "BSY"))
 		status |= UC_UNAVAILABLE | (MSN_BUSY << 1);
 	else if (!g_ascii_strcasecmp(state, "IDL"))
+	{
 		status |= UC_UNAVAILABLE | (MSN_IDLE << 1);
+		idle = -1;
+	}
 	else if (!g_ascii_strcasecmp(state, "BRB"))
 		status |= UC_UNAVAILABLE | (MSN_BRB << 1);
 	else if (!g_ascii_strcasecmp(state, "AWY"))
@@ -546,7 +554,7 @@
 	else if (!g_ascii_strcasecmp(state, "LUN"))
 		status |= UC_UNAVAILABLE | (MSN_LUNCH << 1);
 
-	serv_got_update(gc, passport, 1, 0, 0, 0, status);
+	serv_got_update(gc, passport, 1, 0, 0, idle, status);
 }
 
 static void
@@ -1130,16 +1138,11 @@
 	MsnCmdProc *cmdproc;
 	cmdproc = notification->servconn->cmdproc;
 
-	if (group_id >= 0)
-	{
-		msn_cmdproc_send(cmdproc, "ADD", "%s %s %s %d", list, who,
-						 store_name, group_id);
-	}
-	else
-	{
-		msn_cmdproc_send(cmdproc, "ADD", "%s %s %s", list, who,
-						 store_name);
-	}
+	if (group_id < 0)
+		group_id = 0;
+
+	msn_cmdproc_send(cmdproc, "ADD", "%s %s %s %d",
+					 list, who, store_name, group_id);
 }
 
 void
@@ -1181,6 +1184,7 @@
 	msn_table_add_cmd(cbs_table, "REA", "REA", rea_cmd);
 	/* msn_table_add_cmd(cbs_table, "PRP", "PRP", prp_cmd); */
 	/* msn_table_add_cmd(cbs_table, "BLP", "BLP", blp_cmd); */
+	msn_table_add_cmd(cbs_table, "BLP", "BLP", NULL);
 	msn_table_add_cmd(cbs_table, "REG", "REG", reg_cmd);
 	msn_table_add_cmd(cbs_table, "ADG", "ADG", adg_cmd);
 	msn_table_add_cmd(cbs_table, "RMG", "RMG", rmg_cmd);
@@ -1204,7 +1208,7 @@
 	msn_table_add_cmd(cbs_table, NULL, "RNG", rng_cmd);
 
 	msn_table_add_cmd(cbs_table, NULL, "URL", url_cmd);
-	
+
 	/* msn_table_add_cmd(cbs_table, NULL, "XFR", xfr_cmd); */
 
 	msn_table_add_error(cbs_table, "ADD", add_error);

mercurial