Mercurial > pidgin
comparison src/protocols/msn/session.c @ 8499:467b01d02f9c
[gaim-migrate @ 9235]
Multiple MSN chats should now work. Patch by Robert Mibus. Thanks!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 25 Mar 2004 02:55:42 +0000 |
parents | 06f57183e29f |
children | fc27237783ee |
comparison
equal
deleted
inserted
replaced
8498:0a9b591278bc | 8499:467b01d02f9c |
---|---|
218 MsnSwitchBoard *swboard; | 218 MsnSwitchBoard *swboard; |
219 | 219 |
220 g_return_val_if_fail(session != NULL, NULL); | 220 g_return_val_if_fail(session != NULL, NULL); |
221 g_return_val_if_fail(passport != NULL, NULL); | 221 g_return_val_if_fail(passport != NULL, NULL); |
222 | 222 |
223 for (l = session->switches; l != NULL; l = l->next) | |
224 { | |
225 swboard = (MsnSwitchBoard *)l->data; | |
226 | |
227 if (!swboard->hidden && !swboard->chat_id && | |
228 !g_ascii_strcasecmp(passport, | |
229 msn_user_get_passport(swboard->user))) | |
230 { | |
231 return swboard; | |
232 } | |
233 } | |
234 | |
235 return NULL; | |
236 } | |
237 | |
238 MsnSwitchBoard * | |
239 msn_session_find_switch_with_id(const MsnSession *session, int chat_id) | |
240 { | |
241 GList *l; | |
242 MsnSwitchBoard *swboard; | |
243 | |
244 g_return_val_if_fail(session != NULL, NULL); | |
245 g_return_val_if_fail(chat_id > 0, NULL); | |
246 | |
223 for (l = session->switches; l != NULL; l = l->next) { | 247 for (l = session->switches; l != NULL; l = l->next) { |
224 swboard = (MsnSwitchBoard *)l->data; | 248 swboard = (MsnSwitchBoard *)l->data; |
225 | 249 |
226 if (!swboard->hidden && | 250 if (swboard->chat_id == chat_id) |
227 !g_ascii_strcasecmp(passport, | |
228 msn_user_get_passport(swboard->user))) { | |
229 return swboard; | 251 return swboard; |
230 } | |
231 } | 252 } |
232 | 253 |
233 return NULL; | 254 return NULL; |
234 } | 255 } |
235 | 256 |
236 MsnSwitchBoard * | 257 MsnSwitchBoard * |
237 msn_session_find_switch_with_id(const MsnSession *session, int chat_id) | 258 msn_session_find_unused_switch(const MsnSession *session) |
238 { | 259 { |
239 GList *l; | 260 GList *l; |
240 MsnSwitchBoard *swboard; | 261 MsnSwitchBoard *swboard; |
241 | 262 |
242 g_return_val_if_fail(session != NULL, NULL); | 263 g_return_val_if_fail(session != NULL, NULL); |
243 g_return_val_if_fail(chat_id > 0, NULL); | |
244 | 264 |
245 for (l = session->switches; l != NULL; l = l->next) { | 265 for (l = session->switches; l != NULL; l = l->next) { |
246 swboard = (MsnSwitchBoard *)l->data; | 266 swboard = (MsnSwitchBoard *)l->data; |
247 | 267 |
248 if (swboard->chat_id == chat_id) | |
249 return swboard; | |
250 } | |
251 | |
252 return NULL; | |
253 } | |
254 | |
255 MsnSwitchBoard * | |
256 msn_session_find_unused_switch(const MsnSession *session) | |
257 { | |
258 GList *l; | |
259 MsnSwitchBoard *swboard; | |
260 | |
261 g_return_val_if_fail(session != NULL, NULL); | |
262 | |
263 for (l = session->switches; l != NULL; l = l->next) { | |
264 swboard = (MsnSwitchBoard *)l->data; | |
265 | |
266 if (!swboard->in_use) | 268 if (!swboard->in_use) |
267 return swboard; | 269 return swboard; |
268 } | 270 } |
269 | 271 |
270 return NULL; | 272 return NULL; |