From ff9f4dd59cbdc1b382a1154b0a80439c81fd9cd9 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Tue, 11 Sep 2007 11:22:29 +0000 Subject: [PATCH] fix for i/o data/addr pair set macro's. --- drivers/printer/printer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/printer/printer.c b/drivers/printer/printer.c index 88ed7c16a..037268b41 100644 --- a/drivers/printer/printer.c +++ b/drivers/printer/printer.c @@ -90,7 +90,7 @@ PRIVATE int revive_status; /* revive status */ PRIVATE int done_status; /* status of last output completion */ PRIVATE int oleft; /* bytes of output left in obuf */ PRIVATE char obuf[128]; /* output buffer */ -PRIVATE char *optr; /* ptr to next char in obuf to print */ +PRIVATE unsigned char *optr; /* ptr to next char in obuf to print */ PRIVATE int orig_count; /* original byte count */ PRIVATE int port_base; /* I/O port for printer */ PRIVATE int proc_nr; /* user requesting the printing */ @@ -432,7 +432,8 @@ PRIVATE void do_printer_output() } if ((status & STATUS_MASK) == NORMAL_STATUS) { /* Everything is all right. Output another character. */ - pv_set(char_out[0], port_base, *optr++); + pv_set(char_out[0], port_base, *optr); + optr++; pv_set(char_out[1], port_base+2, ASSERT_STROBE); pv_set(char_out[2], port_base+2, NEGATE_STROBE); if(sys_voutb(char_out, 3) != OK) {