Lines Matching +full:- +full:sv
48 int sv; in getdata() local
55 sv = *pos; in getdata()
56 while (p[*pos] != '\0' && p[*pos] != tbl->opts.tab) in getdata()
61 cp = dp->last == NULL ? dp->layout->first : dp->last->layout->next; in getdata()
62 while (cp != NULL && cp->pos == TBL_CELL_SPAN) in getdata()
63 cp = cp->next; in getdata()
73 if (dp->layout->last->col + 1 < dp->opts->cols) { in getdata()
75 cp->pos = TBL_CELL_LEFT; in getdata()
76 dp->layout->last->next = cp; in getdata()
77 cp->col = dp->layout->last->col + 1; in getdata()
78 dp->layout->last = cp; in getdata()
81 ln, sv, "%s", p + sv); in getdata()
89 dat->layout = cp; in getdata()
90 dat->next = NULL; in getdata()
91 dat->string = NULL; in getdata()
92 dat->hspans = 0; in getdata()
93 dat->vspans = 0; in getdata()
94 dat->block = 0; in getdata()
95 dat->pos = TBL_DATA_NONE; in getdata()
105 if (cp->pos == TBL_CELL_DOWN || in getdata()
106 (*pos - sv == 2 && p[sv] == '\\' && p[sv + 1] == '^')) { in getdata()
108 while ((pdp = pdp->prev) != NULL) { in getdata()
109 pdat = pdp->first; in getdata()
111 pdat->layout->col < dat->layout->col) in getdata()
112 pdat = pdat->next; in getdata()
115 if (pdat->layout->pos != TBL_CELL_DOWN && in getdata()
116 strcmp(pdat->string, "\\^") != 0) { in getdata()
117 pdat->vspans++; in getdata()
128 for (cp = cp->next; cp != NULL; cp = cp->next) in getdata()
129 if (cp->pos == TBL_CELL_SPAN) in getdata()
130 dat->hspans++; in getdata()
136 if (dp->last == NULL) in getdata()
137 dp->first = dat; in getdata()
139 dp->last->next = dat; in getdata()
140 dp->last = dat; in getdata()
143 * Check for a continued-data scope opening. This consists of a in getdata()
148 if (*pos - sv == 2 && p[sv] == 'T' && p[sv + 1] == '{') { in getdata()
149 tbl->part = TBL_PART_CDATA; in getdata()
153 dat->string = mandoc_strndup(p + sv, *pos - sv); in getdata()
158 if ( ! strcmp(dat->string, "_")) in getdata()
159 dat->pos = TBL_DATA_HORIZ; in getdata()
160 else if ( ! strcmp(dat->string, "=")) in getdata()
161 dat->pos = TBL_DATA_DHORIZ; in getdata()
162 else if ( ! strcmp(dat->string, "\\_")) in getdata()
163 dat->pos = TBL_DATA_NHORIZ; in getdata()
164 else if ( ! strcmp(dat->string, "\\=")) in getdata()
165 dat->pos = TBL_DATA_NDHORIZ; in getdata()
167 dat->pos = TBL_DATA_DATA; in getdata()
169 if ((dat->layout->pos == TBL_CELL_HORIZ || in getdata()
170 dat->layout->pos == TBL_CELL_DHORIZ || in getdata()
171 dat->layout->pos == TBL_CELL_DOWN) && in getdata()
172 dat->pos == TBL_DATA_DATA && *dat->string != '\0') in getdata()
174 ln, sv, "%s", dat->string); in getdata()
183 dat = tbl->last_span->last; in tbl_cdata()
187 if (p[pos] == tbl->opts.tab) { in tbl_cdata()
188 tbl->part = TBL_PART_DATA; in tbl_cdata()
191 getdata(tbl, tbl->last_span, ln, p, &pos); in tbl_cdata()
194 tbl->part = TBL_PART_DATA; in tbl_cdata()
201 dat->pos = TBL_DATA_DATA; in tbl_cdata()
202 dat->block = 1; in tbl_cdata()
204 if (dat->string != NULL) { in tbl_cdata()
205 sz = strlen(p + pos) + strlen(dat->string) + 2; in tbl_cdata()
206 dat->string = mandoc_realloc(dat->string, sz); in tbl_cdata()
207 (void)strlcat(dat->string, " ", sz); in tbl_cdata()
208 (void)strlcat(dat->string, p + pos, sz); in tbl_cdata()
210 dat->string = mandoc_strdup(p + pos); in tbl_cdata()
212 if (dat->layout->pos == TBL_CELL_DOWN) in tbl_cdata()
214 ln, pos, "%s", dat->string); in tbl_cdata()
223 dp->line = line; in newspan()
224 dp->opts = &tbl->opts; in newspan()
225 dp->layout = rp; in newspan()
226 dp->prev = tbl->last_span; in newspan()
228 if (dp->prev == NULL) { in newspan()
229 tbl->first_span = dp; in newspan()
230 tbl->current_span = NULL; in newspan()
232 dp->prev->next = dp; in newspan()
233 tbl->last_span = dp; in newspan()
245 rp = (sp = tbl->last_span) == NULL ? tbl->first_row : in tbl_data()
246 sp->pos == TBL_SPAN_DATA && sp->layout->next != NULL ? in tbl_data()
247 sp->layout->next : sp->layout; in tbl_data()
263 sp->pos = TBL_SPAN_HORIZ; in tbl_data()
267 sp->pos = TBL_SPAN_DHORIZ; in tbl_data()
280 while (rp->next != NULL) { in tbl_data()
281 if (rp->last->col + 1 < tbl->opts.cols) in tbl_data()
283 for (cp = rp->first; cp != NULL; cp = cp->next) in tbl_data()
284 if (cp->pos != TBL_CELL_HORIZ && in tbl_data()
285 cp->pos != TBL_CELL_DHORIZ) in tbl_data()
290 sp->pos = TBL_SPAN_DATA; in tbl_data()
291 rp = rp->next; in tbl_data()
297 sp->pos = TBL_SPAN_DATA; in tbl_data()