--- 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);