| 90 void |
90 void |
| 91 oscar_data_destroy(OscarData *od) |
91 oscar_data_destroy(OscarData *od) |
| 92 { |
92 { |
| 93 aim_cleansnacs(od, -1); |
93 aim_cleansnacs(od, -1); |
| 94 |
94 |
| |
95 while (od->requesticon) |
| |
96 { |
| |
97 gchar *sn = od->requesticon->data; |
| |
98 od->requesticon = g_slist_remove(od->requesticon, sn); |
| |
99 g_free(sn); |
| |
100 } |
| |
101 g_free(od->email); |
| |
102 g_free(od->newp); |
| |
103 g_free(od->oldp); |
| |
104 if (od->icontimer > 0) |
| |
105 gaim_timeout_remove(od->icontimer); |
| |
106 if (od->getblisttimer > 0) |
| |
107 gaim_timeout_remove(od->getblisttimer); |
| |
108 if (od->getinfotimer > 0) |
| |
109 gaim_timeout_remove(od->getinfotimer); |
| 95 while (od->oscar_connections != NULL) |
110 while (od->oscar_connections != NULL) |
| 96 flap_connection_destroy(od->oscar_connections->data); |
111 flap_connection_destroy(od->oscar_connections->data); |
| 97 |
112 |
| 98 while (od->peer_connections != NULL) |
113 while (od->peer_connections != NULL) |
| 99 peer_connection_destroy(od->peer_connections->data, |
114 peer_connection_destroy(od->peer_connections->data, |
| 107 g_hash_table_destroy(od->buddyinfo); |
122 g_hash_table_destroy(od->buddyinfo); |
| 108 |
123 |
| 109 g_free(od); |
124 g_free(od); |
| 110 } |
125 } |
| 111 |
126 |
| 112 int oscar_data_addhandler(OscarData *od, guint16 family, guint16 type, aim_rxcallback_t newhandler, guint16 flags) |
127 int |
| |
128 oscar_data_addhandler(OscarData *od, guint16 family, guint16 type, aim_rxcallback_t newhandler, guint16 flags) |
| 113 { |
129 { |
| 114 SnacHandler *snac_handler; |
130 SnacHandler *snac_handler; |
| 115 |
131 |
| 116 gaim_debug_misc("oscar", "Adding handler for %04x/%04x\n", family, type); |
132 gaim_debug_misc("oscar", "Adding handler for %04x/%04x\n", family, type); |
| 117 |
133 |