Lines Matching refs:rp
188 cell(struct tbl_node *tbl, struct tbl_row *rp,
198 if (rp->vert < 2)
199 rp->vert++;
231 if (rp->last == NULL)
234 else if (rp->last->pos == TBL_CELL_HORIZ ||
235 rp->last->pos == TBL_CELL_DHORIZ)
236 c = rp->last->pos;
237 } else if (c == TBL_CELL_DOWN && rp == tbl->first_row)
245 mods(tbl, cell_alloc(tbl, rp, c), ln, p, pos);
251 struct tbl_row *rp;
253 rp = NULL;
263 rp = NULL;
278 mandoc_calloc(1, sizeof(*rp));
293 for (rp = tbl->first_row; rp; rp = rp->next) {
294 if (tbl->opts.lvert < rp->vert)
295 tbl->opts.lvert = rp->vert;
296 if (rp->last != NULL &&
297 rp->last->col + 1 == tbl->opts.cols &&
298 tbl->opts.rvert < rp->last->vert)
299 tbl->opts.rvert = rp->last->vert;
303 if (rp->next != NULL &&
304 rp->next->first == NULL) {
305 free(rp->next);
306 rp->next = NULL;
307 tbl->last_row = rp;
320 if (rp == NULL) {
323 rp = mandoc_calloc(1, sizeof(*rp));
325 tbl->last_row->next = rp;
327 tbl->first_row = rp;
328 tbl->last_row = rp;
330 rp = tbl->last_row;
332 cell(tbl, rp, ln, p, &pos);
337 cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, enum tbl_cellt pos)
344 if ((pp = rp->last) != NULL) {
348 rp->first = p;
349 rp->last = p;