Hi all,
this patch changes the end of line produced by minios' console from \n\r
to \r\n.
It applies after the other minios console fix sent as part of the
pci passthrough with stubdoms series.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
diff -r 18840671551b extras/mini-os/console/console.c
--- a/extras/mini-os/console/console.c Tue Oct 13 13:15:49 2009 +0100
+++ b/extras/mini-os/console/console.c Tue Oct 13 14:32:59 2009 +0100
@@ -79,7 +79,7 @@
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 @@
{
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 @@
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)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|