|
@@ -43,16 +43,16 @@ static void conf_warning(const char *fmt, ...)
|
|
|
conf_warnings++;
|
|
|
}
|
|
|
|
|
|
-static void conf_default_message_callback(const char *fmt, va_list ap)
|
|
|
+static void conf_default_message_callback(const char *s)
|
|
|
{
|
|
|
printf("#\n# ");
|
|
|
- vprintf(fmt, ap);
|
|
|
+ printf("%s", s);
|
|
|
printf("\n#\n");
|
|
|
}
|
|
|
|
|
|
-static void (*conf_message_callback) (const char *fmt, va_list ap) =
|
|
|
+static void (*conf_message_callback)(const char *s) =
|
|
|
conf_default_message_callback;
|
|
|
-void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap))
|
|
|
+void conf_set_message_callback(void (*fn)(const char *s))
|
|
|
{
|
|
|
conf_message_callback = fn;
|
|
|
}
|
|
@@ -60,10 +60,15 @@ void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap))
|
|
|
static void conf_message(const char *fmt, ...)
|
|
|
{
|
|
|
va_list ap;
|
|
|
+ char buf[4096];
|
|
|
+
|
|
|
+ if (!conf_message_callback)
|
|
|
+ return;
|
|
|
|
|
|
va_start(ap, fmt);
|
|
|
- if (conf_message_callback)
|
|
|
- conf_message_callback(fmt, ap);
|
|
|
+
|
|
|
+ vsnprintf(buf, sizeof(buf), fmt, ap);
|
|
|
+ conf_message_callback(buf);
|
|
|
va_end(ap);
|
|
|
}
|
|
|
|