X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=sys%2Fsrc%2Flibdraw%2Feenter.c;h=6d5d70239d3cffbf4a9b27374e4e328653f89a86;hb=ce17224eaf159e48b4cbb40c437bb2b3e008ca9e;hp=9102d60c3644e9a555691682aa71adc57ff49624;hpb=aa3dd7fd8f1b9409979af8263f06e45505326fc1;p=plan9front.git diff --git a/sys/src/libdraw/eenter.c b/sys/src/libdraw/eenter.c index 9102d60c3..6d5d70239 100644 --- a/sys/src/libdraw/eenter.c +++ b/sys/src/libdraw/eenter.c @@ -95,6 +95,7 @@ eenter(char *ask, char *buf, int len, Mouse *m) } flushimage(display, 1); +nodraw: i = Ekeyboard; if(m != nil) i |= Emouse; @@ -153,12 +154,11 @@ eenter(char *ask, char *buf, int len, Mouse *m) if(k == Ketb){ while(tick > 0){ tick--; - if(tick == 0 || strchr("\t ", buf[tick-1])) + if(tick == 0 || + strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1])) break; } - if(n > tick) - memset(buf+tick, 0, n-tick); - n = tick; + buf[n = tick] = 0; break; } if(k == Kbs){ @@ -188,7 +188,7 @@ eenter(char *ask, char *buf, int len, Mouse *m) *m = ev.mouse; if(!ptinrect(m->xy, r)){ down = 0; - continue; + goto nodraw; } if(m->buttons & 7){ down = 1;