Mercurial > pidgin
changeset 4444:fd83159169db
[gaim-migrate @ 4719]
ok, i'm done cleaning this for tonight.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 28 Jan 2003 06:51:58 +0000 |
parents | 00a22e2e8367 |
children | a65555132674 |
files | src/list.c |
diffstat | 1 files changed, 20 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/list.c Tue Jan 28 06:45:08 2003 +0000 +++ b/src/list.c Tue Jan 28 06:51:58 2003 +0000 @@ -768,8 +768,10 @@ } else if(!strcmp(element_name, "group")) { blist_parser_current_tag = BLIST_TAG_GROUP; for(i=0; attribute_names[i]; i++) { - if(!strcmp(attribute_names[i], "name")) + if(!strcmp(attribute_names[i], "name")) { + g_free(blist_parser_group_name); blist_parser_group_name = g_strdup(attribute_values[i]); + } } if(blist_parser_group_name) { add_group(blist_parser_group_name); @@ -777,16 +779,20 @@ } else if(!strcmp(element_name, "person")) { blist_parser_current_tag = BLIST_TAG_PERSON; for(i=0; attribute_names[i]; i++) { - if(!strcmp(attribute_names[i], "name")) + if(!strcmp(attribute_names[i], "name")) { + g_free(blist_parser_person_name); blist_parser_person_name = g_strdup(attribute_values[i]); + } } } else if(!strcmp(element_name, "buddy")) { blist_parser_current_tag = BLIST_TAG_BUDDY; for(i=0; attribute_names[i]; i++) { - if(!strcmp(attribute_names[i], "account")) + if(!strcmp(attribute_names[i], "account")) { + g_free(blist_parser_account_name); blist_parser_account_name = g_strdup(attribute_values[i]); - else if(!strcmp(attribute_names[i], "protocol")) + } else if(!strcmp(attribute_names[i], "protocol")) { blist_parser_account_protocol = atoi(attribute_values[i]); + } } } else if(!strcmp(element_name, "name")) { blist_parser_current_tag = BLIST_TAG_NAME; @@ -795,8 +801,10 @@ } else if(!strcmp(element_name, "setting")) { blist_parser_current_tag = BLIST_TAG_SETTING; for(i=0; attribute_names[i]; i++) { - if(!strcmp(attribute_names[i], "name")) + if(!strcmp(attribute_names[i], "name")) { + g_free(blist_parser_setting_name); blist_parser_setting_name = g_strdup(attribute_values[i]); + } } } else if(!strcmp(element_name, "privacy")) { blist_parser_current_tag = BLIST_TAG_PRIVACY; @@ -807,8 +815,10 @@ blist_parser_account_protocol = atoi(attribute_values[i]); else if(!strcmp(attribute_names[i], "mode")) blist_parser_privacy_mode = atoi(attribute_values[i]); - else if(!strcmp(attribute_names[i], "name")) + else if(!strcmp(attribute_names[i], "name")) { + g_free(blist_parser_account_name); blist_parser_account_name = g_strdup(attribute_values[i]); + } } } else if(!strcmp(element_name, "permit")) { blist_parser_current_tag = BLIST_TAG_PERMIT; @@ -882,16 +892,18 @@ if(user) { gaim_privacy_permit_add(user, blist_parser_buddy_name); } + blist_parser_current_tag = BLIST_TAG_ACCOUNT; g_free(blist_parser_buddy_name); - blist_parser_current_tag = BLIST_TAG_ACCOUNT; + blist_parser_buddy_name = NULL; } else if(!strcmp(element_name, "block")) { struct aim_user *user = find_user(blist_parser_account_name, blist_parser_account_protocol); if(user) { gaim_privacy_deny_add(user, blist_parser_buddy_name); } + blist_parser_current_tag = BLIST_TAG_ACCOUNT; g_free(blist_parser_buddy_name); - blist_parser_current_tag = BLIST_TAG_ACCOUNT; + blist_parser_buddy_name = NULL; } else if(!strcmp(element_name, "ignore")) { /* we'll apparently do something with this later */ blist_parser_current_tag = BLIST_TAG_ACCOUNT;