src/protocols/zephyr/zephyr.c

changeset 5234
8320a1cb0274
parent 5205
242b8aa81328
child 5436
a0e0bacaa196
--- a/src/protocols/zephyr/zephyr.c	Sat Apr 26 20:05:01 2003 +0000
+++ b/src/protocols/zephyr/zephyr.c	Sat Apr 26 20:30:43 2003 +0000
@@ -882,20 +882,23 @@
 
 	pce = g_new0(struct proto_chat_entry, 1);
 	pce->label = _("Class:");
+	pce->identifier = "class";
 	m = g_list_append(m, pce);
 
 	pce = g_new0(struct proto_chat_entry, 1);
 	pce->label = _("Instance:");
+	pce->identifier = "instance";
 	m = g_list_append(m, pce);
 
 	pce = g_new0(struct proto_chat_entry, 1);
 	pce->label = _("Recipient:");
+	pce->identifier = "recipient";
 	m = g_list_append(m, pce);
 
 	return m;
 }
 
-static void zephyr_join_chat(struct gaim_connection *gc, GList *data)
+static void zephyr_join_chat(struct gaim_connection *gc, GHashTable *data)
 {
 	ZSubscription_t sub;
 	zephyr_triple *zt1, *zt2;
@@ -903,12 +906,13 @@
 	const char *instname;
 	const char *recip;
 
-	if (!data || !data->next || !data->next->next)
+	classname = g_hash_table_lookup(data, "class");
+	instname = g_hash_table_lookup(data, "instance");
+	recip = g_hash_table_lookup(data, "recipient");
+
+	if (!classname || !instname || !recip)
 		return;
 
-	classname = data->data;
-	instname = data->next->data;
-	recip = data->next->next->data;
 	if (!g_ascii_strcasecmp(recip, "%me%"))
 		recip = ZGetSender();
 

mercurial