Mercurial > pidgin
comparison libpurple/account.c @ 21792:f5d8acf1c5f4
Normalize the names appropriately when searching for accounts. This should
allow finding accounts with the same username but different resources in jabber.
References #2049.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Thu, 06 Dec 2007 09:52:58 +0000 |
parents | e8e9a53b7694 |
children | d62d7412eca4 |
comparison
equal
deleted
inserted
replaced
21791:c80d0732fa40 | 21792:f5d8acf1c5f4 |
---|---|
2527 GList *l; | 2527 GList *l; |
2528 char *who; | 2528 char *who; |
2529 | 2529 |
2530 g_return_val_if_fail(name != NULL, NULL); | 2530 g_return_val_if_fail(name != NULL, NULL); |
2531 | 2531 |
2532 who = g_strdup(purple_normalize(NULL, name)); | |
2533 | |
2534 for (l = purple_accounts_get_all(); l != NULL; l = l->next) { | 2532 for (l = purple_accounts_get_all(); l != NULL; l = l->next) { |
2535 account = (PurpleAccount *)l->data; | 2533 account = (PurpleAccount *)l->data; |
2536 | 2534 |
2537 if (!strcmp(purple_normalize(NULL, purple_account_get_username(account)), who) && | 2535 who = g_strdup(purple_normalize(account, name)); |
2536 if (!strcmp(purple_normalize(account, purple_account_get_username(account)), who) && | |
2538 (!protocol_id || !strcmp(account->protocol_id, protocol_id))) { | 2537 (!protocol_id || !strcmp(account->protocol_id, protocol_id))) { |
2539 | 2538 g_free(who); |
2540 break; | 2539 break; |
2541 } | 2540 } |
2542 | 2541 g_free(who); |
2543 account = NULL; | 2542 account = NULL; |
2544 } | 2543 } |
2545 | |
2546 g_free(who); | |
2547 | 2544 |
2548 return account; | 2545 return account; |
2549 } | 2546 } |
2550 | 2547 |
2551 void | 2548 void |