commit 0d2dfbc84f42317fab5bc247355868d86613f3b0 from: Russ Cox via: Russ Cox date: Tue Nov 10 15:34:06 2015 UTC 9term, win: better \r handling (thanks, git) Change-Id: I75563b911b54d8957d2d004b9c27d0a2f8f043b3 Reviewed-on: https://plan9port-review.googlesource.com/1390 Reviewed-by: Russ Cox commit - 8ee5da7cf764bf5685c137264cd4d6a03f12ba89 commit + 0d2dfbc84f42317fab5bc247355868d86613f3b0 blob - decfece7a81f5eb6d9e69dcae1f35ebe98928ee2 blob + 97ef6d87dd1b2ac81fe9f93df59b26c120b89087 --- src/cmd/9term/win.c +++ src/cmd/9term/win.c @@ -476,7 +476,33 @@ stdinproc(void *v) } } qunlock(&q.lk); + } +} + +int +dropcr(char *p, int n) +{ + int i; + char *w, *r; + + r = p; + w = p; + for(i=0; i p) + w--; + break; + case '\r': + *w++ = '\n'; + break; + default: + *w++ = *r; + break; + } + r++; } + return w-p; } void @@ -505,6 +531,10 @@ stdoutproc(void *v) continue; n = dropcrnl(buf+npart, n); + if(n == 0) + continue; + + n = dropcr(buf+npart, n); if(n == 0) continue; blob - 28d45cbb591faa7f41332d6d4211333dffe0dfc1 blob + b03f15fcc638e78eb0747a1a5c82c9c3056de0fe --- src/cmd/9term/wind.c +++ src/cmd/9term/wind.c @@ -361,7 +361,7 @@ winctl(void *arg) if(up == rp) initial = wbswidth(w, '\r'); }else if(i == nr-1) - *up = '\n'; + *up++ = '\n'; break; default: *up++ = *bp;