diff src/protocols/msn/user.c @ 19818:2e078c892e0b

[gaim-migrate @ 17003] add the PSM processing need to store the PSM info to XML. Thanks for Chris <ukdrizzle@yahoo.co.uk> 's code! committed by MaYuan<mayuan2006@gmail.com> committer: Ethan Blanton <elb@pidgin.im>
author Ma Yuan <mayuan2006@gmail.com>
date Wed, 23 Aug 2006 15:07:17 +0000
parents da3f8f7ec3ce
children 1b6c631012d9
line wrap: on
line diff
--- a/src/protocols/msn/user.c	Tue Aug 22 16:13:43 2006 +0000
+++ b/src/protocols/msn/user.c	Wed Aug 23 15:07:17 2006 +0000
@@ -84,13 +84,19 @@
 
 	account = user->userlist->session->account;
 
-	if (user->status != NULL)
+	if (user->statusline != NULL) {
+		char *status = g_strdup_printf("%s - %s", user->status, user->statusline);
+		gaim_prpl_got_user_status(account, user->passport, user->status, "message", user->statusline, NULL);
+	}
+	else if (user->status != NULL) {
 		gaim_prpl_got_user_status(account, user->passport, user->status, NULL);
+	}
 
-	if (user->idle)
+	if (user->idle){
 		gaim_prpl_got_user_idle(account, user->passport, TRUE, -1);
-	else
+	}else{
 		gaim_prpl_got_user_idle(account, user->passport, FALSE, 0);
+	}
 }
 
 void
@@ -138,6 +144,15 @@
 }
 
 void
+msn_user_set_statusline(MsnUser *user, const char *statusline)
+{
+	g_return_if_fail(user != NULL);
+
+	g_free(user->statusline);
+	user->statusline = g_strdup(statusline);
+}
+
+void
 msn_user_set_store_name(MsnUser *user, const char *name)
 {
 	g_return_if_fail(user != NULL);