X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=include%2Fasm-arm%2Farch-rpc%2Funcompress.h;h=43035fec64d21eef7ad94f0ba821db99e342468f;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=06231ede54e5c05c82ec1b8d8b625fb2da1f6a31;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/include/asm-arm/arch-rpc/uncompress.h b/include/asm-arm/arch-rpc/uncompress.h index 06231ede5..43035fec6 100644 --- a/include/asm-arm/arch-rpc/uncompress.h +++ b/include/asm-arm/arch-rpc/uncompress.h @@ -67,28 +67,31 @@ extern __attribute__((pure)) struct param_struct *params(void); /* * This does not append a newline */ -static void putc(int c) +static void putstr(const char *s) { extern void ll_write_char(char *, char c, char white); int x,y; + unsigned char c; char *ptr; x = params->video_x; y = params->video_y; - if (c == '\n') { - if (++y >= video_num_lines) - y--; - } else if (c == '\r') { - x = 0; - } else { - ptr = VIDMEM + ((y*video_num_columns*params->bytes_per_char_v+x)*bytes_per_char_h); - ll_write_char(ptr, c, white); - if (++x >= video_num_columns) { + while ( ( c = *(unsigned char *)s++ ) != '\0' ) { + if ( c == '\n' ) { x = 0; if ( ++y >= video_num_lines ) { y--; } + } else { + ptr = VIDMEM + ((y*video_num_columns*params->bytes_per_char_v+x)*bytes_per_char_h); + ll_write_char(ptr, c, white); + if ( ++x >= video_num_columns ) { + x = 0; + if ( ++y >= video_num_lines ) { + y--; + } + } } } @@ -96,10 +99,6 @@ static void putc(int c) params->video_y = y; } -static inline void flush(void) -{ -} - static void error(char *x); /*