plugins/yay/rxhandlers.c

changeset 1845
dee7f9d85ee1
parent 1836
f4d337f8500e
child 2010
712a8802bd31
--- a/plugins/yay/rxhandlers.c	Sat May 12 08:48:06 2001 +0000
+++ b/plugins/yay/rxhandlers.c	Sat May 12 09:49:21 2001 +0000
@@ -208,7 +208,7 @@
 {
 	char buf[256];
 	int type = yahoo_makeint(pkt->msgtype);
-	char *str_array[3];
+	char *str_array[4];
 	char *tmp;
 
 	switch(type) {
@@ -232,6 +232,32 @@
 		if (sess->callbacks[YAHOO_HANDLE_BOUNCE].function)
 			(*sess->callbacks[YAHOO_HANDLE_BOUNCE].function)(sess);
 		break;
+	case YAHOO_MESSAGE_OFFLINE:
+		tmp = pkt->content;
+		if ((tmp = strchr(tmp, ',')) == NULL)
+			break;
+		++tmp;
+		if ((tmp = strchr(tmp, ',')) == NULL)
+			break;
+		str_array[0] = ++tmp;
+		if ((tmp = strchr(tmp, ',')) == NULL)
+			break;
+		*tmp++ = '\0';
+		str_array[1] = tmp;
+		if ((tmp = strchr(tmp, ',')) == NULL)
+			break;
+		*tmp++ = '\0';
+		str_array[2] = tmp;
+		if ((tmp = strchr(tmp, ',')) == NULL)
+			break;
+		*tmp++ = '\0';
+		str_array[3] = tmp;
+		if (sess->callbacks[YAHOO_HANDLE_MESSAGE].function)
+			(*sess->callbacks[YAHOO_HANDLE_MESSAGE].function)(sess, str_array[0],
+									  str_array[1],
+									  atol(str_array[2]),
+									  str_array[3]);
+		break;
 	default:
 		g_snprintf(buf, sizeof(buf), "unhandled message type %d", type);
 		YAHOO_PRINT(sess, YAHOO_LOG_WARNING, buf);

mercurial