*** empty log message ***
[libfirm] / ir / common / debug.c
index 6227443..12c3467 100644 (file)
 #include "obst.h"
 #include "set.h"
 
+#ifdef WITH_LIBCORE
+
+#include "irargs_t.h"
+
+static void firm_dbg_default_printer(struct obstack *obst, const char *fmt, va_list args)
+{
+  static arg_env_t *env = NULL;
+
+  if(!env)
+    env = firm_get_arg_env();
+
+  lc_evoprintf(env, obst, fmt, args);
+
+}
+
+firm_dbg_module_t *firm_dbg_register(const char *name)
+{
+  return dbg_register_with_printer(name, firm_dbg_default_printer);
+}
+
+#else
+
 static struct obstack dbg_obst;
 static set *module_set;
 
@@ -80,6 +102,8 @@ static void *make_msg_info(const firm_dbg_module_t *mod, const char *fmt, va_lis
 
        obstack_grow(&dbg_obst, msg_header, sizeof(msg_header) - 1);
        ir_obst_vprintf(&dbg_obst, fmt, args);
+       obstack_1grow(&dbg_obst, '\0');
+
        res->msg = obstack_finish(&dbg_obst);
        res->mod = mod;
        return res;
@@ -107,3 +131,6 @@ void _firm_dbg_print_msg(const char *filename, int line, const char *func, void
                obstack_free(&dbg_obst, mi);
        }
 }
+
+
+#endif /* WITH_LIBCORE */