Mercurial > pidgin
comparison libpurple/plugins/log_reader.c @ 32819:2c6510167895 default tip
propagate from branch 'im.pidgin.pidgin.2.x.y' (head 3315c5dfbd0ad16511bdcf865e5b07c02d07df24)
to branch 'im.pidgin.pidgin' (head cbd1eda6bcbf0565ae7766396bb8f6f419cb6a9a)
| author | Elliott Sales de Andrade <qulogic@pidgin.im> |
|---|---|
| date | Sat, 02 Jun 2012 02:30:49 +0000 |
| parents | f07501af8bae |
| children |
comparison
equal
deleted
inserted
replaced
| 32818:01ff09d4a463 | 32819:2c6510167895 |
|---|---|
| 90 if (!prpl_info->list_icon) | 90 if (!prpl_info->list_icon) |
| 91 return NULL; | 91 return NULL; |
| 92 | 92 |
| 93 prpl_name = g_ascii_strup(prpl_info->list_icon(account, NULL), -1); | 93 prpl_name = g_ascii_strup(prpl_info->list_icon(account, NULL), -1); |
| 94 | 94 |
| 95 temp = g_strdup_printf("%s.%s", prpl_name, account->username); | 95 temp = g_strdup_printf("%s.%s", prpl_name, purple_account_get_username(account)); |
| 96 path = g_build_filename(logdir, temp, sn, NULL); | 96 path = g_build_filename(logdir, temp, sn, NULL); |
| 97 g_free(temp); | 97 g_free(temp); |
| 98 | 98 |
| 99 dir = g_dir_open(path, 0, NULL); | 99 dir = g_dir_open(path, 0, NULL); |
| 100 if (dir) { | 100 if (dir) { |
| 633 struct msn_logger_data *data = NULL; | 633 struct msn_logger_data *data = NULL; |
| 634 | 634 |
| 635 g_return_val_if_fail(sn != NULL, NULL); | 635 g_return_val_if_fail(sn != NULL, NULL); |
| 636 g_return_val_if_fail(account != NULL, NULL); | 636 g_return_val_if_fail(account != NULL, NULL); |
| 637 | 637 |
| 638 if (strcmp(account->protocol_id, "prpl-msn")) | 638 if (strcmp(purple_account_get_protocol_id(account), "prpl-msn")) |
| 639 return NULL; | 639 return NULL; |
| 640 | 640 |
| 641 logdir = purple_prefs_get_string("/plugins/core/log_reader/msn/log_directory"); | 641 logdir = purple_prefs_get_string("/plugins/core/log_reader/msn/log_directory"); |
| 642 | 642 |
| 643 /* By clearing the log directory path, this logger can be (effectively) disabled. */ | 643 /* By clearing the log directory path, this logger can be (effectively) disabled. */ |
| 656 if (!*username) { | 656 if (!*username) { |
| 657 g_free(username); | 657 g_free(username); |
| 658 return list; | 658 return list; |
| 659 } | 659 } |
| 660 } else { | 660 } else { |
| 661 username = g_strdup(purple_normalize(account, account->username)); | 661 username = g_strdup(purple_normalize(account, purple_account_get_username(account))); |
| 662 } | 662 } |
| 663 | 663 |
| 664 if (buddy) { | 664 if (buddy) { |
| 665 savedfilename = purple_blist_node_get_string((PurpleBlistNode *)buddy, | 665 savedfilename = purple_blist_node_get_string((PurpleBlistNode *)buddy, |
| 666 "log_reader_msn_log_filename"); | 666 "log_reader_msn_log_filename"); |
| 972 } | 972 } |
| 973 } | 973 } |
| 974 | 974 |
| 975 their_name = from_name; | 975 their_name = from_name; |
| 976 if (from_name && purple_prefs_get_bool("/plugins/core/log_reader/use_name_heuristics")) { | 976 if (from_name && purple_prefs_get_bool("/plugins/core/log_reader/use_name_heuristics")) { |
| 977 const char *friendly_name = purple_connection_get_display_name(log->account->gc); | 977 const char *friendly_name = purple_connection_get_display_name(purple_account_get_connection(log->account)); |
| 978 | 978 |
| 979 if (friendly_name != NULL) { | 979 if (friendly_name != NULL) { |
| 980 int friendly_name_length = strlen(friendly_name); | 980 int friendly_name_length = strlen(friendly_name); |
| 981 const char *alias; | 981 const char *alias; |
| 982 int alias_length; | 982 int alias_length; |
| 985 gboolean to_name_matches; | 985 gboolean to_name_matches; |
| 986 | 986 |
| 987 if (buddy) | 987 if (buddy) |
| 988 their_name = purple_buddy_get_alias(buddy); | 988 their_name = purple_buddy_get_alias(buddy); |
| 989 | 989 |
| 990 if (log->account->alias) | 990 alias = purple_account_get_alias(log->account); |
| 991 { | 991 if (alias) { |
| 992 alias = log->account->alias; | |
| 993 alias_length = strlen(alias); | 992 alias_length = strlen(alias); |
| 994 } | 993 } else { |
| 995 else | |
| 996 { | |
| 997 alias = ""; | 994 alias = ""; |
| 998 alias_length = 0; | 995 alias_length = 0; |
| 999 } | 996 } |
| 1000 | 997 |
| 1001 /* Try to guess which user is me. | 998 /* Try to guess which user is me. |
| 1113 | 1110 |
| 1114 if (from_name) { | 1111 if (from_name) { |
| 1115 text = g_string_append(text, "<b>"); | 1112 text = g_string_append(text, "<b>"); |
| 1116 | 1113 |
| 1117 if (name_guessed == NAME_GUESS_ME) { | 1114 if (name_guessed == NAME_GUESS_ME) { |
| 1118 if (log->account->alias) | 1115 if (purple_account_get_alias(log->account)) |
| 1119 text = g_string_append(text, log->account->alias); | 1116 text = g_string_append(text, purple_account_get_alias(log->account)); |
| 1120 else | 1117 else |
| 1121 text = g_string_append(text, log->account->username); | 1118 text = g_string_append(text, purple_account_get_username(log->account)); |
| 1122 } | 1119 } |
| 1123 else if (name_guessed == NAME_GUESS_THEM) | 1120 else if (name_guessed == NAME_GUESS_THEM) |
| 1124 text = g_string_append(text, their_name); | 1121 text = g_string_append(text, their_name); |
| 1125 else | 1122 else |
| 1126 text = g_string_append(text, from_name); | 1123 text = g_string_append(text, from_name); |
| 1779 | 1776 |
| 1780 g_return_val_if_fail(sn != NULL, NULL); | 1777 g_return_val_if_fail(sn != NULL, NULL); |
| 1781 g_return_val_if_fail(account != NULL, NULL); | 1778 g_return_val_if_fail(account != NULL, NULL); |
| 1782 | 1779 |
| 1783 /* QIP only supports ICQ. */ | 1780 /* QIP only supports ICQ. */ |
| 1784 if (strcmp(account->protocol_id, "prpl-icq")) | 1781 if (strcmp(purple_account_get_protocol_id(account), "prpl-icq")) |
| 1785 return NULL; | 1782 return NULL; |
| 1786 | 1783 |
| 1787 logdir = purple_prefs_get_string("/plugins/core/log_reader/qip/log_directory"); | 1784 logdir = purple_prefs_get_string("/plugins/core/log_reader/qip/log_directory"); |
| 1788 | 1785 |
| 1789 /* By clearing the log directory path, this logger can be (effectively) disabled. */ | 1786 /* By clearing the log directory path, this logger can be (effectively) disabled. */ |
| 1796 | 1793 |
| 1797 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(plugin); | 1794 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(plugin); |
| 1798 if (!prpl_info->list_icon) | 1795 if (!prpl_info->list_icon) |
| 1799 return NULL; | 1796 return NULL; |
| 1800 | 1797 |
| 1801 username = g_strdup(purple_normalize(account, account->username)); | 1798 username = g_strdup(purple_normalize(account, purple_account_get_username(account))); |
| 1802 filename = g_strdup_printf("%s.txt", purple_normalize(account, sn)); | 1799 filename = g_strdup_printf("%s.txt", purple_normalize(account, sn)); |
| 1803 path = g_build_filename(logdir, username, "History", filename, NULL); | 1800 path = g_build_filename(logdir, username, "History", filename, NULL); |
| 1804 g_free(username); | 1801 g_free(username); |
| 1805 g_free(filename); | 1802 g_free(filename); |
| 1806 | 1803 |
| 2204 + strlen(AMSN_LOG_CONV_EXTRA); | 2201 + strlen(AMSN_LOG_CONV_EXTRA); |
| 2205 log = purple_log_new(PURPLE_LOG_IM, sn, account, NULL, mktime(&tm), NULL); | 2202 log = purple_log_new(PURPLE_LOG_IM, sn, account, NULL, mktime(&tm), NULL); |
| 2206 log->logger = amsn_logger; | 2203 log->logger = amsn_logger; |
| 2207 log->logger_data = data; | 2204 log->logger_data = data; |
| 2208 list = g_list_prepend(list, log); | 2205 list = g_list_prepend(list, log); |
| 2209 found_start = FALSE; | |
| 2210 | 2206 |
| 2211 purple_debug_info("aMSN logger", | 2207 purple_debug_info("aMSN logger", |
| 2212 "Found log for %s:" | 2208 "Found log for %s:" |
| 2213 " path = (%s)," | 2209 " path = (%s)," |
| 2214 " offset = (%d)," | 2210 " offset = (%d)," |
| 2239 /* By clearing the log directory path, this logger can be (effectively) disabled. */ | 2235 /* By clearing the log directory path, this logger can be (effectively) disabled. */ |
| 2240 if (!logdir || !*logdir) | 2236 if (!logdir || !*logdir) |
| 2241 return NULL; | 2237 return NULL; |
| 2242 | 2238 |
| 2243 /* aMSN only works with MSN/WLM */ | 2239 /* aMSN only works with MSN/WLM */ |
| 2244 if (strcmp(account->protocol_id, "prpl-msn")) | 2240 if (strcmp(purple_account_get_protocol_id(account), "prpl-msn")) |
| 2245 return NULL; | 2241 return NULL; |
| 2246 | 2242 |
| 2247 username = g_strdup(purple_normalize(account, account->username)); | 2243 username = g_strdup(purple_normalize(account, purple_account_get_username(account))); |
| 2248 buddy_log = g_strdup_printf("%s.log", purple_normalize(account, sn)); | 2244 buddy_log = g_strdup_printf("%s.log", purple_normalize(account, sn)); |
| 2249 log_path = g_build_filename(logdir, username, "logs", NULL); | 2245 log_path = g_build_filename(logdir, username, "logs", NULL); |
| 2250 | 2246 |
| 2251 /* First check in the top-level */ | 2247 /* First check in the top-level */ |
| 2252 filename = g_build_filename(log_path, buddy_log, NULL); | 2248 filename = g_build_filename(log_path, buddy_log, NULL); |
