| 1263 FbJsonValues *values; |
1263 FbJsonValues *values; |
| 1264 gchar *text; |
1264 gchar *text; |
| 1265 GError *err = NULL; |
1265 GError *err = NULL; |
| 1266 |
1266 |
| 1267 values = fb_json_values_new(root); |
1267 values = fb_json_values_new(root); |
| 1268 fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, |
1268 fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, |
| 1269 "$.story_attachment.target.__type__.name"); |
1269 "$.story_attachment.target.__type__.name"); |
| 1270 fb_json_values_add(values, FB_JSON_TYPE_STR, TRUE, |
1270 fb_json_values_add(values, FB_JSON_TYPE_STR, FALSE, |
| 1271 "$.story_attachment.url"); |
1271 "$.story_attachment.url"); |
| 1272 fb_json_values_update(values, &err); |
1272 fb_json_values_update(values, &err); |
| 1273 |
1273 |
| 1274 if (G_UNLIKELY(err != NULL)) { |
1274 if (G_UNLIKELY(err != NULL)) { |
| 1275 g_propagate_error(error, err); |
1275 g_propagate_error(error, err); |
| 1276 g_object_unref(values); |
1276 g_object_unref(values); |
| 1277 return FALSE; |
1277 return NULL; |
| 1278 } |
1278 } |
| 1279 |
1279 |
| 1280 str = fb_json_values_next_str(values, NULL); |
1280 str = fb_json_values_next_str(values, NULL); |
| 1281 url = fb_json_values_next_str(values, NULL); |
1281 url = fb_json_values_next_str(values, NULL); |
| |
1282 |
| |
1283 if ((str == NULL) || (url == NULL)) { |
| |
1284 g_propagate_error(error, err); |
| |
1285 g_object_unref(values); |
| |
1286 return NULL; |
| |
1287 } |
| 1282 |
1288 |
| 1283 if (purple_strequal(str, "ExternalUrl")) { |
1289 if (purple_strequal(str, "ExternalUrl")) { |
| 1284 params = fb_http_params_new_parse(url, TRUE); |
1290 params = fb_http_params_new_parse(url, TRUE); |
| 1285 text = fb_http_params_dup_str(params, "u", NULL); |
1291 text = fb_http_params_dup_str(params, "u", NULL); |
| 1286 fb_http_params_free(params); |
1292 fb_http_params_free(params); |