Mercurial > pidgin.yaz
comparison libpurple/protocols/yahoo/libymsg.c @ 28025:908be3822215
Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
in the prpl. I'm sure someone is going to want to shoot me over this, but I'm
tired of seeing "struct yahoo_data" everywhere in this prpl.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sun, 26 Jul 2009 17:25:18 +0000 |
parents | 05331a8eafb3 |
children | 8be4bea98188 7da3bf6d3b2c 338d6a211055 |
comparison
equal
deleted
inserted
replaced
28024:8bc9087b5ec2 | 28025:908be3822215 |
---|---|
454 g_free(tmpcookie); | 454 g_free(tmpcookie); |
455 | 455 |
456 return cookie; | 456 return cookie; |
457 } | 457 } |
458 | 458 |
459 static void yahoo_process_cookie(struct yahoo_data *yd, char *c) | 459 static void yahoo_process_cookie(YahooData *yd, char *c) |
460 { | 460 { |
461 if (c[0] == 'Y') { | 461 if (c[0] == 'Y') { |
462 if (yd->cookie_y) | 462 if (yd->cookie_y) |
463 g_free(yd->cookie_y); | 463 g_free(yd->cookie_y); |
464 yd->cookie_y = _getcookie(c); | 464 yd->cookie_y = _getcookie(c); |
474 static void yahoo_process_list_15(PurpleConnection *gc, struct yahoo_packet *pkt) | 474 static void yahoo_process_list_15(PurpleConnection *gc, struct yahoo_packet *pkt) |
475 { | 475 { |
476 GSList *l = pkt->hash; | 476 GSList *l = pkt->hash; |
477 | 477 |
478 PurpleAccount *account = purple_connection_get_account(gc); | 478 PurpleAccount *account = purple_connection_get_account(gc); |
479 struct yahoo_data *yd = gc->proto_data; | 479 YahooData *yd = gc->proto_data; |
480 GHashTable *ht; | 480 GHashTable *ht; |
481 char *norm_bud = NULL; | 481 char *norm_bud = NULL; |
482 char *temp = NULL; | 482 char *temp = NULL; |
483 YahooFriend *f = NULL; /* It's your friends. They're going to want you to share your StarBursts. */ | 483 YahooFriend *f = NULL; /* It's your friends. They're going to want you to share your StarBursts. */ |
484 /* But what if you had no friends? */ | 484 /* But what if you had no friends? */ |
605 gboolean got_serv_list = FALSE; | 605 gboolean got_serv_list = FALSE; |
606 PurpleBuddy *b; | 606 PurpleBuddy *b; |
607 PurpleGroup *g; | 607 PurpleGroup *g; |
608 YahooFriend *f = NULL; | 608 YahooFriend *f = NULL; |
609 PurpleAccount *account = purple_connection_get_account(gc); | 609 PurpleAccount *account = purple_connection_get_account(gc); |
610 struct yahoo_data *yd = gc->proto_data; | 610 YahooData *yd = gc->proto_data; |
611 GHashTable *ht; | 611 GHashTable *ht; |
612 | 612 |
613 char **lines; | 613 char **lines; |
614 char **split; | 614 char **split; |
615 char **buddies; | 615 char **buddies; |
752 char *stat = NULL; | 752 char *stat = NULL; |
753 char *game = NULL; | 753 char *game = NULL; |
754 YahooFriend *f = NULL; | 754 YahooFriend *f = NULL; |
755 GSList *l = pkt->hash; | 755 GSList *l = pkt->hash; |
756 gint val_11 = 0; | 756 gint val_11 = 0; |
757 struct yahoo_data *yd = gc->proto_data; | 757 YahooData *yd = gc->proto_data; |
758 gboolean msn = FALSE; | 758 gboolean msn = FALSE; |
759 | 759 |
760 account = purple_connection_get_account(gc); | 760 account = purple_connection_get_account(gc); |
761 | 761 |
762 while (l) { | 762 while (l) { |
847 static void yahoo_process_sms_message(PurpleConnection *gc, struct yahoo_packet *pkt) | 847 static void yahoo_process_sms_message(PurpleConnection *gc, struct yahoo_packet *pkt) |
848 { | 848 { |
849 PurpleAccount *account; | 849 PurpleAccount *account; |
850 GSList *l = pkt->hash; | 850 GSList *l = pkt->hash; |
851 struct _yahoo_im *sms = NULL; | 851 struct _yahoo_im *sms = NULL; |
852 struct yahoo_data *yd; | 852 YahooData *yd; |
853 char *server_msg = NULL; | 853 char *server_msg = NULL; |
854 char *m; | 854 char *m; |
855 | 855 |
856 yd = gc->proto_data; | 856 yd = gc->proto_data; |
857 account = purple_connection_get_account(gc); | 857 account = purple_connection_get_account(gc); |
907 | 907 |
908 /* pkt_type is YAHOO_PKT_TYPE_SERVER if pkt arrives from yahoo server, YAHOO_PKT_TYPE_P2P if pkt arrives through p2p */ | 908 /* pkt_type is YAHOO_PKT_TYPE_SERVER if pkt arrives from yahoo server, YAHOO_PKT_TYPE_P2P if pkt arrives through p2p */ |
909 static void yahoo_process_message(PurpleConnection *gc, struct yahoo_packet *pkt, yahoo_pkt_type pkt_type) | 909 static void yahoo_process_message(PurpleConnection *gc, struct yahoo_packet *pkt, yahoo_pkt_type pkt_type) |
910 { | 910 { |
911 PurpleAccount *account; | 911 PurpleAccount *account; |
912 struct yahoo_data *yd = gc->proto_data; | 912 YahooData *yd = gc->proto_data; |
913 GSList *l = pkt->hash; | 913 GSList *l = pkt->hash; |
914 GSList *list = NULL; | 914 GSList *list = NULL; |
915 struct _yahoo_im *im = NULL; | 915 struct _yahoo_im *im = NULL; |
916 const char *imv = NULL; | 916 const char *imv = NULL; |
917 gint val_11 = 0; | 917 gint val_11 = 0; |
1140 static void | 1140 static void |
1141 yahoo_buddy_add_authorize_cb(gpointer data) | 1141 yahoo_buddy_add_authorize_cb(gpointer data) |
1142 { | 1142 { |
1143 struct yahoo_add_request *add_req = data; | 1143 struct yahoo_add_request *add_req = data; |
1144 struct yahoo_packet *pkt; | 1144 struct yahoo_packet *pkt; |
1145 struct yahoo_data *yd = add_req->gc->proto_data; | 1145 YahooData *yd = add_req->gc->proto_data; |
1146 const char *who = add_req->who; | 1146 const char *who = add_req->who; |
1147 | 1147 |
1148 if (add_req->protocol == 2) | 1148 if (add_req->protocol == 2) |
1149 who += 4; | 1149 who += 4; |
1150 | 1150 |
1163 } | 1163 } |
1164 | 1164 |
1165 static void | 1165 static void |
1166 yahoo_buddy_add_deny_cb(struct yahoo_add_request *add_req, const char *msg) | 1166 yahoo_buddy_add_deny_cb(struct yahoo_add_request *add_req, const char *msg) |
1167 { | 1167 { |
1168 struct yahoo_data *yd = add_req->gc->proto_data; | 1168 YahooData *yd = add_req->gc->proto_data; |
1169 struct yahoo_packet *pkt; | 1169 struct yahoo_packet *pkt; |
1170 char *encoded_msg = NULL; | 1170 char *encoded_msg = NULL; |
1171 const char *who = add_req->who; | 1171 const char *who = add_req->who; |
1172 | 1172 |
1173 if (add_req->protocol == 2) | 1173 if (add_req->protocol == 2) |
1215 } | 1215 } |
1216 | 1216 |
1217 static void yahoo_buddy_denied_our_add(PurpleConnection *gc, const char *who, const char *reason) | 1217 static void yahoo_buddy_denied_our_add(PurpleConnection *gc, const char *who, const char *reason) |
1218 { | 1218 { |
1219 char *notify_msg; | 1219 char *notify_msg; |
1220 struct yahoo_data *yd = gc->proto_data; | 1220 YahooData *yd = gc->proto_data; |
1221 | 1221 |
1222 if (who == NULL) | 1222 if (who == NULL) |
1223 return; | 1223 return; |
1224 | 1224 |
1225 if (reason != NULL) { | 1225 if (reason != NULL) { |
1522 } | 1522 } |
1523 | 1523 |
1524 static void yahoo_process_mail(PurpleConnection *gc, struct yahoo_packet *pkt) | 1524 static void yahoo_process_mail(PurpleConnection *gc, struct yahoo_packet *pkt) |
1525 { | 1525 { |
1526 PurpleAccount *account = purple_connection_get_account(gc); | 1526 PurpleAccount *account = purple_connection_get_account(gc); |
1527 struct yahoo_data *yd = gc->proto_data; | 1527 YahooData *yd = gc->proto_data; |
1528 const char *who = NULL; | 1528 const char *who = NULL; |
1529 const char *email = NULL; | 1529 const char *email = NULL; |
1530 const char *subj = NULL; | 1530 const char *subj = NULL; |
1531 const char *yahoo_mail_url = (yd->jp? YAHOOJP_MAIL_URL: YAHOO_MAIL_URL); | 1531 const char *yahoo_mail_url = (yd->jp? YAHOOJP_MAIL_URL: YAHOO_MAIL_URL); |
1532 int count = 0; | 1532 int count = 0; |
1606 *out = '\0'; | 1606 *out = '\0'; |
1607 } | 1607 } |
1608 | 1608 |
1609 static void yahoo_auth16_stage3(PurpleConnection *gc, const char *crypt) | 1609 static void yahoo_auth16_stage3(PurpleConnection *gc, const char *crypt) |
1610 { | 1610 { |
1611 struct yahoo_data *yd = gc->proto_data; | 1611 YahooData *yd = gc->proto_data; |
1612 PurpleAccount *account = purple_connection_get_account(gc); | 1612 PurpleAccount *account = purple_connection_get_account(gc); |
1613 const char *name = purple_normalize(account, purple_account_get_username(account)); | 1613 const char *name = purple_normalize(account, purple_account_get_username(account)); |
1614 PurpleCipher *md5_cipher; | 1614 PurpleCipher *md5_cipher; |
1615 PurpleCipherContext *md5_ctx; | 1615 PurpleCipherContext *md5_ctx; |
1616 guchar md5_digest[16]; | 1616 guchar md5_digest[16]; |
1649 | 1649 |
1650 static void yahoo_auth16_stage2(PurpleUtilFetchUrlData *unused, gpointer user_data, const gchar *ret_data, size_t len, const gchar *error_message) | 1650 static void yahoo_auth16_stage2(PurpleUtilFetchUrlData *unused, gpointer user_data, const gchar *ret_data, size_t len, const gchar *error_message) |
1651 { | 1651 { |
1652 struct yahoo_auth_data *auth_data = user_data; | 1652 struct yahoo_auth_data *auth_data = user_data; |
1653 PurpleConnection *gc = auth_data->gc; | 1653 PurpleConnection *gc = auth_data->gc; |
1654 struct yahoo_data *yd; | 1654 YahooData *yd; |
1655 gboolean try_login_on_error = FALSE; | 1655 gboolean try_login_on_error = FALSE; |
1656 | 1656 |
1657 purple_debug_info("yahoo","Authentication: In yahoo_auth16_stage2\n"); | 1657 purple_debug_info("yahoo","Authentication: In yahoo_auth16_stage2\n"); |
1658 | 1658 |
1659 if (!PURPLE_CONNECTION_IS_VALID(gc)) { | 1659 if (!PURPLE_CONNECTION_IS_VALID(gc)) { |
1660 g_free(auth_data->seed); | 1660 g_free(auth_data->seed); |
1661 g_free(auth_data); | 1661 g_free(auth_data); |
1662 g_return_if_reached(); | 1662 g_return_if_reached(); |
1663 } | 1663 } |
1664 | 1664 |
1665 yd = (struct yahoo_data *)gc->proto_data; | 1665 yd = (YahooData *)gc->proto_data; |
1666 | 1666 |
1667 if (error_message != NULL) { | 1667 if (error_message != NULL) { |
1668 purple_debug_error("yahoo", "Login Failed, unable to retrieve stage 2 url: %s\n", error_message); | 1668 purple_debug_error("yahoo", "Login Failed, unable to retrieve stage 2 url: %s\n", error_message); |
1669 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, error_message); | 1669 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, error_message); |
1670 g_free(auth_data->seed); | 1670 g_free(auth_data->seed); |
2024 } | 2024 } |
2025 | 2025 |
2026 static void yahoo_process_authresp(PurpleConnection *gc, struct yahoo_packet *pkt) | 2026 static void yahoo_process_authresp(PurpleConnection *gc, struct yahoo_packet *pkt) |
2027 { | 2027 { |
2028 #ifdef TRY_WEBMESSENGER_LOGIN | 2028 #ifdef TRY_WEBMESSENGER_LOGIN |
2029 struct yahoo_data *yd = gc->proto_data; | 2029 YahooData *yd = gc->proto_data; |
2030 #endif /* TRY_WEBMESSENGER_LOGIN */ | 2030 #endif /* TRY_WEBMESSENGER_LOGIN */ |
2031 GSList *l = pkt->hash; | 2031 GSList *l = pkt->hash; |
2032 int err = 0; | 2032 int err = 0; |
2033 char *msg; | 2033 char *msg; |
2034 char *url = NULL; | 2034 char *url = NULL; |
2108 char *group = NULL; | 2108 char *group = NULL; |
2109 char *decoded_group; | 2109 char *decoded_group; |
2110 char *buf; | 2110 char *buf; |
2111 YahooFriend *f; | 2111 YahooFriend *f; |
2112 GSList *l = pkt->hash; | 2112 GSList *l = pkt->hash; |
2113 struct yahoo_data *yd = gc->proto_data; | 2113 YahooData *yd = gc->proto_data; |
2114 int protocol = 0; | 2114 int protocol = 0; |
2115 gboolean msn = FALSE; | 2115 gboolean msn = FALSE; |
2116 | 2116 |
2117 while (l) { | 2117 while (l) { |
2118 struct yahoo_pair *pair = l->data; | 2118 struct yahoo_pair *pair = l->data; |
2195 { | 2195 { |
2196 struct yahoo_p2p_data *p2p_data = value; | 2196 struct yahoo_p2p_data *p2p_data = value; |
2197 PurpleConnection *gc = user_data; | 2197 PurpleConnection *gc = user_data; |
2198 struct yahoo_packet *pkt_to_send; | 2198 struct yahoo_packet *pkt_to_send; |
2199 PurpleAccount *account; | 2199 PurpleAccount *account; |
2200 struct yahoo_data *yd = gc->proto_data; | 2200 YahooData *yd = gc->proto_data; |
2201 | 2201 |
2202 account = purple_connection_get_account(gc); | 2202 account = purple_connection_get_account(gc); |
2203 | 2203 |
2204 pkt_to_send = yahoo_packet_new(YAHOO_SERVICE_P2PFILEXFER, YAHOO_STATUS_AVAILABLE, yd->session_id); | 2204 pkt_to_send = yahoo_packet_new(YAHOO_SERVICE_P2PFILEXFER, YAHOO_STATUS_AVAILABLE, yd->session_id); |
2205 yahoo_packet_hash(pkt_to_send, "ssisi", | 2205 yahoo_packet_hash(pkt_to_send, "ssisi", |
2214 } | 2214 } |
2215 | 2215 |
2216 static gboolean yahoo_p2p_keepalive(gpointer data) | 2216 static gboolean yahoo_p2p_keepalive(gpointer data) |
2217 { | 2217 { |
2218 PurpleConnection *gc = data; | 2218 PurpleConnection *gc = data; |
2219 struct yahoo_data *yd = gc->proto_data; | 2219 YahooData *yd = gc->proto_data; |
2220 | 2220 |
2221 g_hash_table_foreach(yd->peers, yahoo_p2p_keepalive_cb, gc); | 2221 g_hash_table_foreach(yd->peers, yahoo_p2p_keepalive_cb, gc); |
2222 | 2222 |
2223 return TRUE; | 2223 return TRUE; |
2224 } | 2224 } |
2255 char *who = NULL; | 2255 char *who = NULL; |
2256 GSList *l = pkt->hash; | 2256 GSList *l = pkt->hash; |
2257 struct yahoo_packet *pkt_to_send; | 2257 struct yahoo_packet *pkt_to_send; |
2258 PurpleAccount *account; | 2258 PurpleAccount *account; |
2259 int val_13_to_send = 0; | 2259 int val_13_to_send = 0; |
2260 struct yahoo_data *yd; | 2260 YahooData *yd; |
2261 YahooFriend *f; | 2261 YahooFriend *f; |
2262 | 2262 |
2263 if(!(p2p_data = data)) | 2263 if(!(p2p_data = data)) |
2264 return ; | 2264 return ; |
2265 | 2265 |
2342 int pos = 0; | 2342 int pos = 0; |
2343 int pktlen; | 2343 int pktlen; |
2344 struct yahoo_packet *pkt; | 2344 struct yahoo_packet *pkt; |
2345 guchar *start = NULL; | 2345 guchar *start = NULL; |
2346 struct yahoo_p2p_data *p2p_data; | 2346 struct yahoo_p2p_data *p2p_data; |
2347 struct yahoo_data *yd; | 2347 YahooData *yd; |
2348 | 2348 |
2349 if(!(p2p_data = data)) | 2349 if(!(p2p_data = data)) |
2350 return ; | 2350 return ; |
2351 yd = p2p_data->gc->proto_data; | 2351 yd = p2p_data->gc->proto_data; |
2352 | 2352 |
2414 | 2414 |
2415 static void yahoo_p2p_server_send_connected_cb(gpointer data, gint source, PurpleInputCondition cond) | 2415 static void yahoo_p2p_server_send_connected_cb(gpointer data, gint source, PurpleInputCondition cond) |
2416 { | 2416 { |
2417 int acceptfd; | 2417 int acceptfd; |
2418 struct yahoo_p2p_data *p2p_data; | 2418 struct yahoo_p2p_data *p2p_data; |
2419 struct yahoo_data *yd; | 2419 YahooData *yd; |
2420 | 2420 |
2421 if(!(p2p_data = data)) | 2421 if(!(p2p_data = data)) |
2422 return ; | 2422 return ; |
2423 yd = p2p_data->gc->proto_data; | 2423 yd = p2p_data->gc->proto_data; |
2424 | 2424 |
2453 } | 2453 } |
2454 | 2454 |
2455 static gboolean yahoo_cancel_p2p_server_listen_cb(gpointer data) | 2455 static gboolean yahoo_cancel_p2p_server_listen_cb(gpointer data) |
2456 { | 2456 { |
2457 struct yahoo_p2p_data *p2p_data; | 2457 struct yahoo_p2p_data *p2p_data; |
2458 struct yahoo_data *yd; | 2458 YahooData *yd; |
2459 | 2459 |
2460 if(!(p2p_data = data)) | 2460 if(!(p2p_data = data)) |
2461 return FALSE; | 2461 return FALSE; |
2462 | 2462 |
2463 yd = p2p_data->gc->proto_data; | 2463 yd = p2p_data->gc->proto_data; |
2474 } | 2474 } |
2475 | 2475 |
2476 static void yahoo_p2p_server_listen_cb(int listenfd, gpointer data) | 2476 static void yahoo_p2p_server_listen_cb(int listenfd, gpointer data) |
2477 { | 2477 { |
2478 struct yahoo_p2p_data *p2p_data; | 2478 struct yahoo_p2p_data *p2p_data; |
2479 struct yahoo_data *yd; | 2479 YahooData *yd; |
2480 | 2480 |
2481 if(!(p2p_data = data)) | 2481 if(!(p2p_data = data)) |
2482 return ; | 2482 return ; |
2483 | 2483 |
2484 if(listenfd == -1) { | 2484 if(listenfd == -1) { |
2506 char temp_str[100]; | 2506 char temp_str[100]; |
2507 gchar *base64_ip = NULL; | 2507 gchar *base64_ip = NULL; |
2508 YahooFriend *f; | 2508 YahooFriend *f; |
2509 struct yahoo_packet *pkt; | 2509 struct yahoo_packet *pkt; |
2510 PurpleAccount *account; | 2510 PurpleAccount *account; |
2511 struct yahoo_data *yd = gc->proto_data; | 2511 YahooData *yd = gc->proto_data; |
2512 struct yahoo_p2p_data *p2p_data; | 2512 struct yahoo_p2p_data *p2p_data; |
2513 | 2513 |
2514 f = yahoo_friend_find(gc, who); | 2514 f = yahoo_friend_find(gc, who); |
2515 account = purple_connection_get_account(gc); | 2515 account = purple_connection_get_account(gc); |
2516 | 2516 |
2574 static void yahoo_p2p_init_cb(gpointer data, gint source, const gchar *error_message) | 2574 static void yahoo_p2p_init_cb(gpointer data, gint source, const gchar *error_message) |
2575 { | 2575 { |
2576 struct yahoo_p2p_data *p2p_data; | 2576 struct yahoo_p2p_data *p2p_data; |
2577 struct yahoo_packet *pkt_to_send; | 2577 struct yahoo_packet *pkt_to_send; |
2578 PurpleAccount *account; | 2578 PurpleAccount *account; |
2579 struct yahoo_data *yd; | 2579 YahooData *yd; |
2580 | 2580 |
2581 if(!(p2p_data = data)) | 2581 if(!(p2p_data = data)) |
2582 return ; | 2582 return ; |
2583 yd = p2p_data->gc->proto_data; | 2583 yd = p2p_data->gc->proto_data; |
2584 | 2584 |
2920 } | 2920 } |
2921 | 2921 |
2922 static void yahoo_pending(gpointer data, gint source, PurpleInputCondition cond) | 2922 static void yahoo_pending(gpointer data, gint source, PurpleInputCondition cond) |
2923 { | 2923 { |
2924 PurpleConnection *gc = data; | 2924 PurpleConnection *gc = data; |
2925 struct yahoo_data *yd = gc->proto_data; | 2925 YahooData *yd = gc->proto_data; |
2926 char buf[1024]; | 2926 char buf[1024]; |
2927 int len; | 2927 int len; |
2928 | 2928 |
2929 len = read(yd->fd, buf, sizeof(buf)); | 2929 len = read(yd->fd, buf, sizeof(buf)); |
2930 | 2930 |
3017 } | 3017 } |
3018 | 3018 |
3019 static void yahoo_got_connected(gpointer data, gint source, const gchar *error_message) | 3019 static void yahoo_got_connected(gpointer data, gint source, const gchar *error_message) |
3020 { | 3020 { |
3021 PurpleConnection *gc = data; | 3021 PurpleConnection *gc = data; |
3022 struct yahoo_data *yd; | 3022 YahooData *yd; |
3023 struct yahoo_packet *pkt; | 3023 struct yahoo_packet *pkt; |
3024 | 3024 |
3025 if (source < 0) { | 3025 if (source < 0) { |
3026 gchar *tmp; | 3026 gchar *tmp; |
3027 tmp = g_strdup_printf(_("Unable to connect: %s"), error_message); | 3027 tmp = g_strdup_printf(_("Unable to connect: %s"), error_message); |
3043 | 3043 |
3044 #ifdef TRY_WEBMESSENGER_LOGIN | 3044 #ifdef TRY_WEBMESSENGER_LOGIN |
3045 static void yahoo_got_web_connected(gpointer data, gint source, const gchar *error_message) | 3045 static void yahoo_got_web_connected(gpointer data, gint source, const gchar *error_message) |
3046 { | 3046 { |
3047 PurpleConnection *gc = data; | 3047 PurpleConnection *gc = data; |
3048 struct yahoo_data *yd; | 3048 YahooData *yd; |
3049 struct yahoo_packet *pkt; | 3049 struct yahoo_packet *pkt; |
3050 | 3050 |
3051 if (source < 0) { | 3051 if (source < 0) { |
3052 gchar *tmp; | 3052 gchar *tmp; |
3053 tmp = g_strdup_printf(_("Unable to connect: %s"), error_message); | 3053 tmp = g_strdup_printf(_("Unable to connect: %s"), error_message); |
3073 | 3073 |
3074 static void yahoo_web_pending(gpointer data, gint source, PurpleInputCondition cond) | 3074 static void yahoo_web_pending(gpointer data, gint source, PurpleInputCondition cond) |
3075 { | 3075 { |
3076 PurpleConnection *gc = data; | 3076 PurpleConnection *gc = data; |
3077 PurpleAccount *account = purple_connection_get_account(gc); | 3077 PurpleAccount *account = purple_connection_get_account(gc); |
3078 struct yahoo_data *yd = gc->proto_data; | 3078 YahooData *yd = gc->proto_data; |
3079 char bufread[2048], *i = bufread, *buf = bufread; | 3079 char bufread[2048], *i = bufread, *buf = bufread; |
3080 int len; | 3080 int len; |
3081 GString *s; | 3081 GString *s; |
3082 | 3082 |
3083 len = read(source, bufread, sizeof(bufread) - 1); | 3083 len = read(source, bufread, sizeof(bufread) - 1); |
3148 } | 3148 } |
3149 | 3149 |
3150 static void yahoo_got_cookies_send_cb(gpointer data, gint source, PurpleInputCondition cond) | 3150 static void yahoo_got_cookies_send_cb(gpointer data, gint source, PurpleInputCondition cond) |
3151 { | 3151 { |
3152 PurpleConnection *gc; | 3152 PurpleConnection *gc; |
3153 struct yahoo_data *yd; | 3153 YahooData *yd; |
3154 int written, remaining; | 3154 int written, remaining; |
3155 | 3155 |
3156 gc = data; | 3156 gc = data; |
3157 yd = gc->proto_data; | 3157 yd = gc->proto_data; |
3158 | 3158 |
3262 yahoo_login_page_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, | 3262 yahoo_login_page_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, |
3263 const gchar *url_text, size_t len, const gchar *error_message) | 3263 const gchar *url_text, size_t len, const gchar *error_message) |
3264 { | 3264 { |
3265 PurpleConnection *gc = (PurpleConnection *)user_data; | 3265 PurpleConnection *gc = (PurpleConnection *)user_data; |
3266 PurpleAccount *account = purple_connection_get_account(gc); | 3266 PurpleAccount *account = purple_connection_get_account(gc); |
3267 struct yahoo_data *yd = gc->proto_data; | 3267 YahooData *yd = gc->proto_data; |
3268 const char *sn = purple_account_get_username(account); | 3268 const char *sn = purple_account_get_username(account); |
3269 const char *pass = purple_connection_get_password(gc); | 3269 const char *pass = purple_connection_get_password(gc); |
3270 GHashTable *hash = yahoo_login_page_hash(url_text, len); | 3270 GHashTable *hash = yahoo_login_page_hash(url_text, len); |
3271 GString *url = g_string_new("GET http://login.yahoo.com/config/login?login="); | 3271 GString *url = g_string_new("GET http://login.yahoo.com/config/login?login="); |
3272 char md5[33], *hashp = md5, *chal; | 3272 char md5[33], *hashp = md5, *chal; |
3403 } | 3403 } |
3404 } | 3404 } |
3405 | 3405 |
3406 void yahoo_login(PurpleAccount *account) { | 3406 void yahoo_login(PurpleAccount *account) { |
3407 PurpleConnection *gc = purple_account_get_connection(account); | 3407 PurpleConnection *gc = purple_account_get_connection(account); |
3408 struct yahoo_data *yd = gc->proto_data = g_new0(struct yahoo_data, 1); | 3408 YahooData *yd = gc->proto_data = g_new0(YahooData, 1); |
3409 PurpleStatus *status = purple_account_get_active_status(account); | 3409 PurpleStatus *status = purple_account_get_active_status(account); |
3410 const char *server = NULL; | 3410 const char *server = NULL; |
3411 int pager_port = 0; | 3411 int pager_port = 0; |
3412 | 3412 |
3413 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC; | 3413 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC; |
3450 | 3450 |
3451 return; | 3451 return; |
3452 } | 3452 } |
3453 | 3453 |
3454 void yahoo_close(PurpleConnection *gc) { | 3454 void yahoo_close(PurpleConnection *gc) { |
3455 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 3455 YahooData *yd = (YahooData *)gc->proto_data; |
3456 GSList *l; | 3456 GSList *l; |
3457 | 3457 |
3458 if (gc->inpa) | 3458 if (gc->inpa) |
3459 purple_input_remove(gc->inpa); | 3459 purple_input_remove(gc->inpa); |
3460 | 3460 |
3548 | 3548 |
3549 const char *yahoo_list_emblem(PurpleBuddy *b) | 3549 const char *yahoo_list_emblem(PurpleBuddy *b) |
3550 { | 3550 { |
3551 PurpleAccount *account; | 3551 PurpleAccount *account; |
3552 PurpleConnection *gc; | 3552 PurpleConnection *gc; |
3553 struct yahoo_data *yd; | 3553 YahooData *yd; |
3554 YahooFriend *f; | 3554 YahooFriend *f; |
3555 PurplePresence *presence; | 3555 PurplePresence *presence; |
3556 | 3556 |
3557 if (!b || !(account = purple_buddy_get_account(b)) || | 3557 if (!b || !(account = purple_buddy_get_account(b)) || |
3558 !(gc = purple_account_get_connection(account)) || | 3558 !(gc = purple_account_get_connection(account)) || |
3611 | 3611 |
3612 PurpleBuddy *buddy; | 3612 PurpleBuddy *buddy; |
3613 PurpleConnection *gc; | 3613 PurpleConnection *gc; |
3614 | 3614 |
3615 GHashTable *components; | 3615 GHashTable *components; |
3616 struct yahoo_data *yd; | 3616 YahooData *yd; |
3617 int id; | 3617 int id; |
3618 | 3618 |
3619 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); | 3619 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |
3620 | 3620 |
3621 buddy = (PurpleBuddy *) node; | 3621 buddy = (PurpleBuddy *) node; |
3648 static void yahoo_game(PurpleBlistNode *node, gpointer data) { | 3648 static void yahoo_game(PurpleBlistNode *node, gpointer data) { |
3649 | 3649 |
3650 PurpleBuddy *buddy; | 3650 PurpleBuddy *buddy; |
3651 PurpleConnection *gc; | 3651 PurpleConnection *gc; |
3652 | 3652 |
3653 struct yahoo_data *yd; | 3653 YahooData *yd; |
3654 const char *game; | 3654 const char *game; |
3655 char *game2; | 3655 char *game2; |
3656 char *t; | 3656 char *t; |
3657 char url[256]; | 3657 char url[256]; |
3658 YahooFriend *f; | 3658 YahooFriend *f; |
3659 | 3659 |
3660 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); | 3660 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |
3661 | 3661 |
3662 buddy = (PurpleBuddy *) node; | 3662 buddy = (PurpleBuddy *) node; |
3663 gc = purple_account_get_connection(purple_buddy_get_account(buddy)); | 3663 gc = purple_account_get_connection(purple_buddy_get_account(buddy)); |
3664 yd = (struct yahoo_data *) gc->proto_data; | 3664 yd = (YahooData *) gc->proto_data; |
3665 | 3665 |
3666 f = yahoo_friend_find(gc, purple_buddy_get_name(buddy)); | 3666 f = yahoo_friend_find(gc, purple_buddy_get_name(buddy)); |
3667 if (!f) | 3667 if (!f) |
3668 return; | 3668 return; |
3669 | 3669 |
3816 } | 3816 } |
3817 | 3817 |
3818 static GList *build_presence_submenu(YahooFriend *f, PurpleConnection *gc) { | 3818 static GList *build_presence_submenu(YahooFriend *f, PurpleConnection *gc) { |
3819 GList *m = NULL; | 3819 GList *m = NULL; |
3820 PurpleMenuAction *act; | 3820 PurpleMenuAction *act; |
3821 struct yahoo_data *yd = (struct yahoo_data *) gc->proto_data; | 3821 YahooData *yd = (YahooData *) gc->proto_data; |
3822 | 3822 |
3823 if (yd->current_status == YAHOO_STATUS_INVISIBLE) { | 3823 if (yd->current_status == YAHOO_STATUS_INVISIBLE) { |
3824 if (f->presence != YAHOO_PRESENCE_ONLINE) { | 3824 if (f->presence != YAHOO_PRESENCE_ONLINE) { |
3825 act = purple_menu_action_new(_("Appear Online"), | 3825 act = purple_menu_action_new(_("Appear Online"), |
3826 PURPLE_CALLBACK(yahoo_presence_settings), | 3826 PURPLE_CALLBACK(yahoo_presence_settings), |
3876 { | 3876 { |
3877 GList *m = NULL; | 3877 GList *m = NULL; |
3878 PurpleMenuAction *act; | 3878 PurpleMenuAction *act; |
3879 | 3879 |
3880 PurpleConnection *gc = purple_account_get_connection(purple_buddy_get_account(buddy)); | 3880 PurpleConnection *gc = purple_account_get_connection(purple_buddy_get_account(buddy)); |
3881 struct yahoo_data *yd = gc->proto_data; | 3881 YahooData *yd = gc->proto_data; |
3882 static char buf2[1024]; | 3882 static char buf2[1024]; |
3883 YahooFriend *f; | 3883 YahooFriend *f; |
3884 | 3884 |
3885 f = yahoo_friend_find(gc, purple_buddy_get_name(buddy)); | 3885 f = yahoo_friend_find(gc, purple_buddy_get_name(buddy)); |
3886 | 3886 |
3957 } | 3957 } |
3958 } | 3958 } |
3959 | 3959 |
3960 static void yahoo_act_id(PurpleConnection *gc, PurpleRequestFields *fields) | 3960 static void yahoo_act_id(PurpleConnection *gc, PurpleRequestFields *fields) |
3961 { | 3961 { |
3962 struct yahoo_data *yd = gc->proto_data; | 3962 YahooData *yd = gc->proto_data; |
3963 const char *name = yd->profiles[purple_request_fields_get_choice(fields, "id")]; | 3963 const char *name = yd->profiles[purple_request_fields_get_choice(fields, "id")]; |
3964 | 3964 |
3965 struct yahoo_packet *pkt = yahoo_packet_new(YAHOO_SERVICE_IDACT, YAHOO_STATUS_AVAILABLE, yd->session_id); | 3965 struct yahoo_packet *pkt = yahoo_packet_new(YAHOO_SERVICE_IDACT, YAHOO_STATUS_AVAILABLE, yd->session_id); |
3966 yahoo_packet_hash_str(pkt, 3, name); | 3966 yahoo_packet_hash_str(pkt, 3, name); |
3967 yahoo_packet_send_and_free(pkt, yd); | 3967 yahoo_packet_send_and_free(pkt, yd); |
3974 const gchar *token, size_t len, const gchar *error_message) | 3974 const gchar *token, size_t len, const gchar *error_message) |
3975 { | 3975 { |
3976 PurpleConnection *gc = user_data; | 3976 PurpleConnection *gc = user_data; |
3977 gboolean set_cookie = FALSE; | 3977 gboolean set_cookie = FALSE; |
3978 gchar *url; | 3978 gchar *url; |
3979 struct yahoo_data *yd = gc->proto_data; | 3979 YahooData *yd = gc->proto_data; |
3980 | 3980 |
3981 g_return_if_fail(PURPLE_CONNECTION_IS_VALID(gc)); | 3981 g_return_if_fail(PURPLE_CONNECTION_IS_VALID(gc)); |
3982 | 3982 |
3983 yd->url_datas = g_slist_remove(yd->url_datas, url_data); | 3983 yd->url_datas = g_slist_remove(yd->url_datas, url_data); |
3984 | 3984 |
4010 { | 4010 { |
4011 /* Setup a cookie that can be used by the browser */ | 4011 /* Setup a cookie that can be used by the browser */ |
4012 /* XXX I have no idea how this will work with Yahoo! Japan. */ | 4012 /* XXX I have no idea how this will work with Yahoo! Japan. */ |
4013 | 4013 |
4014 PurpleConnection *gc = action->context; | 4014 PurpleConnection *gc = action->context; |
4015 struct yahoo_data *yd = gc->proto_data; | 4015 YahooData *yd = gc->proto_data; |
4016 | 4016 |
4017 PurpleUtilFetchUrlData *url_data; | 4017 PurpleUtilFetchUrlData *url_data; |
4018 const char* base_url = "http://login.yahoo.com"; | 4018 const char* base_url = "http://login.yahoo.com"; |
4019 /* use whole URL if using HTTP Proxy */ | 4019 /* use whole URL if using HTTP Proxy */ |
4020 gboolean use_whole_url = yahoo_account_use_http_proxy(gc); | 4020 gboolean use_whole_url = yahoo_account_use_http_proxy(gc); |
4054 { | 4054 { |
4055 PurpleRequestFields *fields; | 4055 PurpleRequestFields *fields; |
4056 PurpleRequestFieldGroup *group; | 4056 PurpleRequestFieldGroup *group; |
4057 PurpleRequestField *field; | 4057 PurpleRequestField *field; |
4058 PurpleConnection *gc = (PurpleConnection *) action->context; | 4058 PurpleConnection *gc = (PurpleConnection *) action->context; |
4059 struct yahoo_data *yd = purple_connection_get_protocol_data(gc); | 4059 YahooData *yd = purple_connection_get_protocol_data(gc); |
4060 const char *name = purple_connection_get_display_name(gc); | 4060 const char *name = purple_connection_get_display_name(gc); |
4061 int iter; | 4061 int iter; |
4062 | 4062 |
4063 fields = purple_request_fields_new(); | 4063 fields = purple_request_fields_new(); |
4064 group = purple_request_field_group_new(NULL); | 4064 group = purple_request_field_group_new(NULL); |
4124 static void yahoo_get_sms_carrier_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, | 4124 static void yahoo_get_sms_carrier_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, |
4125 const gchar *webdata, size_t len, const gchar *error_message) | 4125 const gchar *webdata, size_t len, const gchar *error_message) |
4126 { | 4126 { |
4127 struct yahoo_sms_carrier_cb_data *sms_cb_data = user_data; | 4127 struct yahoo_sms_carrier_cb_data *sms_cb_data = user_data; |
4128 PurpleConnection *gc = sms_cb_data->gc; | 4128 PurpleConnection *gc = sms_cb_data->gc; |
4129 struct yahoo_data *yd = gc->proto_data; | 4129 YahooData *yd = gc->proto_data; |
4130 char *mobile_no = NULL; | 4130 char *mobile_no = NULL; |
4131 char *status = NULL; | 4131 char *status = NULL; |
4132 char *carrier = NULL; | 4132 char *carrier = NULL; |
4133 PurpleAccount *account = purple_connection_get_account(gc); | 4133 PurpleAccount *account = purple_connection_get_account(gc); |
4134 PurpleConversation *conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, sms_cb_data->who, account); | 4134 PurpleConversation *conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, sms_cb_data->who, account); |
4175 } | 4175 } |
4176 } | 4176 } |
4177 | 4177 |
4178 static void yahoo_get_sms_carrier(PurpleConnection *gc, gpointer data) | 4178 static void yahoo_get_sms_carrier(PurpleConnection *gc, gpointer data) |
4179 { | 4179 { |
4180 struct yahoo_data *yd = gc->proto_data; | 4180 YahooData *yd = gc->proto_data; |
4181 PurpleUtilFetchUrlData *url_data; | 4181 PurpleUtilFetchUrlData *url_data; |
4182 struct yahoo_sms_carrier_cb_data *sms_cb_data; | 4182 struct yahoo_sms_carrier_cb_data *sms_cb_data; |
4183 char *validate_request_str = NULL; | 4183 char *validate_request_str = NULL; |
4184 char *request = NULL; | 4184 char *request = NULL; |
4185 gboolean use_whole_url = FALSE; | 4185 gboolean use_whole_url = FALSE; |
4233 } | 4233 } |
4234 } | 4234 } |
4235 | 4235 |
4236 int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags) | 4236 int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags) |
4237 { | 4237 { |
4238 struct yahoo_data *yd = gc->proto_data; | 4238 YahooData *yd = gc->proto_data; |
4239 struct yahoo_packet *pkt = NULL; | 4239 struct yahoo_packet *pkt = NULL; |
4240 char *msg = yahoo_html_to_codes(what); | 4240 char *msg = yahoo_html_to_codes(what); |
4241 char *msg2; | 4241 char *msg2; |
4242 gboolean utf8 = TRUE; | 4242 gboolean utf8 = TRUE; |
4243 PurpleWhiteboard *wb; | 4243 PurpleWhiteboard *wb; |
4384 return ret; | 4384 return ret; |
4385 } | 4385 } |
4386 | 4386 |
4387 unsigned int yahoo_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state) | 4387 unsigned int yahoo_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state) |
4388 { | 4388 { |
4389 struct yahoo_data *yd = gc->proto_data; | 4389 YahooData *yd = gc->proto_data; |
4390 struct yahoo_p2p_data *p2p_data; | 4390 struct yahoo_p2p_data *p2p_data; |
4391 gboolean msn = !g_strncasecmp(who, "msn/", 4); | 4391 gboolean msn = !g_strncasecmp(who, "msn/", 4); |
4392 struct yahoo_packet *pkt = NULL; | 4392 struct yahoo_packet *pkt = NULL; |
4393 | 4393 |
4394 /* Don't do anything if sms is being typed */ | 4394 /* Don't do anything if sms is being typed */ |
4429 | 4429 |
4430 void yahoo_set_status(PurpleAccount *account, PurpleStatus *status) | 4430 void yahoo_set_status(PurpleAccount *account, PurpleStatus *status) |
4431 { | 4431 { |
4432 PurpleConnection *gc; | 4432 PurpleConnection *gc; |
4433 PurplePresence *presence; | 4433 PurplePresence *presence; |
4434 struct yahoo_data *yd; | 4434 YahooData *yd; |
4435 struct yahoo_packet *pkt; | 4435 struct yahoo_packet *pkt; |
4436 int old_status; | 4436 int old_status; |
4437 const char *msg = NULL; | 4437 const char *msg = NULL; |
4438 char *tmp = NULL; | 4438 char *tmp = NULL; |
4439 char *conv_msg = NULL; | 4439 char *conv_msg = NULL; |
4442 if (!purple_status_is_active(status)) | 4442 if (!purple_status_is_active(status)) |
4443 return; | 4443 return; |
4444 | 4444 |
4445 gc = purple_account_get_connection(account); | 4445 gc = purple_account_get_connection(account); |
4446 presence = purple_status_get_presence(status); | 4446 presence = purple_status_get_presence(status); |
4447 yd = (struct yahoo_data *)gc->proto_data; | 4447 yd = (YahooData *)gc->proto_data; |
4448 old_status = yd->current_status; | 4448 old_status = yd->current_status; |
4449 | 4449 |
4450 yd->current_status = get_yahoo_status_from_purple_status(status); | 4450 yd->current_status = get_yahoo_status_from_purple_status(status); |
4451 | 4451 |
4452 if (yd->current_status == YAHOO_STATUS_CUSTOM) | 4452 if (yd->current_status == YAHOO_STATUS_CUSTOM) |
4504 } | 4504 } |
4505 } | 4505 } |
4506 | 4506 |
4507 void yahoo_set_idle(PurpleConnection *gc, int idle) | 4507 void yahoo_set_idle(PurpleConnection *gc, int idle) |
4508 { | 4508 { |
4509 struct yahoo_data *yd = gc->proto_data; | 4509 YahooData *yd = gc->proto_data; |
4510 struct yahoo_packet *pkt = NULL; | 4510 struct yahoo_packet *pkt = NULL; |
4511 char *msg = NULL, *msg2 = NULL; | 4511 char *msg = NULL, *msg2 = NULL; |
4512 PurpleStatus *status = NULL; | 4512 PurpleStatus *status = NULL; |
4513 | 4513 |
4514 if (idle && yd->current_status != YAHOO_STATUS_CUSTOM) | 4514 if (idle && yd->current_status != YAHOO_STATUS_CUSTOM) |
4610 } | 4610 } |
4611 | 4611 |
4612 void yahoo_keepalive(PurpleConnection *gc) | 4612 void yahoo_keepalive(PurpleConnection *gc) |
4613 { | 4613 { |
4614 struct yahoo_packet *pkt; | 4614 struct yahoo_packet *pkt; |
4615 struct yahoo_data *yd = gc->proto_data; | 4615 YahooData *yd = gc->proto_data; |
4616 time_t now = time(NULL); | 4616 time_t now = time(NULL); |
4617 | 4617 |
4618 /* We're only allowed to send a ping once an hour or the servers will boot us */ | 4618 /* We're only allowed to send a ping once an hour or the servers will boot us */ |
4619 if ((now - yd->last_ping) >= PING_TIMEOUT) { | 4619 if ((now - yd->last_ping) >= PING_TIMEOUT) { |
4620 yd->last_ping = now; | 4620 yd->last_ping = now; |
4643 | 4643 |
4644 } | 4644 } |
4645 | 4645 |
4646 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g) | 4646 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g) |
4647 { | 4647 { |
4648 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 4648 YahooData *yd = (YahooData *)gc->proto_data; |
4649 struct yahoo_packet *pkt; | 4649 struct yahoo_packet *pkt; |
4650 const char *group = NULL; | 4650 const char *group = NULL; |
4651 char *group2; | 4651 char *group2; |
4652 YahooFriend *f; | 4652 YahooFriend *f; |
4653 const char *bname; | 4653 const char *bname; |
4707 g_free(group2); | 4707 g_free(group2); |
4708 } | 4708 } |
4709 | 4709 |
4710 void yahoo_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) | 4710 void yahoo_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) |
4711 { | 4711 { |
4712 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 4712 YahooData *yd = (YahooData *)gc->proto_data; |
4713 struct yahoo_packet *pkt; | 4713 struct yahoo_packet *pkt; |
4714 GSList *buddies, *l; | 4714 GSList *buddies, *l; |
4715 PurpleGroup *g; | 4715 PurpleGroup *g; |
4716 gboolean remove = TRUE; | 4716 gboolean remove = TRUE; |
4717 char *cg; | 4717 char *cg; |
4755 yahoo_packet_send_and_free(pkt, yd); | 4755 yahoo_packet_send_and_free(pkt, yd); |
4756 g_free(cg); | 4756 g_free(cg); |
4757 } | 4757 } |
4758 | 4758 |
4759 void yahoo_add_deny(PurpleConnection *gc, const char *who) { | 4759 void yahoo_add_deny(PurpleConnection *gc, const char *who) { |
4760 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 4760 YahooData *yd = (YahooData *)gc->proto_data; |
4761 struct yahoo_packet *pkt; | 4761 struct yahoo_packet *pkt; |
4762 | 4762 |
4763 if (!yd->logged_in) | 4763 if (!yd->logged_in) |
4764 return; | 4764 return; |
4765 | 4765 |
4771 7, who, 13, "1"); | 4771 7, who, 13, "1"); |
4772 yahoo_packet_send_and_free(pkt, yd); | 4772 yahoo_packet_send_and_free(pkt, yd); |
4773 } | 4773 } |
4774 | 4774 |
4775 void yahoo_rem_deny(PurpleConnection *gc, const char *who) { | 4775 void yahoo_rem_deny(PurpleConnection *gc, const char *who) { |
4776 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 4776 YahooData *yd = (YahooData *)gc->proto_data; |
4777 struct yahoo_packet *pkt; | 4777 struct yahoo_packet *pkt; |
4778 | 4778 |
4779 if (!yd->logged_in) | 4779 if (!yd->logged_in) |
4780 return; | 4780 return; |
4781 | 4781 |
4812 } | 4812 } |
4813 | 4813 |
4814 void yahoo_change_buddys_group(PurpleConnection *gc, const char *who, | 4814 void yahoo_change_buddys_group(PurpleConnection *gc, const char *who, |
4815 const char *old_group, const char *new_group) | 4815 const char *old_group, const char *new_group) |
4816 { | 4816 { |
4817 struct yahoo_data *yd = gc->proto_data; | 4817 YahooData *yd = gc->proto_data; |
4818 struct yahoo_packet *pkt; | 4818 struct yahoo_packet *pkt; |
4819 char *gpn, *gpo; | 4819 char *gpn, *gpo; |
4820 YahooFriend *f = yahoo_friend_find(gc, who); | 4820 YahooFriend *f = yahoo_friend_find(gc, who); |
4821 gboolean msn = FALSE; | 4821 gboolean msn = FALSE; |
4822 const char *temp = NULL; | 4822 const char *temp = NULL; |
4861 } | 4861 } |
4862 | 4862 |
4863 void yahoo_rename_group(PurpleConnection *gc, const char *old_name, | 4863 void yahoo_rename_group(PurpleConnection *gc, const char *old_name, |
4864 PurpleGroup *group, GList *moved_buddies) | 4864 PurpleGroup *group, GList *moved_buddies) |
4865 { | 4865 { |
4866 struct yahoo_data *yd = gc->proto_data; | 4866 YahooData *yd = gc->proto_data; |
4867 struct yahoo_packet *pkt; | 4867 struct yahoo_packet *pkt; |
4868 char *gpn, *gpo; | 4868 char *gpn, *gpo; |
4869 | 4869 |
4870 gpn = yahoo_string_encode(gc, purple_group_get_name(group), NULL); | 4870 gpn = yahoo_string_encode(gc, purple_group_get_name(group), NULL); |
4871 gpo = yahoo_string_encode(gc, old_name, NULL); | 4871 gpo = yahoo_string_encode(gc, old_name, NULL); |
4901 yahoopurple_cmd_chat_join(PurpleConversation *conv, const char *cmd, | 4901 yahoopurple_cmd_chat_join(PurpleConversation *conv, const char *cmd, |
4902 char **args, char **error, void *data) | 4902 char **args, char **error, void *data) |
4903 { | 4903 { |
4904 GHashTable *comp; | 4904 GHashTable *comp; |
4905 PurpleConnection *gc; | 4905 PurpleConnection *gc; |
4906 struct yahoo_data *yd; | 4906 YahooData *yd; |
4907 int id; | 4907 int id; |
4908 | 4908 |
4909 if (!args || !args[0]) | 4909 if (!args || !args[0]) |
4910 return PURPLE_CMD_RET_FAILED; | 4910 return PURPLE_CMD_RET_FAILED; |
4911 | 4911 |