From aa3dd7fd8f1b9409979af8263f06e45505326fc1 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 26 Sep 2012 15:48:57 +0200 Subject: libdraw: fix ^W corner case tick == 0 for enter()/eenter() --- sys/src/libdraw/eenter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys/src/libdraw/eenter.c') diff --git a/sys/src/libdraw/eenter.c b/sys/src/libdraw/eenter.c index a3c60a881..9102d60c3 100644 --- a/sys/src/libdraw/eenter.c +++ b/sys/src/libdraw/eenter.c @@ -152,10 +152,12 @@ eenter(char *ask, char *buf, int len, Mouse *m) } if(k == Ketb){ while(tick > 0){ - buf[--tick] = 0; + tick--; if(tick == 0 || strchr("\t ", buf[tick-1])) break; } + if(n > tick) + memset(buf+tick, 0, n-tick); n = tick; break; } -- cgit v1.2.3