diff src/protocols/msn/msn.c @ 5318:bd98232872a3

[gaim-migrate @ 5690] Renaming a group on the buddy list now renames the group on the server-stored buddy list. Also, we updated to MSNP7 on the notification server as well! Yay! committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 06 May 2003 23:07:12 +0000
parents e2e53316a21d
children a4d017bee1de
line wrap: on
line diff
--- a/src/protocols/msn/msn.c	Tue May 06 22:42:00 2003 +0000
+++ b/src/protocols/msn/msn.c	Tue May 06 23:07:12 2003 +0000
@@ -748,6 +748,44 @@
 }
 
 static void
+msn_group_buddy(struct gaim_connection *gc, const char *who,
+				const char *old_group, const char *new_group)
+{
+	
+}
+
+static void
+msn_rename_group(struct gaim_connection *gc, const char *old_group,
+				 const char *new_group, GList *members)
+{
+	MsnSession *session = gc->proto_data;
+	char outparams[MSN_BUF_LEN];
+	int *group_id;
+
+	if (g_hash_table_lookup_extended(session->group_ids, old_group,
+									 NULL, (gpointer)&group_id)) {
+		g_snprintf(outparams, sizeof(outparams), "%d %s 0",
+				   *group_id, msn_url_encode(new_group));
+
+		if (!msn_servconn_send_command(session->notification_conn,
+									   "REG", outparams)) {
+			hide_login_progress(gc, _("Write error"));
+			signoff(gc);
+		}
+	}
+	else {
+		g_snprintf(outparams, sizeof(outparams), "%s 0",
+				   msn_url_encode(new_group));
+
+		if (!msn_servconn_send_command(session->notification_conn,
+									   "ADG", outparams)) {
+			hide_login_progress(gc, _("Write error"));
+			signoff(gc);
+		}
+	}
+}
+
+static void
 msn_buddy_free(struct buddy *b)
 {
 	if (b->proto_data != NULL)
@@ -833,8 +871,8 @@
 	NULL,
 	NULL,
 	NULL,
-	NULL,
-	NULL,
+	msn_group_buddy,
+	msn_rename_group,
 	msn_buddy_free,
 	msn_convo_closed,
 	msn_normalize