Lines Matching refs:rp
192 cell(struct tbl_node *tbl, struct tbl_row *rp,
202 if (rp->vert < 2)
203 rp->vert++;
235 if (rp->last == NULL)
238 else if (rp->last->pos == TBL_CELL_HORIZ ||
239 rp->last->pos == TBL_CELL_DHORIZ)
240 c = rp->last->pos;
241 } else if (c == TBL_CELL_DOWN && rp == tbl->first_row)
249 mods(tbl, cell_alloc(tbl, rp, c), ln, p, pos);
255 struct tbl_row *rp;
257 rp = NULL;
267 rp = NULL;
282 mandoc_calloc(1, sizeof(*rp));
297 for (rp = tbl->first_row; rp; rp = rp->next) {
298 if (tbl->opts.lvert < rp->vert)
299 tbl->opts.lvert = rp->vert;
300 if (rp->last != NULL &&
301 rp->last->col + 1 == tbl->opts.cols &&
302 tbl->opts.rvert < rp->last->vert)
303 tbl->opts.rvert = rp->last->vert;
307 if (rp->next != NULL &&
308 rp->next->first == NULL) {
309 free(rp->next);
310 rp->next = NULL;
323 if (rp == NULL) {
326 rp = mandoc_calloc(1, sizeof(*rp));
328 tbl->last_row->next = rp;
330 tbl->first_row = rp;
331 tbl->last_row = rp;
333 rp = tbl->last_row;
335 cell(tbl, rp, ln, p, &pos);
340 cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, enum tbl_cellt pos)
347 if ((pp = rp->last) != NULL) {
351 rp->first = p;
352 rp->last = p;