int _frfindbox(Frame *f, int bn, ulong p, ulong q) /* find box containing q and put q on a box boundary */ { Frbox *b; for(b = &f->box[bn]; bn<f->nbox && p+NRUNE(b)<=q; bn++, b++) p += NRUNE(b); if(p != q) _frsplitbox(f, bn++, (int)(q-p)); return bn; }
int _frstrlen(Frame *f, int nb) { int n; for(n=0; nb<f->nbox; nb++) n += NRUNE(&f->box[nb]); return n; }