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);