summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/xml/tools.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index 8f0aa8a4..e2898e96 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -1656,18 +1656,27 @@ cleanup:
return rc;
}
+static void xml_logv(int log_level, const char *msg, va_list arg_ptr) {
+ char buffer[512], *escaped;
+
+ vsnprintf(buffer, 512, msg, arg_ptr);
+ escaped = g_strescape(buffer, NULL);
+ g_log("Lasso", log_level, "libxml2: %s", escaped);
+ lasso_release_string(escaped);
+}
+
static void __xmlWarningFunc(G_GNUC_UNUSED void *userData, const char *msg, ...) {
va_list arg_ptr;
va_start(arg_ptr, msg);
- g_logv("Lasso", G_LOG_LEVEL_WARNING, msg, arg_ptr);
+ xml_logv(G_LOG_LEVEL_WARNING, msg, arg_ptr);
}
static void __xmlErrorFunc(G_GNUC_UNUSED void *userData, const char *msg, ...) {
va_list arg_ptr;
va_start(arg_ptr, msg);
- g_logv("Lasso", G_LOG_LEVEL_CRITICAL, msg, arg_ptr);
+ xml_logv(G_LOG_LEVEL_CRITICAL, msg, arg_ptr);
}
/**