---
tools/flterm.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/tools/flterm.c b/tools/flterm.c
index 4a496aa..3de00ad 100644
--- a/tools/flterm.c
+++ b/tools/flterm.c
@@ -385,6 +385,7 @@ static void do_terminal(char *serial_port,
FILE *logfd = NULL;
struct termios my_termios;
char c;
+ char utf8;
int recognized;
struct pollfd fds[3];
int flags;
@@ -492,8 +493,18 @@ static void do_terminal(char *serial_port,
if(fds[1].revents & POLLIN) {
if(read(serialfd, &c, 1) <= 0) break;
- fwrite(&c, sizeof(c), 1, logfd);
- fflush(logfd);
+ if(logfd != NULL) {
+ if(c >= 0x80) {
+ utf8 = 0xc2 + (c > 0xbf);
+ fwrite(&utf8, sizeof(utf8), 1, logfd);
+ utf8 = (c & 0x3f) + 0x80;
+ fwrite(&utf8, sizeof(utf8), 1, logfd);
+ } else if(c) {
+ fwrite(&c, sizeof(c), 1, logfd);
+ }
+
+ if(c == '\n') fflush(logfd);
+ }
if(gdbfd != -1 && rsp_pending && (c == '+' || c ==
'-')) {
rsp_pending = 0;
--
1.7.4.1
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode