aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd/tcs/utf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/tcs/utf.c b/src/cmd/tcs/utf.c
index f87a310b..4045332d 100644
--- a/src/cmd/tcs/utf.c
+++ b/src/cmd/tcs/utf.c
@@ -45,7 +45,7 @@ utf_in(int fd, long *notused, struct convert *out)
tot = 0;
while((n = read(fd, buf+tot, N-tot)) >= 0){
tot += n;
- for(i=j=0; i<tot-UTFmax || (n==0 && i<tot); ){
+ for(i=j=0; i<=tot-UTFmax || (i<tot && (n==0 || fullrune(buf+i, tot-i))); ){
c = our_mbtowc(&l, buf+i, tot-i);
if(c == -1){
if(squawk)