aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/interface/vmware/vmconsole.c8
-rw-r--r--src/core/lineconsole.c12
-rw-r--r--src/include/ipxe/lineconsole.h3
-rw-r--r--src/net/udp/syslog.c8
4 files changed, 20 insertions, 11 deletions
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 <ipxe/ansiesc.h>
#include <ipxe/lineconsole.h>
-/** 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 <stdint.h>
+#include <ipxe/ansiesc.h>
/** 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 */