Mercurial > pidgin
comparison libpurple/protocols/yahoo/yahoo_aliases.c @ 32819:2c6510167895 default tip
propagate from branch 'im.pidgin.pidgin.2.x.y' (head 3315c5dfbd0ad16511bdcf865e5b07c02d07df24)
to branch 'im.pidgin.pidgin' (head cbd1eda6bcbf0565ae7766396bb8f6f419cb6a9a)
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sat, 02 Jun 2012 02:30:49 +0000 |
parents | 2ec94166be43 |
children |
comparison
equal
deleted
inserted
replaced
32818:01ff09d4a463 | 32819:2c6510167895 |
---|---|
72 | 72 |
73 static void | 73 static void |
74 yahoo_fetch_aliases_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, size_t len, const gchar *error_message) | 74 yahoo_fetch_aliases_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, size_t len, const gchar *error_message) |
75 { | 75 { |
76 PurpleConnection *gc = user_data; | 76 PurpleConnection *gc = user_data; |
77 YahooData *yd = gc->proto_data; | 77 YahooData *yd = purple_connection_get_protocol_data(gc); |
78 | 78 |
79 yd->url_datas = g_slist_remove(yd->url_datas, url_data); | 79 yd->url_datas = g_slist_remove(yd->url_datas, url_data); |
80 | 80 |
81 if (len == 0) { | 81 if (len == 0) { |
82 purple_debug_info("yahoo", "No Aliases to process.%s%s\n", | 82 purple_debug_info("yahoo", "No Aliases to process.%s%s\n", |
184 } | 184 } |
185 | 185 |
186 void | 186 void |
187 yahoo_fetch_aliases(PurpleConnection *gc) | 187 yahoo_fetch_aliases(PurpleConnection *gc) |
188 { | 188 { |
189 YahooData *yd = gc->proto_data; | 189 YahooData *yd = purple_connection_get_protocol_data(gc); |
190 const char *url; | 190 const char *url; |
191 gchar *request, *webpage, *webaddress; | 191 gchar *request, *webpage, *webaddress; |
192 PurpleUtilFetchUrlData *url_data; | 192 PurpleUtilFetchUrlData *url_data; |
193 | 193 |
194 /* use whole URL if using HTTP Proxy */ | 194 /* use whole URL if using HTTP Proxy */ |
205 use_whole_url ? "http://" : "", use_whole_url ? webaddress : "", webpage, | 205 use_whole_url ? "http://" : "", use_whole_url ? webaddress : "", webpage, |
206 yd->cookie_t, yd->cookie_y, | 206 yd->cookie_t, yd->cookie_y, |
207 webaddress); | 207 webaddress); |
208 | 208 |
209 /* We have a URL and some header information, let's connect and get some aliases */ | 209 /* We have a URL and some header information, let's connect and get some aliases */ |
210 url_data = purple_util_fetch_url_request_len_with_account(purple_connection_get_account(gc), | 210 url_data = purple_util_fetch_url_request(purple_connection_get_account(gc), |
211 url, use_whole_url, NULL, TRUE, request, FALSE, -1, | 211 url, use_whole_url, NULL, TRUE, request, FALSE, -1, |
212 yahoo_fetch_aliases_cb, gc); | 212 yahoo_fetch_aliases_cb, gc); |
213 if (url_data != NULL) | 213 if (url_data != NULL) |
214 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); | 214 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); |
215 | 215 |
228 xmlnode *node, *result; | 228 xmlnode *node, *result; |
229 struct callback_data *cb = user_data; | 229 struct callback_data *cb = user_data; |
230 PurpleConnection *gc = cb->gc; | 230 PurpleConnection *gc = cb->gc; |
231 YahooData *yd; | 231 YahooData *yd; |
232 | 232 |
233 yd = gc->proto_data; | 233 yd = purple_connection_get_protocol_data(gc); |
234 yd->url_datas = g_slist_remove(yd->url_datas, url_data); | 234 yd->url_datas = g_slist_remove(yd->url_datas, url_data); |
235 | 235 |
236 if (len == 0 || error_message != NULL) { | 236 if (len == 0 || error_message != NULL) { |
237 purple_debug_info("yahoo", "Error updating alias for %s: %s\n", | 237 purple_debug_info("yahoo", "Error updating alias for %s: %s\n", |
238 cb->who, | 238 cb->who, |
308 if (f == NULL) { | 308 if (f == NULL) { |
309 purple_debug_error("yahoo", "Missing YahooFriend. Unable to set server alias.\n"); | 309 purple_debug_error("yahoo", "Missing YahooFriend. Unable to set server alias.\n"); |
310 return; | 310 return; |
311 } | 311 } |
312 | 312 |
313 yd = gc->proto_data; | 313 yd = purple_connection_get_protocol_data(gc); |
314 | 314 |
315 /* Using callback_data so I have access to gc in the callback function */ | 315 /* Using callback_data so I have access to gc in the callback function */ |
316 cb = g_new0(struct callback_data, 1); | 316 cb = g_new0(struct callback_data, 1); |
317 cb->who = g_strdup(who); | 317 cb->who = g_strdup(who); |
318 cb->id = g_strdup(yahoo_friend_get_alias_id(f)); | 318 cb->id = g_strdup(yahoo_friend_get_alias_id(f)); |
329 if (yd->jp) { | 329 if (yd->jp) { |
330 gchar *alias_jp = g_convert(alias, -1, "EUC-JP", "UTF-8", NULL, NULL, NULL); | 330 gchar *alias_jp = g_convert(alias, -1, "EUC-JP", "UTF-8", NULL, NULL, NULL); |
331 gchar *converted_alias_jp = yahoo_convert_to_numeric(alias_jp); | 331 gchar *converted_alias_jp = yahoo_convert_to_numeric(alias_jp); |
332 content = g_strdup_printf("<ab k=\"%s\" cc=\"9\">\n" | 332 content = g_strdup_printf("<ab k=\"%s\" cc=\"9\">\n" |
333 "<ct a=\"1\" yi='%s' nn='%s' />\n</ab>\r\n", | 333 "<ct a=\"1\" yi='%s' nn='%s' />\n</ab>\r\n", |
334 purple_account_get_username(gc->account), | 334 purple_account_get_username(purple_connection_get_account(gc)), |
335 who, converted_alias_jp); | 335 who, converted_alias_jp); |
336 g_free(converted_alias_jp); | 336 g_free(converted_alias_jp); |
337 g_free(alias_jp); | 337 g_free(alias_jp); |
338 } else { | 338 } else { |
339 gchar *escaped_alias = g_markup_escape_text(alias, -1); | 339 gchar *escaped_alias = g_markup_escape_text(alias, -1); |
340 content = g_strdup_printf("<?xml version=\"1.0\" encoding=\"utf-8\"?><ab k=\"%s\" cc=\"9\">\n" | 340 content = g_strdup_printf("<?xml version=\"1.0\" encoding=\"utf-8\"?><ab k=\"%s\" cc=\"9\">\n" |
341 "<ct a=\"1\" yi='%s' nn='%s' />\n</ab>\r\n", | 341 "<ct a=\"1\" yi='%s' nn='%s' />\n</ab>\r\n", |
342 purple_account_get_username(gc->account), | 342 purple_account_get_username(purple_connection_get_account(gc)), |
343 who, escaped_alias); | 343 who, escaped_alias); |
344 g_free(escaped_alias); | 344 g_free(escaped_alias); |
345 } | 345 } |
346 } else { | 346 } else { |
347 purple_debug_info("yahoo", "Updating '%s' as new alias for user '%s'\n", alias, who); | 347 purple_debug_info("yahoo", "Updating '%s' as new alias for user '%s'\n", alias, who); |
349 if (yd->jp) { | 349 if (yd->jp) { |
350 gchar *alias_jp = g_convert(alias, -1, "EUC-JP", "UTF-8", NULL, NULL, NULL); | 350 gchar *alias_jp = g_convert(alias, -1, "EUC-JP", "UTF-8", NULL, NULL, NULL); |
351 gchar *converted_alias_jp = yahoo_convert_to_numeric(alias_jp); | 351 gchar *converted_alias_jp = yahoo_convert_to_numeric(alias_jp); |
352 content = g_strdup_printf("<ab k=\"%s\" cc=\"1\">\n" | 352 content = g_strdup_printf("<ab k=\"%s\" cc=\"1\">\n" |
353 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n", | 353 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n", |
354 purple_account_get_username(gc->account), | 354 purple_account_get_username(purple_connection_get_account(gc)), |
355 who, cb->id, converted_alias_jp); | 355 who, cb->id, converted_alias_jp); |
356 g_free(converted_alias_jp); | 356 g_free(converted_alias_jp); |
357 g_free(alias_jp); | 357 g_free(alias_jp); |
358 } else { | 358 } else { |
359 gchar *escaped_alias = g_markup_escape_text(alias, -1); | 359 gchar *escaped_alias = g_markup_escape_text(alias, -1); |
360 content = g_strdup_printf("<?xml version=\"1.0\" encoding=\"utf-8\"?><ab k=\"%s\" cc=\"1\">\n" | 360 content = g_strdup_printf("<?xml version=\"1.0\" encoding=\"utf-8\"?><ab k=\"%s\" cc=\"1\">\n" |
361 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n", | 361 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n", |
362 purple_account_get_username(gc->account), | 362 purple_account_get_username(purple_connection_get_account(gc)), |
363 who, cb->id, escaped_alias); | 363 who, cb->id, escaped_alias); |
364 g_free(escaped_alias); | 364 g_free(escaped_alias); |
365 } | 365 } |
366 } | 366 } |
367 | 367 |
377 webaddress, | 377 webaddress, |
378 strlen(content), | 378 strlen(content), |
379 content); | 379 content); |
380 | 380 |
381 /* We have a URL and some header information, let's connect and update the alias */ | 381 /* We have a URL and some header information, let's connect and update the alias */ |
382 url_data = purple_util_fetch_url_request_len_with_account( | 382 url_data = purple_util_fetch_url_request( |
383 purple_connection_get_account(gc), url, use_whole_url, NULL, TRUE, | 383 purple_connection_get_account(gc), url, use_whole_url, NULL, TRUE, |
384 request, FALSE, -1, yahoo_update_alias_cb, cb); | 384 request, FALSE, -1, yahoo_update_alias_cb, cb); |
385 if (url_data != NULL) | 385 if (url_data != NULL) |
386 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); | 386 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); |
387 | 387 |
515 ui->xml = xmlnode_to_str(node, NULL); | 515 ui->xml = xmlnode_to_str(node, NULL); |
516 xmlnode_free(node); | 516 xmlnode_free(node); |
517 } | 517 } |
518 #endif | 518 #endif |
519 | 519 |
520 url_data = purple_util_fetch_url_request_len_with_account(account, webaddress, FALSE, | 520 url_data = purple_util_fetch_url_request(account, webaddress, FALSE, |
521 YAHOO_CLIENT_USERAGENT, TRUE, request, FALSE, -1, | 521 YAHOO_CLIENT_USERAGENT, TRUE, request, FALSE, -1, |
522 yahoo_fetch_aliases_cb, gc); | 522 yahoo_fetch_aliases_cb, gc); |
523 if (url_data != NULL) | 523 if (url_data != NULL) |
524 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); | 524 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); |
525 | 525 |