Lines Matching refs:pos

39 		int ln, const char *p, int *pos)
56 while (cp && (TBL_CELL_VERT == cp->pos ||
57 TBL_CELL_DVERT == cp->pos ||
58 TBL_CELL_SPAN == cp->pos))
68 tbl->parse, ln, *pos, NULL);
70 while (p[*pos])
71 (*pos)++;
77 dat->pos = TBL_DATA_NONE;
79 assert(TBL_CELL_SPAN != cp->pos);
82 if (TBL_CELL_SPAN == cp->pos)
95 sv = *pos;
96 while (p[*pos] && p[*pos] != tbl->opts.tab)
97 (*pos)++;
105 if (*pos - sv == 2 && 'T' == p[sv] && '{' == p[sv + 1]) {
110 assert(*pos - sv >= 0);
112 dat->string = mandoc_malloc((size_t)(*pos - sv + 1));
113 memcpy(dat->string, &p[sv], (size_t)(*pos - sv));
114 dat->string[*pos - sv] = '\0';
116 if (p[*pos])
117 (*pos)++;
120 dat->pos = TBL_DATA_HORIZ;
122 dat->pos = TBL_DATA_DHORIZ;
124 dat->pos = TBL_DATA_NHORIZ;
126 dat->pos = TBL_DATA_NDHORIZ;
128 dat->pos = TBL_DATA_DATA;
130 if (TBL_CELL_HORIZ == dat->layout->pos ||
131 TBL_CELL_DHORIZ == dat->layout->pos ||
132 TBL_CELL_DOWN == dat->layout->pos)
133 if (TBL_DATA_DATA == dat->pos && '\0' != *dat->string)
146 int pos;
148 pos = 0;
152 if (p[pos] == 'T' && p[pos + 1] == '}') {
153 pos += 2;
154 if (p[pos] == tbl->opts.tab) {
156 pos++;
157 return(data(tbl, tbl->last_span, ln, p, &pos));
158 } else if ('\0' == p[pos]) {
166 dat->pos = TBL_DATA_DATA;
176 if (TBL_CELL_DOWN == dat->layout->pos)
178 tbl->parse, ln, pos, NULL);
211 int pos;
213 pos = 0;
215 if ('\0' == p[pos]) {
216 mandoc_msg(MANDOCERR_TBL, tbl->parse, ln, pos, NULL);
230 if (tbl->last_span->pos == TBL_SPAN_DATA) {
233 switch (rp->first->pos) {
236 dp->pos = TBL_SPAN_HORIZ;
240 dp->pos = TBL_SPAN_DHORIZ;
260 dp->pos = TBL_SPAN_HORIZ;
263 dp->pos = TBL_SPAN_DHORIZ;
267 dp->pos = TBL_SPAN_DATA;
271 while ('\0' != p[pos])
272 if ( ! data(tbl, dp, ln, p, &pos))