diff options
author | jgeboski <jgeboski@gmail.com> | 2015-08-26 19:34:35 -0400 |
---|---|---|
committer | jgeboski <jgeboski@gmail.com> | 2015-08-26 19:34:35 -0400 |
commit | 0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb (patch) | |
tree | 2f0a34853dbfc74e34479eef5252a9b5f67c7f36 | |
parent | 80d9a46f1623448d30db5229f920b99649f65c84 (diff) | |
download | bitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.gz bitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.bz2 bitlbee-facebook-0a9447e4a07e05ebcbd2bdb1b1f43f708eae9cdb.tar.xz |
facebook-api: fixed deleted XMAs being fatal
-rw-r--r-- | facebook/facebook-api.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/facebook/facebook-api.c b/facebook/facebook-api.c index d12231a..b6f0143 100644 --- a/facebook/facebook-api.c +++ b/facebook/facebook-api.c @@ -1215,21 +1215,27 @@ fb_api_xma_parse(FbApi *api, const gchar *body, JsonNode *root, GError **error) GError *err = NULL; values = fb_json_values_new(root); - fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, + fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, "$.story_attachment.target.__type__.name"); - fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, + fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, "$.story_attachment.url"); fb_json_values_update(values, &err); if (G_UNLIKELY(err != NULL)) { g_propagate_error(error, err); g_object_unref(values); - return FALSE; + return NULL; } str = fb_json_values_next_str(values, NULL); url = fb_json_values_next_str(values, NULL); + if ((str == NULL) || (url == NULL)) { + g_propagate_error(error, err); + g_object_unref(values); + return NULL; + } + if (g_strcmp0(str, "ExternalUrl") == 0) { prms = fb_http_values_new(); fb_http_values_parse(prms, url, TRUE); |