| 229 PurpleAccount *account = purple_connection_get_account(js->gc); |
229 PurpleAccount *account = purple_connection_get_account(js->gc); |
| 230 GSList *list = account->deny; |
230 GSList *list = account->deny; |
| 231 const char *jid = xmlnode_get_attrib(item, "jid"); |
231 const char *jid = xmlnode_get_attrib(item, "jid"); |
| 232 gboolean on_block_list = FALSE; |
232 gboolean on_block_list = FALSE; |
| 233 |
233 |
| 234 char *jid_norm = g_strdup(jabber_normalize(account, jid)); |
234 char *jid_norm; |
| 235 |
235 |
| 236 const char *grt = xmlnode_get_attrib_with_namespace(item, "t", "google:roster"); |
236 const char *grt = xmlnode_get_attrib_with_namespace(item, "t", "google:roster"); |
| 237 const char *subscription = xmlnode_get_attrib(item, "subscription"); |
237 const char *subscription = xmlnode_get_attrib(item, "subscription"); |
| 238 |
238 |
| 239 if (!subscription || !strcmp(subscription, "none")) { |
239 if (!subscription || !strcmp(subscription, "none")) { |
| 240 /* The Google Talk servers will automatically add people from your Gmail address book |
240 /* The Google Talk servers will automatically add people from your Gmail address book |
| 241 * with subscription=none. If we see someone with subscription=none, ignore them. |
241 * with subscription=none. If we see someone with subscription=none, ignore them. |
| 242 */ |
242 */ |
| 243 return FALSE; |
243 return FALSE; |
| 244 } |
244 } |
| |
245 |
| |
246 jid_norm = g_strdup(jabber_normalize(account, jid)); |
| 245 |
247 |
| 246 while (list) { |
248 while (list) { |
| 247 if (!strcmp(jid_norm, (char*)list->data)) { |
249 if (!strcmp(jid_norm, (char*)list->data)) { |
| 248 on_block_list = TRUE; |
250 on_block_list = TRUE; |
| 249 break; |
251 break; |