# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1256289598 -3600
# Node ID 9c2328a6f768265646da64094fe9a58134e2e0e6
# Parent 774e2cf9d238e664ab61281671b1dcb0ab7da221
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@xxxxxxxxxxxxx>
xen-unstable changeset: 20311:71c859535c6b
xen-unstable date: Wed Oct 14 08:58:47 2009 +0100
---
extras/mini-os/console/console.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff -r 774e2cf9d238 -r 9c2328a6f768 extras/mini-os/console/console.c
--- a/extras/mini-os/console/console.c Fri Oct 23 10:19:36 2009 +0100
+++ b/extras/mini-os/console/console.c Fri Oct 23 10:19:58 2009 +0100
@@ -79,7 +79,7 @@ void console_print(char *data, int lengt
void console_print(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)(const char *data, unsigned length);
@@ -95,8 +95,9 @@ void console_print(char *data, int lengt
{
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(char *data, int lengt
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("\r", 1);
}
void print(int direct, const char *fmt, va_list args)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|