diff --git a/src/arch/i386/interface/vmware/vmconsole.c b/src/arch/i386/interface/vmware/vmconsole.c index 096b1af1..7f02c50e 100644 --- a/src/arch/i386/interface/vmware/vmconsole.c +++ b/src/arch/i386/interface/vmware/vmconsole.c @@ -51,10 +51,18 @@ static struct { .prefix = "log ", }; +/** VMware logfile console ANSI escape sequence handlers */ +static struct ansiesc_handler vmconsole_handlers[] = { + { 0, NULL } +}; + /** VMware logfile line console */ static struct line_console vmconsole_line = { .buffer = vmconsole_buffer.message, .len = sizeof ( vmconsole_buffer.message ), + .ctx = { + .handlers = vmconsole_handlers, + }, }; /** VMware logfile console recursion marker */ diff --git a/src/core/lineconsole.c b/src/core/lineconsole.c index c43a2875..71bc1f8b 100644 --- a/src/core/lineconsole.c +++ b/src/core/lineconsole.c @@ -29,16 +29,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include -/** Line-based console ANSI escape sequence handlers */ -static struct ansiesc_handler line_ansiesc_handlers[] = { - { 0, NULL } -}; - -/** Line-based console ANSI escape sequence context */ -static struct ansiesc_context line_ansiesc_ctx = { - .handlers = line_ansiesc_handlers, -}; - /** * Print a character to a line-based console * @@ -48,7 +38,7 @@ static struct ansiesc_context line_ansiesc_ctx = { size_t line_putchar ( struct line_console *line, int character ) { /* Strip ANSI escape sequences */ - character = ansiesc_process ( &line_ansiesc_ctx, character ); + character = ansiesc_process ( &line->ctx, character ); if ( character < 0 ) return 0; diff --git a/src/include/ipxe/lineconsole.h b/src/include/ipxe/lineconsole.h index d53a0e9f..925c0acc 100644 --- a/src/include/ipxe/lineconsole.h +++ b/src/include/ipxe/lineconsole.h @@ -10,6 +10,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include +#include /** A line-based console */ struct line_console { @@ -26,6 +27,8 @@ struct line_console { * a potential terminating NUL. */ size_t len; + /** ANSI escape sequence context */ + struct ansiesc_context ctx; }; extern size_t line_putchar ( struct line_console *line, int character ); diff --git a/src/net/udp/syslog.c b/src/net/udp/syslog.c index abf51359..caa0d0b2 100644 --- a/src/net/udp/syslog.c +++ b/src/net/udp/syslog.c @@ -68,10 +68,18 @@ static struct interface syslogger = INTF_INIT ( syslogger_desc ); /** Syslog line buffer */ static char syslog_buffer[SYSLOG_BUFSIZE]; +/** Syslog ANSI escape sequence handlers */ +static struct ansiesc_handler syslog_handlers[] = { + { 0, NULL } +}; + /** Syslog line console */ static struct line_console syslog_line = { .buffer = syslog_buffer, .len = sizeof ( syslog_buffer ), + .ctx = { + .handlers = syslog_handlers, + }, }; /** Syslog recursion marker */