diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-05-31 15:53:37 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-05-31 15:53:37 -0700 |
commit | e9601c59e62abc17c79e6e8b205595b944dc6e09 (patch) | |
tree | fcb36ce198778fe8d00026d79b75eb4bab1c3d36 | |
parent | c5df73c44dc38eed2197c2d4799b324ce0542da6 (diff) | |
download | syslinux-e9601c59e62abc17c79e6e8b205595b944dc6e09.tar.gz |
If no serial console is configured, don't bother calling into it
If there is no serial console configured, we can simply drop writes
from com32 rather than letting syslinux do that.
-rw-r--r-- | com32/lib/sys/serial_write.c | 4 | ||||
-rw-r--r-- | com32/lib/sys/xserial_write.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/com32/lib/sys/serial_write.c b/com32/lib/sys/serial_write.c index 0235620b..b5930833 100644 --- a/com32/lib/sys/serial_write.c +++ b/com32/lib/sys/serial_write.c @@ -35,6 +35,7 @@ #include <string.h> #include <com32.h> #include <minmax.h> +#include <syslinux/config.h> #include "file.h" ssize_t __serial_write(struct file_info *fp, const void *buf, size_t count) @@ -45,6 +46,9 @@ ssize_t __serial_write(struct file_info *fp, const void *buf, size_t count) (void)fp; + if (!syslinux_serial_console_info()->iobase) + return count; /* Nothing to do */ + memset(&ireg, 0, sizeof ireg); ireg.eax.b[1] = 0x04; diff --git a/com32/lib/sys/xserial_write.c b/com32/lib/sys/xserial_write.c index ebdf296b..7964042e 100644 --- a/com32/lib/sys/xserial_write.c +++ b/com32/lib/sys/xserial_write.c @@ -37,6 +37,7 @@ #include <com32.h> #include <minmax.h> #include <colortbl.h> +#include <syslinux/config.h> #include "file.h" static void emit(char ch) @@ -61,6 +62,9 @@ ssize_t __xserial_write(struct file_info *fp, const void *buf, size_t count) (void)fp; + if (!syslinux_serial_console_info()->iobase) + return count; /* Nothing to do */ + while ( count-- ) { unsigned char ch = *bufp++; |