diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-07 02:24:16 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-07 02:24:16 +0100 |
commit | 720967f9849b63881ee705ab597975db1e628b33 (patch) | |
tree | b8071d1f2377712f306ad1849d99553b5c9f8616 /sys/src/libframe/frinsert.c | |
parent | ee4ddd77f70132904f3c9cedb38540b336c68f70 (diff) |
libframe: fix _frcanfit() for zero width runes, simplify chopframe()
Diffstat (limited to 'sys/src/libframe/frinsert.c')
-rw-r--r-- | sys/src/libframe/frinsert.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/src/libframe/frinsert.c b/sys/src/libframe/frinsert.c index 2c40955ba..a090e24f1 100644 --- a/sys/src/libframe/frinsert.c +++ b/sys/src/libframe/frinsert.c @@ -78,11 +78,10 @@ static void chopframe(Frame *f, Point pt, ulong p, int bn) { - Frbox *b; + Frbox *b, *eb; - for(b = &f->box[bn]; ; b++){ - if(b >= &f->box[f->nbox]) - drawerror(f->display, "endofframe"); + eb = &f->box[f->nbox]; + for(b = &f->box[bn]; b < eb; b++){ _frcklinewrap(f, &pt, b); if(pt.y >= f->r.max.y) break; @@ -91,7 +90,7 @@ chopframe(Frame *f, Point pt, ulong p, int bn) } f->nchars = p; f->nlines = f->maxlines; - if(b<&f->box[f->nbox]) /* BUG */ + if(b < eb) /* BUG */ _frdelbox(f, (int)(b-f->box), f->nbox-1); } |