Lines Matching defs:sp
35 vs_column(SCR *sp, size_t *colp)
39 vip = VIP(sp);
41 *colp = (O_ISSET(sp, O_LEFTRIGHT) ?
42 vip->sc_smap->coff : (vip->sc_smap->soff - 1) * sp->cols) +
43 vip->sc_col - (O_ISSET(sp, O_NUMBER) ? O_NUMBER_LENGTH : 0);
56 vs_screens(SCR *sp, recno_t lno, size_t *cnop)
61 if (O_ISSET(sp, O_LEFTRIGHT))
71 if (VIP(sp)->ss_lno == lno)
72 return (VIP(sp)->ss_screens);
77 cols = vs_columns(sp, NULL, lno, cnop, NULL);
79 screens = (cols / sp->cols + (cols % sp->cols ? 1 : 0));
85 VIP(sp)->ss_lno = lno;
86 VIP(sp)->ss_screens = screens;
99 vs_columns(SCR *sp, CHAR_T *lp, recno_t lno, size_t *cnop, size_t *diffp)
111 if (O_ISSET(sp, O_NUMBER))
116 (void)db_get(sp, lno, 0, &lp, &len);
129 listset = O_ISSET(sp, O_LIST);
130 leftright = O_ISSET(sp, O_LEFTRIGHT);
140 !listset ? TAB_OFF(val) : KEY_COL(sp, ch);
151 if (!leftright && curoff >= sp->cols) \
154 scno -= scno % sp->cols; \
156 curoff -= sp->cols; \
177 scno += KEY_LEN(sp, '$');
198 vs_rcm(SCR *sp, recno_t lno, int islast)
204 if (db_get(sp, lno, 0, NULL, &len) || len == 0)
210 if (sp->rcm == 0)
213 return (vs_colpos(sp, lno, sp->rcm));
224 vs_colpos(SCR *sp, recno_t lno, size_t cno)
231 (void)db_get(sp, lno, 0, &lp, &llen);
238 listset = O_ISSET(sp, O_LIST);
239 leftright = O_ISSET(sp, O_LEFTRIGHT);
242 off = cno / sp->cols;
243 cno %= sp->cols;
245 for (; len && scno < sp->cols; --len)
264 scno -= sp->cols;