From: <ro...@us...> - 2006-06-16 03:24:49
|
Revision: 16267 Author: roast Date: 2006-06-15 20:24:46 -0700 (Thu, 15 Jun 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16267&view=rev Log Message: ----------- xml logger can now read the stuff it writes. no event support yet. Modified Paths: -------------- branches/soc-2006-file-loggers/src/log.c Modified: branches/soc-2006-file-loggers/src/log.c =================================================================== --- branches/soc-2006-file-loggers/src/log.c 2006-06-16 03:24:25 UTC (rev 16266) +++ branches/soc-2006-file-loggers/src/log.c 2006-06-16 03:24:46 UTC (rev 16267) @@ -52,7 +52,7 @@ static void xml_logger_finalize(GaimLog *log); static GList *xml_logger_list(GaimLogType type, const char *sn, GaimAccount *account); static GList *xml_logger_list_syslog(GaimAccount *account); -//static char *xml_logger_read(GaimLog *log, GaimLogReadFlags *flags); +static char *xml_logger_read(GaimLog *log, GaimLogReadFlags *flags); static int xml_logger_total_size(GaimLogType type, const char *name, GaimAccount *account); static gsize html_logger_write(GaimLog *log, GaimMessageFlags type, @@ -572,7 +572,7 @@ xml_logger_write, xml_logger_finalize, xml_logger_list, - txt_logger_read, + xml_logger_read, gaim_log_common_sizer, xml_logger_total_size, xml_logger_list_syslog); @@ -1086,8 +1086,25 @@ return gaim_log_common_lister(type, sn, account, ".chatlog", xml_logger); } -// xml_logger_Read +static char *xml_logger_read(GaimLog *log, GaimLogReadFlags *flags) +{ + char *read; + GaimLogCommonLoggerData *data = log->logger_data; + *flags = GAIM_LOG_READ_NO_NEWLINE; + if (!data || !data->path) + return g_strdup(_("<font color=\"red\"><b>Unable to find log path!</b></font>")); + if (g_file_get_contents(data->path, &read, NULL, NULL)) { + gboolean bad_formatting; + char *processed; + bad_formatting = gaim_ufl_to_xhtml(read, &processed); + + return processed; + } + return g_strdup_printf(_("<font color=\"red\"><b>Could not read file: %s</b></font>"), data->path); + +} + static int xml_logger_total_size(GaimLogType type, const char *name, GaimAccount *account) { return gaim_log_common_total_sizer(type, name, account, ".chatlog"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |