};
#endif
-void vprintmsg(int level, const char *name, size_t line, char *errtype, const char *msg, va_list ap)
+void vprintmsg(int level, const char *name, size_t line, const char *msgtype, const char *msg, va_list ap)
{
- va_list va;
-
#ifndef WIN32
- fprintf (stderr, "\033[0;%dm%s:%d \033[0;%dm%s: \033[0m", CON_CYAN, name, (int)line, levelcolor[level], errtype);
+ fprintf (stderr, "\033[0;%dm%s:%d: \033[0;%dm%s: \033[0m", CON_CYAN, name, (int)line, levelcolor[level], msgtype);
#else
- fprintf (stderr, "%s:%d %s: ", name, line, errtype);
+ fprintf (stderr, "%s:%d: %s: ", name, line, msgtype);
#endif
- vfprintf(stderr, msg, va);
+ vfprintf(stderr, msg, ap);
fprintf (stderr, "\n");
}
-void printmsg(int level, const char *name, size_t line, char *errtype, const char *msg, ...)
+void printmsg(int level, const char *name, size_t line, const char *msgtype, const char *msg, ...)
+{
+ va_list va;
+ va_start(va, msg);
+ vprintmsg(level, name, line, msgtype, msg, va);
+ va_end (va);
+}
+
+void cvprintmsg(lex_ctx ctx, int lvl, const char *msgtype, const char *msg, va_list ap)
+{
+ vprintmsg(lvl, ctx.file, ctx.line, msgtype, msg, ap);
+}
+
+void cprintmsg (lex_ctx ctx, int lvl, const char *msgtype, const char *msg, ...)
{
va_list va;
va_start(va, msg);
- vprintmsg(level, name, line, errtype, msg, va);
+ cvprintmsg(ctx, lvl, msgtype, msg, va);
va_end (va);
}