diff options
author | Jacob Moody <moody@posixcafe.org> | 2023-01-30 19:28:44 +0000 |
---|---|---|
committer | Jacob Moody <moody@posixcafe.org> | 2023-01-30 19:28:44 +0000 |
commit | 006b925a2aedeff506430c4b028a04687e8560ff (patch) | |
tree | ef626eb0db8d440cab694f178131cdc17b7ca108 /sys/src/cmd/ktrans | |
parent | a5c6374b77610cb2bcb794551475e092d990ef8b (diff) |
ktrans: simplify kbdtap read loop
we were not handling multi null delimted messages
with one read. This makes us a bit more uniform to
other handling on the system as well ... something about clever
code.
Diffstat (limited to 'sys/src/cmd/ktrans')
-rw-r--r-- | sys/src/cmd/ktrans/main.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/src/cmd/ktrans/main.c b/sys/src/cmd/ktrans/main.c index a7bbbc1db..196956201 100644 --- a/sys/src/cmd/ktrans/main.c +++ b/sys/src/cmd/ktrans/main.c @@ -696,7 +696,7 @@ kbdtap(void*) { char m[Msgsize]; char buf[128]; - char *p, *e; + char *p; int n; threadsetname("kbdtap"); @@ -705,7 +705,7 @@ kbdtap(void*) n = read(kbdin, buf, sizeof buf); if(n < 0) break; - for(p = buf; p < buf+n;){ + for(p = buf; p < buf+n; p += strlen(p) + 1){ switch(*p){ case 'c': case 'k': case 'K': case 'z': @@ -713,10 +713,7 @@ kbdtap(void*) default: goto Drop; } - *m = *p++; - e = utfecpy(m+1, m + Msgsize - 1, p); - p += e - m; - p++; + strcpy(m, p); if(send(input, m) == -1) return; } |