libpurple/protocols/facebook/api.c

changeset 38389
36e7d457c3d1
parent 38388
24fcaf625943
child 38390
44e088051f69
equal deleted inserted replaced
38388:24fcaf625943 38389:36e7d457c3d1
2598 FbApiPrivate *priv = api->priv; 2598 FbApiPrivate *priv = api->priv;
2599 FbApiUser *user; 2599 FbApiUser *user;
2600 FbId uid; 2600 FbId uid;
2601 FbJsonValues *values; 2601 FbJsonValues *values;
2602 gboolean haself = FALSE; 2602 gboolean haself = FALSE;
2603 guint num_users = 0;
2603 GError *err = NULL; 2604 GError *err = NULL;
2604 2605
2605 values = fb_json_values_new(root); 2606 values = fb_json_values_new(root);
2606 fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, 2607 fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE,
2607 "$.thread_key.thread_fbid"); 2608 "$.thread_key.thread_fbid");
2633 fb_json_values_set_array(values, TRUE, "$.all_participants.nodes"); 2634 fb_json_values_set_array(values, TRUE, "$.all_participants.nodes");
2634 2635
2635 while (fb_json_values_update(values, &err)) { 2636 while (fb_json_values_update(values, &err)) {
2636 str = fb_json_values_next_str(values, "0"); 2637 str = fb_json_values_next_str(values, "0");
2637 uid = FB_ID_FROM_STR(str); 2638 uid = FB_ID_FROM_STR(str);
2639 num_users++;
2638 2640
2639 if (uid != priv->uid) { 2641 if (uid != priv->uid) {
2640 user = fb_api_user_dup(NULL, FALSE); 2642 user = fb_api_user_dup(NULL, FALSE);
2641 user->uid = uid; 2643 user->uid = uid;
2642 user->name = fb_json_values_next_str_dup(values, NULL); 2644 user->name = fb_json_values_next_str_dup(values, NULL);
2651 fb_api_thread_reset(thrd, TRUE); 2653 fb_api_thread_reset(thrd, TRUE);
2652 g_object_unref(values); 2654 g_object_unref(values);
2653 return FALSE; 2655 return FALSE;
2654 } 2656 }
2655 2657
2656 if ((g_slist_length(thrd->users) < 2) || !haself) { 2658 if (num_users < 2 || !haself) {
2657 fb_api_thread_reset(thrd, TRUE); 2659 fb_api_thread_reset(thrd, TRUE);
2658 g_object_unref(values); 2660 g_object_unref(values);
2659 return FALSE; 2661 return FALSE;
2660 } 2662 }
2661 2663

mercurial