|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [mini-os master] Revert "mini-os: Remove \r\n conversion when writing to PV serial port"
commit 94cb25eb73e58e5c825c1ad5f6cf3d2647603a50
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
AuthorDate: Mon May 15 16:35:51 2017 +0100
Commit: Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Mon May 15 16:35:51 2017 +0100
Revert "mini-os: Remove \r\n conversion when writing to PV serial port"
This reverts commit 88c9b4357e5e7a2f3d7b7821a64a4454061631ed.
---
console/console.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/console/console.c b/console/console.c
index de94ad6..5538bd4 100644
--- a/console/console.c
+++ b/console/console.c
@@ -82,6 +82,10 @@ void xencons_tx(void)
void console_print(struct consfront_dev *dev, char *data, int length)
{
+ char *curr_char, saved_char;
+ char copied_str[length+1];
+ char *copied_ptr;
+ int part_len;
int (*ring_send_fn)(struct consfront_dev *dev, const char *data, unsigned
length);
if(!console_initialised)
@@ -89,7 +93,30 @@ void console_print(struct consfront_dev *dev, char *data,
int length)
else
ring_send_fn = xencons_ring_send;
- ring_send_fn(dev, data, length);
+ copied_ptr = copied_str;
+ memcpy(copied_ptr, data, length);
+ for(curr_char = copied_ptr; curr_char < copied_ptr+length-1; curr_char++)
+ {
+ if(*curr_char == '\n')
+ {
+ *curr_char = '\r';
+ saved_char = *(curr_char+1);
+ *(curr_char+1) = '\n';
+ part_len = curr_char - copied_ptr + 2;
+ ring_send_fn(dev, copied_ptr, part_len);
+ *(curr_char+1) = saved_char;
+ copied_ptr = curr_char+1;
+ 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);
}
void print(int direct, const char *fmt, va_list args)
--
generated by git-patchbot for /home/xen/git/mini-os.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |