diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-10-14 08:58:47 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-10-14 08:58:47 +0100 |
commit | c637aa4f78d48ffcd39b8352a7fd325add0f89f9 (patch) | |
tree | 783a472f56731258c99272764800564417c23d47 /extras/mini-os/console | |
parent | a45c214328817f7b7c800f45ea83955129b0142a (diff) | |
download | xen-c637aa4f78d48ffcd39b8352a7fd325add0f89f9.tar.gz xen-c637aa4f78d48ffcd39b8352a7fd325add0f89f9.tar.bz2 xen-c637aa4f78d48ffcd39b8352a7fd325add0f89f9.zip |
minios: fix console end of line: \n\r -> \r\n
Change the end of line produced by minios' console from \n\r to \r\n.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/console')
-rw-r--r-- | extras/mini-os/console/console.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/extras/mini-os/console/console.c b/extras/mini-os/console/console.c index 94cc9deb73..2b4ed9ff44 100644 --- a/extras/mini-os/console/console.c +++ b/extras/mini-os/console/console.c @@ -79,7 +79,7 @@ void xencons_tx(void) void console_print(struct consfront_dev *dev, char *data, int length) { char *curr_char, saved_char; - char copied_str[length]; + char copied_str[length+1]; char *copied_ptr; int part_len; int (*ring_send_fn)(struct consfront_dev *dev, const char *data, unsigned length); @@ -95,8 +95,9 @@ void console_print(struct consfront_dev *dev, char *data, int length) { if(*curr_char == '\n') { + *curr_char = '\r'; saved_char = *(curr_char+1); - *(curr_char+1) = '\r'; + *(curr_char+1) = '\n'; part_len = curr_char - copied_ptr + 2; ring_send_fn(dev, copied_ptr, part_len); *(curr_char+1) = saved_char; @@ -104,11 +105,14 @@ void console_print(struct consfront_dev *dev, char *data, int length) length -= part_len - 1; } } + + if (copied_ptr[length-1] == '\n') { + copied_ptr[length-1] = '\r'; + copied_ptr[length] = '\n'; + length++; + } ring_send_fn(dev, copied_ptr, length); - - if(copied_ptr[length-1] == '\n') - ring_send_fn(dev, "\r", 1); } void print(int direct, const char *fmt, va_list args) |