aboutsummaryrefslogtreecommitdiffstats
path: root/facebook/facebook-api.c
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2017-09-06 14:16:29 +0200
committerMarius Halden <marius.h@lden.org>2017-09-06 14:16:29 +0200
commitf5a6c8e103d06d949c6ef292cbfc0af2a6fe42e0 (patch)
treefac0b4471ad051b0bd4ab679d86fd97b6e95e36a /facebook/facebook-api.c
parent049c34398641f52913c00832ad24388442b61caa (diff)
parentbc523728d7ae97a617746a47b451e7adf4a58927 (diff)
downloadbitlbee-facebook-f5a6c8e103d06d949c6ef292cbfc0af2a6fe42e0.tar.gz
bitlbee-facebook-f5a6c8e103d06d949c6ef292cbfc0af2a6fe42e0.tar.bz2
bitlbee-facebook-f5a6c8e103d06d949c6ef292cbfc0af2a6fe42e0.tar.xz
Merge branch 'master' into track-messages
Diffstat (limited to 'facebook/facebook-api.c')
-rw-r--r--facebook/facebook-api.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/facebook/facebook-api.c b/facebook/facebook-api.c
index a72f386..fb0581d 100644
--- a/facebook/facebook-api.c
+++ b/facebook/facebook-api.c
@@ -1853,8 +1853,18 @@ fb_api_cb_publish_pt(FbThrift *thft, GSList **press, GError **error)
FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
break;
+ case 6:
+ /* Unknown new field */
+ FB_API_TCHK(type == FB_THRIFT_TYPE_I64);
+ FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
+ break;
+
default:
- FB_API_TCHK(FALSE);
+ /* Try to read unknown fields as varint */
+ FB_API_TCHK(type == FB_THRIFT_TYPE_I16 ||
+ type == FB_THRIFT_TYPE_I32 ||
+ type == FB_THRIFT_TYPE_I64);
+ FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
break;
}
}
@@ -2389,7 +2399,7 @@ fb_api_cb_contacts(FbHttpRequest *req, gpointer data)
priv->contacts_delta = g_strdup(is_delta ? cursor : delta_cursor);
}
- if (users) {
+ if (users || (complete && !is_delta)) {
g_signal_emit_by_name(api, "contacts", users, complete);
}