diff options
author | Eion Robb <eion@robbmob.com> | 2008-12-06 12:07:22 +0300 |
---|---|---|
committer | Eion Robb <eion@robbmob.com> | 2008-12-06 12:07:22 +0300 |
commit | 2a2fc26dcd4e140454679c97af15829c36f3f3dc (patch) | |
tree | 952778a9db1bc6f55fbe52f9c63dbbb0d58e2c39 | |
parent | 191a426d9926c22d3da173e3bfbcd9c9c283b993 (diff) |
Fix for crash of debug messages with % in them
-rw-r--r-- | debug.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -67,6 +67,7 @@ skype_debug_vargs(PurpleDebugLevel level, const char *category, const char *format, va_list args) { SkypeDebugWrapper *wrapper; + gchar *message; if (purple_eventloop_get_ui_ops() == NULL) { @@ -76,7 +77,9 @@ skype_debug_vargs(PurpleDebugLevel level, const char *category, wrapper = g_new(SkypeDebugWrapper, 1); wrapper->level = level; wrapper->category = g_strdup(category); - wrapper->message = g_strdup_vprintf(format, args); + message = g_strdup_vprintf(format, args); + wrapper->message = purple_strreplace(message, "%", "%%"); + g_free(message); purple_timeout_add(1, (GSourceFunc) skype_debug_cb, (gpointer)wrapper); } |