diff -r ba26e203a9ca -r 3da0d6dbb454 libpurple/log.c
--- a/libpurple/log.c Thu Aug 06 04:59:12 2009 +0000
+++ b/libpurple/log.c Thu Aug 06 05:45:47 2009 +0000
@@ -1375,6 +1375,7 @@
char *image_corrected_msg;
char *date;
char *header;
+ char *escaped_from;
PurplePlugin *plugin = purple_find_prpl(purple_account_get_protocol_id(log->account));
PurpleLogCommonLoggerData *data = log->logger_data;
gsize written = 0;
@@ -1413,6 +1414,8 @@
if(!data->file)
return 0;
+ escaped_from = g_markup_escape_text(from, -1);
+
image_corrected_msg = convert_image_tags(log, message);
purple_markup_html_to_xhtml(image_corrected_msg, &msg_fixed, NULL);
@@ -1434,34 +1437,35 @@
written += fprintf(data->file, "(%s) %s
\n", date, msg_fixed);
else if (type & PURPLE_MESSAGE_WHISPER)
written += fprintf(data->file, "(%s) %s: %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
else if (type & PURPLE_MESSAGE_AUTO_RESP) {
if (type & PURPLE_MESSAGE_SEND)
- written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, from, msg_fixed);
+ written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, escaped_from, msg_fixed);
else if (type & PURPLE_MESSAGE_RECV)
- written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, from, msg_fixed);
+ written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, escaped_from, msg_fixed);
} else if (type & PURPLE_MESSAGE_RECV) {
if(purple_message_meify(msg_fixed, -1))
written += fprintf(data->file, "(%s) ***%s %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
else
written += fprintf(data->file, "(%s) %s: %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
} else if (type & PURPLE_MESSAGE_SEND) {
if(purple_message_meify(msg_fixed, -1))
written += fprintf(data->file, "(%s) ***%s %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
else
written += fprintf(data->file, "(%s) %s: %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
} else {
purple_debug_error("log", "Unhandled message type.\n");
written += fprintf(data->file, "(%s) %s: %s
\n",
- date, from, msg_fixed);
+ date, escaped_from, msg_fixed);
}
}
g_free(date);
g_free(msg_fixed);
+ g_free(escaped_from);
fflush(data->file);
return written;