src/protocols/napster/napster.c

changeset 9917
2fbb3c9fab2b
parent 9846
61f7349c153a
child 9927
7ae7d2accb3e
--- a/src/protocols/napster/napster.c	Mon Aug 30 23:13:28 2004 +0000
+++ b/src/protocols/napster/napster.c	Tue Aug 31 01:45:12 2004 +0000
@@ -161,6 +161,18 @@
 	nap_write_packet(gc, 303, "%s", buddy->name);
 }
 
+static char *nap_get_chat_name(GHashTable *data) {
+	char *name = g_hash_table_lookup(data, "group");
+	
+	/* Make sure the name has a # preceding it */
+	if (name[0] != '#') {
+		return g_strdup_printf("#%s", name);
+	}
+
+	return g_strdup(name);
+	
+}
+
 /* 400 - MSG_CLIENT_JOIN */
 static void nap_join_chat(GaimConnection *gc, GHashTable *data)
 {
@@ -169,13 +181,12 @@
 	if (!data)
 		return;
 
-	name = g_hash_table_lookup(data, "group");
+	name = nap_get_chat_name(data);
 
-	/* Make sure the name has a # preceding it */
-	if (name[0] != '#')
-		nap_write_packet(gc, 400, "#%s", name);
-	else
+	if (name) {
 		nap_write_packet(gc, 400, "%s", name);
+		g_free(name);
+	}
 }
 
 /* 401 - MSG_CLIENT_PART */
@@ -594,6 +605,7 @@
 	NULL,					/* warn */
 	nap_join_chat,			/* join_chat */
 	NULL,					/* reject chat invite */
+	nap_get_chat_name,		/* get_chat_name */
 	NULL,					/* chat_invite */
 	nap_chat_leave,			/* chat_leave */
 	NULL,					/* chat_whisper */

mercurial