Mercurial > pidgin
comparison src/blist.c @ 5237:757d680f923d
[gaim-migrate @ 5607]
I guess I shouldn't force the aliases on everyone...now they're optional.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sat, 26 Apr 2003 21:44:00 +0000 |
parents | 890b29f00b68 |
children | 60983a46700e |
comparison
equal
deleted
inserted
replaced
5236:0d4b8ca97c17 | 5237:757d680f923d |
---|---|
201 | 201 |
202 void gaim_blist_alias_chat(struct chat *chat, const char *alias) | 202 void gaim_blist_alias_chat(struct chat *chat, const char *alias) |
203 { | 203 { |
204 struct gaim_blist_ui_ops *ops = gaimbuddylist->ui_ops; | 204 struct gaim_blist_ui_ops *ops = gaimbuddylist->ui_ops; |
205 | 205 |
206 if(!alias || !strlen(alias)) | |
207 return; | |
208 | |
209 g_free(chat->alias); | 206 g_free(chat->alias); |
210 chat->alias = g_strdup(alias); | 207 |
208 if(alias && strlen(alias)) | |
209 chat->alias = g_strdup(alias); | |
210 else | |
211 chat->alias = NULL; | |
212 | |
211 if(ops) | 213 if(ops) |
212 ops->update(gaimbuddylist, (GaimBlistNode*)chat); | 214 ops->update(gaimbuddylist, (GaimBlistNode*)chat); |
213 } | 215 } |
214 | 216 |
215 void gaim_blist_alias_buddy (struct buddy *buddy, const char *alias) | 217 void gaim_blist_alias_buddy (struct buddy *buddy, const char *alias) |
245 struct chat *gaim_chat_new(struct gaim_account *account, const char *alias, GHashTable *components) | 247 struct chat *gaim_chat_new(struct gaim_account *account, const char *alias, GHashTable *components) |
246 { | 248 { |
247 struct chat *chat; | 249 struct chat *chat; |
248 struct gaim_blist_ui_ops *ops; | 250 struct gaim_blist_ui_ops *ops; |
249 | 251 |
250 if(!alias || !strlen(alias) || !components) | 252 if(!components) |
251 return NULL; | 253 return NULL; |
252 | 254 |
253 chat = g_new0(struct chat, 1); | 255 chat = g_new0(struct chat, 1); |
254 chat->account = account; | 256 chat->account = account; |
255 chat->alias = g_strdup(alias); | 257 if(alias && strlen(alias)) |
258 chat->alias = g_strdup(alias); | |
256 chat->components = components; | 259 chat->components = components; |
257 | 260 |
258 ((GaimBlistNode*)chat)->type = GAIM_BLIST_CHAT_NODE; | 261 ((GaimBlistNode*)chat)->type = GAIM_BLIST_CHAT_NODE; |
259 | 262 |
260 ops = gaim_get_blist_ui_ops(); | 263 ops = gaim_get_blist_ui_ops(); |
1213 tag_stack = g_list_delete_link(tag_stack, tag_stack); | 1216 tag_stack = g_list_delete_link(tag_stack, tag_stack); |
1214 blist_parser_group_settings = NULL; | 1217 blist_parser_group_settings = NULL; |
1215 } else if(!strcmp(element_name, "chat")) { | 1218 } else if(!strcmp(element_name, "chat")) { |
1216 struct gaim_account *account = gaim_account_find(blist_parser_account_name, | 1219 struct gaim_account *account = gaim_account_find(blist_parser_account_name, |
1217 blist_parser_account_protocol); | 1220 blist_parser_account_protocol); |
1218 if(account && blist_parser_chat_alias) { | 1221 if(account) { |
1219 struct chat *chat = gaim_chat_new(account, blist_parser_chat_alias, blist_parser_chat_components); | 1222 struct chat *chat = gaim_chat_new(account, blist_parser_chat_alias, blist_parser_chat_components); |
1220 struct group *g = gaim_find_group(blist_parser_group_name); | 1223 struct group *g = gaim_find_group(blist_parser_group_name); |
1221 gaim_blist_add_chat(chat,g,NULL); | 1224 gaim_blist_add_chat(chat,g,NULL); |
1222 } | 1225 } |
1223 g_free(blist_parser_chat_alias); | 1226 g_free(blist_parser_chat_alias); |
1558 g_free(acct_name); | 1561 g_free(acct_name); |
1559 } | 1562 } |
1560 } else if(GAIM_BLIST_NODE_IS_CHAT(bnode)) { | 1563 } else if(GAIM_BLIST_NODE_IS_CHAT(bnode)) { |
1561 struct chat *chat = (struct chat *)bnode; | 1564 struct chat *chat = (struct chat *)bnode; |
1562 if(!exp_acct || chat->account == exp_acct) { | 1565 if(!exp_acct || chat->account == exp_acct) { |
1563 char *chat_alias = g_markup_escape_text(chat->alias, -1); | |
1564 char *acct_name = g_markup_escape_text(chat->account->username, -1); | 1566 char *acct_name = g_markup_escape_text(chat->account->username, -1); |
1565 fprintf(file, "\t\t\t<chat protocol=\"%d\" account=\"%s\">\n", chat->account->protocol, acct_name); | 1567 fprintf(file, "\t\t\t<chat protocol=\"%d\" account=\"%s\">\n", chat->account->protocol, acct_name); |
1566 fprintf(file, "\t\t\t\t<alias>%s</alias>\n", chat_alias); | 1568 if(chat->alias) { |
1569 char *chat_alias = g_markup_escape_text(chat->alias, -1); | |
1570 fprintf(file, "\t\t\t\t<alias>%s</alias>\n", chat_alias); | |
1571 g_free(chat_alias); | |
1572 } | |
1567 g_hash_table_foreach(chat->components, | 1573 g_hash_table_foreach(chat->components, |
1568 blist_print_chat_components, file); | 1574 blist_print_chat_components, file); |
1569 fprintf(file, "\t\t\t</chat>\n"); | 1575 fprintf(file, "\t\t\t</chat>\n"); |
1576 g_free(acct_name); | |
1570 } | 1577 } |
1571 } | 1578 } |
1572 } | 1579 } |
1573 fprintf(file, "\t\t</group>\n"); | 1580 fprintf(file, "\t\t</group>\n"); |
1574 g_free(group_name); | 1581 g_free(group_name); |