aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-10-14 08:58:47 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-10-14 08:58:47 +0100
commitc637aa4f78d48ffcd39b8352a7fd325add0f89f9 (patch)
tree783a472f56731258c99272764800564417c23d47 /extras
parenta45c214328817f7b7c800f45ea83955129b0142a (diff)
downloadxen-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')
-rw-r--r--extras/mini-os/console/console.c14
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)