Mercurial > pidgin
comparison libpurple/protocols/myspace/myspace.c @ 17955:9e8943111022
Show official client build in buddy profiles.
author | Jeffrey Connelly <jaconnel@calpoly.edu> |
---|---|
date | Thu, 19 Jul 2007 04:33:40 +0000 |
parents | 016f9b2d6ee0 |
children | 60f40fc52aa4 |
comparison
equal
deleted
inserted
replaced
17954:016f9b2d6ee0 | 17955:9e8943111022 |
---|---|
1088 g_free(enclosed_raw); | 1088 g_free(enclosed_raw); |
1089 | 1089 |
1090 return markup; | 1090 return markup; |
1091 } | 1091 } |
1092 | 1092 |
1093 /** Record the client version in the buddy list, from an incoming message. */ | |
1094 gboolean | |
1095 msim_incoming_bm_record_cv(MsimSession *session, MsimMessage *msg) | |
1096 { | |
1097 gchar *username, *cv; | |
1098 gboolean ret; | |
1099 PurpleBuddy *buddy; | |
1100 gchar *client_info; | |
1101 | |
1102 | |
1103 username = msim_msg_get_string(msg, "_username"); | |
1104 cv = msim_msg_get_string(msg, "cv"); | |
1105 | |
1106 g_return_val_if_fail(username != NULL, FALSE); | |
1107 g_return_val_if_fail(cv != NULL, FALSE); | |
1108 | |
1109 buddy = purple_find_buddy(session->account, username); | |
1110 | |
1111 if (buddy) | |
1112 { | |
1113 client_info = g_strdup_printf("MySpaceIM build %s", cv); | |
1114 | |
1115 purple_blist_node_set_string(&buddy->node, "client", client_info); | |
1116 /* Do not free client_info - blist owns */ | |
1117 ret = TRUE; | |
1118 } else { | |
1119 ret = FALSE; | |
1120 } | |
1121 | |
1122 g_free(username); | |
1123 g_free(cv); | |
1124 | |
1125 return ret; | |
1126 } | |
1127 | |
1093 /** Handle an incoming buddy message. */ | 1128 /** Handle an incoming buddy message. */ |
1094 gboolean | 1129 gboolean |
1095 msim_incoming_bm(MsimSession *session, MsimMessage *msg) | 1130 msim_incoming_bm(MsimSession *session, MsimMessage *msg) |
1096 { | 1131 { |
1097 guint bm; | 1132 guint bm; |
1098 | 1133 |
1099 bm = msim_msg_get_integer(msg, "bm"); | 1134 bm = msim_msg_get_integer(msg, "bm"); |
1100 | 1135 |
1101 if (msim_msg_get(msg, "cv")) | 1136 msim_incoming_bm_record_cv(session, msg); |
1102 { | |
1103 purple_debug_info("msim_incoming_bm", "cv=%s", | |
1104 msim_msg_get_string(msg, "cv")); | |
1105 } | |
1106 | 1137 |
1107 switch (bm) | 1138 switch (bm) |
1108 { | 1139 { |
1109 case MSIM_BM_STATUS: | 1140 case MSIM_BM_STATUS: |
1110 return msim_incoming_status(session, msg); | 1141 return msim_incoming_status(session, msg); |