The ncurses console uses mvwaddchnstr() to print a line of output
to a ncurses pad. Unfortunately this routine stops to print further
chars if a zero-char is seen in the line. This has the effect that
parts of a line are never redraw.

The following patch puts spaces instead of the zeros into the line-buffer.
Please note that this change affects other consoles as well and is
perhaps undesirable. Comments?


        Bernhard Kauer
Index: console.h
--- console.h	10 Feb 2008 16:33:13 -0000	1.2
+++ console.h	25 Feb 2008 17:25:53 -0000
@@ -104,7 +104,8 @@
 typedef unsigned long console_ch_t;
 static inline void console_write_ch(console_ch_t *dest, uint32_t ch)
 {
-    cpu_to_le32wu((uint32_t *) dest, ch);
+  if (!(ch & 0xff))  ch = 0x20;
+  cpu_to_le32wu((uint32_t *) dest, ch);
 }
 
 typedef void (*vga_hw_update_ptr)(void *);

Reply via email to