Mercurial > pidgin
comparison libpurple/plugins/log_reader.c @ 24315:848542528965
Simplify some of the changes. Yeah, this code sucks. I wrote it a LONG
time ago. Let's finish gobjectification, and grow some good language
bindings so I can rewrite this in a higher-level language.
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Thu, 30 Oct 2008 02:36:22 +0000 |
parents | 0d0088b03745 |
children | 750f9b4d8547 |
comparison
equal
deleted
inserted
replaced
24314:0d0088b03745 | 24315:848542528965 |
---|---|
660 } else { | 660 } else { |
661 username = g_strdup(purple_normalize(account, account->username)); | 661 username = g_strdup(purple_normalize(account, account->username)); |
662 } | 662 } |
663 | 663 |
664 if (buddy) { | 664 if (buddy) { |
665 PurpleBlistNode *node = (PurpleBlistNode *)buddy; | 665 purple_blist_node_set_string(PURPLE_BLIST_NODE(buddy), |
666 savedfilename = purple_blist_node_get_string(node, "log_reader_msn_log_filename"); | 666 "log_reader_msn_log_filename", logfile); |
667 } | 667 } |
668 | 668 |
669 if (savedfilename) { | 669 if (savedfilename) { |
670 /* As a special case, we allow the null string to kill the parsing | 670 /* As a special case, we allow the null string to kill the parsing |
671 * straight away. This would allow the user to deal with the case | 671 * straight away. This would allow the user to deal with the case |
1020 } | 1020 } |
1021 } else if (to_name_matches) { | 1021 } else if (to_name_matches) { |
1022 name_guessed = NAME_GUESS_THEM; | 1022 name_guessed = NAME_GUESS_THEM; |
1023 } else { | 1023 } else { |
1024 if (buddy) { | 1024 if (buddy) { |
1025 const gchar *a = NULL, *server_alias = NULL; | 1025 const char *server_alias = NULL; |
1026 gchar *alias = NULL, *temp = NULL; | 1026 char *alias = g_strdup(purple_buddy_get_alias(buddy)); |
1027 | 1027 char *temp; |
1028 a = purple_buddy_get_alias(buddy); | |
1029 if(a) | |
1030 alias = g_strdup(a); | |
1031 | 1028 |
1032 /* "Truncate" the string at the first non-alphanumeric | 1029 /* "Truncate" the string at the first non-alphanumeric |
1033 * character. The idea is to relax the comparison. | 1030 * character. The idea is to relax the comparison. |
1034 */ | 1031 */ |
1035 for (temp = alias; *temp ; temp++) { | 1032 for (temp = alias; *temp ; temp++) { |
1570 if (*line) | 1567 if (*line) |
1571 line++; | 1568 line++; |
1572 g_string_append(formatted, "</b>"); | 1569 g_string_append(formatted, "</b>"); |
1573 footer = NULL; | 1570 footer = NULL; |
1574 } else if (strstr(line, " signed off ")) { | 1571 } else if (strstr(line, " signed off ")) { |
1575 if (buddy != NULL) { | 1572 const char *alias = NULL; |
1576 const gchar *alias = purple_buddy_get_alias(buddy); | 1573 |
1577 | 1574 if (buddy != NULL) |
1578 if(alias != NULL) | 1575 alias = purple_buddy_get_alias(buddy); |
1579 g_string_append_printf(formatted, | 1576 |
1580 _("%s has signed off."), alias); | 1577 if (alias != NULL) { |
1581 else | 1578 g_string_append_printf(formatted, |
1582 g_string_append_printf(formatted, | 1579 _("%s has signed off."), alias); |
1583 _("%s has signed off."), log->name); | |
1584 } else { | 1580 } else { |
1585 g_string_append_printf(formatted, | 1581 g_string_append_printf(formatted, |
1586 _("%s has signed off."), log->name); | 1582 _("%s has signed off."), log->name); |
1587 } | 1583 } |
1588 line = ""; | 1584 line = ""; |
1589 } else if (strstr(line, " signed on ")) { | 1585 } else if (strstr(line, " signed on ")) { |
1590 if (buddy != NULL) { | 1586 const char *alias = NULL; |
1591 const gchar *alias = purple_buddy_get_alias(buddy); | 1587 |
1592 | 1588 if (buddy != NULL) |
1593 if(alias) | 1589 alias = purple_buddy_get_alias(buddy); |
1594 g_string_append(formatted, alias); | 1590 |
1595 else | 1591 if (alias != NULL) |
1596 g_string_append(formatted, log->name); | 1592 g_string_append(formatted, alias); |
1597 } else { | 1593 else |
1598 g_string_append(formatted, log->name); | 1594 g_string_append(formatted, log->name); |
1599 } | 1595 |
1600 line = " logged in."; | 1596 line = " logged in."; |
1601 } else if (purple_str_has_prefix(line, | 1597 } else if (purple_str_has_prefix(line, |
1602 "One or more messages may have been undeliverable.")) { | 1598 "One or more messages may have been undeliverable.")) { |
1603 | 1599 |
1604 g_string_append(formatted, | 1600 g_string_append(formatted, |
1650 | 1646 |
1651 footer = "</span></b>"; | 1647 footer = "</span></b>"; |
1652 } | 1648 } |
1653 } else if (purple_str_has_prefix(line, data->their_nickname)) { | 1649 } else if (purple_str_has_prefix(line, data->their_nickname)) { |
1654 if (buddy != NULL) { | 1650 if (buddy != NULL) { |
1655 const gchar *alias = purple_buddy_get_alias(buddy); | 1651 const char *alias = purple_buddy_get_alias(buddy); |
1656 | 1652 |
1657 if(alias != NULL) { | 1653 if (alias != NULL) { |
1658 line += strlen(data->their_nickname) + 2; | 1654 line += strlen(data->their_nickname) + 2; |
1659 g_string_append_printf(formatted, | 1655 g_string_append_printf(formatted, |
1660 "<span style=\"color: #A82F2F;\">" | 1656 "<span style=\"color: #A82F2F;\">" |
1661 "<b>%s</b></span>: ", alias); | 1657 "<b>%s</b></span>: ", alias); |
1662 } | 1658 } |
2023 "(%u:%02u:%02u) %cM ", hour % 12, | 2019 "(%u:%02u:%02u) %cM ", hour % 12, |
2024 min, sec, (hour >= 12) ? 'P': 'A'); | 2020 min, sec, (hour >= 12) ? 'P': 'A'); |
2025 g_string_append(formatted, "</font> "); | 2021 g_string_append(formatted, "</font> "); |
2026 | 2022 |
2027 if (is_in_message) { | 2023 if (is_in_message) { |
2028 const gchar *alias = NULL; | 2024 const char *alias = NULL; |
2029 | 2025 |
2030 if (buddy_name != NULL && buddy != NULL && | 2026 if (buddy_name != NULL && buddy != NULL && |
2031 (alias = purple_buddy_get_alias(buddy))) | 2027 (alias = purple_buddy_get_alias(buddy))) |
2032 { | 2028 { |
2033 g_string_append_printf(formatted, | 2029 g_string_append_printf(formatted, |
2034 "<span style=\"color: #A82F2F;\">" | 2030 "<span style=\"color: #A82F2F;\">" |
2035 "<b>%s</b></span>: ", alias); | 2031 "<b>%s</b></span>: ", alias); |
2036 } | 2032 } |