Lines Matching refs:mt
66 struct mystate *mt; in StartElement() local
71 mt = userData; in StartElement()
72 mt->level++; in StartElement()
73 mt->sbuf[mt->level] = sbuf_new_auto(); in StartElement()
79 mt->nident++; in StartElement()
84 mt->level + 1, mt->level + 1, "", in StartElement()
87 if (!strcmp(name, "class") && mt->class == NULL) { in StartElement()
88 mt->class = calloc(1, sizeof *mt->class); in StartElement()
89 if (mt->class == NULL) { in StartElement()
90 mt->error = errno; in StartElement()
91 XML_StopParser(mt->parser, 0); in StartElement()
96 mt->class->lg_id = id; in StartElement()
97 LIST_INSERT_HEAD(&mt->mesh->lg_class, mt->class, lg_class); in StartElement()
98 LIST_INIT(&mt->class->lg_geom); in StartElement()
99 LIST_INIT(&mt->class->lg_config); in StartElement()
102 if (!strcmp(name, "geom") && mt->geom == NULL) { in StartElement()
103 mt->geom = calloc(1, sizeof *mt->geom); in StartElement()
104 if (mt->geom == NULL) { in StartElement()
105 mt->error = errno; in StartElement()
106 XML_StopParser(mt->parser, 0); in StartElement()
111 mt->geom->lg_id = id; in StartElement()
112 LIST_INSERT_HEAD(&mt->class->lg_geom, mt->geom, lg_geom); in StartElement()
113 LIST_INIT(&mt->geom->lg_provider); in StartElement()
114 LIST_INIT(&mt->geom->lg_consumer); in StartElement()
115 LIST_INIT(&mt->geom->lg_config); in StartElement()
118 if (!strcmp(name, "class") && mt->geom != NULL) { in StartElement()
119 mt->geom->lg_class = ref; in StartElement()
122 if (!strcmp(name, "consumer") && mt->consumer == NULL) { in StartElement()
123 mt->consumer = calloc(1, sizeof *mt->consumer); in StartElement()
124 if (mt->consumer == NULL) { in StartElement()
125 mt->error = errno; in StartElement()
126 XML_StopParser(mt->parser, 0); in StartElement()
131 mt->consumer->lg_id = id; in StartElement()
132 LIST_INSERT_HEAD(&mt->geom->lg_consumer, mt->consumer, in StartElement()
134 LIST_INIT(&mt->consumer->lg_config); in StartElement()
137 if (!strcmp(name, "geom") && mt->consumer != NULL) { in StartElement()
138 mt->consumer->lg_geom = ref; in StartElement()
141 if (!strcmp(name, "provider") && mt->consumer != NULL) { in StartElement()
142 mt->consumer->lg_provider = ref; in StartElement()
145 if (!strcmp(name, "provider") && mt->provider == NULL) { in StartElement()
146 mt->provider = calloc(1, sizeof *mt->provider); in StartElement()
147 if (mt->provider == NULL) { in StartElement()
148 mt->error = errno; in StartElement()
149 XML_StopParser(mt->parser, 0); in StartElement()
154 mt->provider->lg_id = id; in StartElement()
155 LIST_INSERT_HEAD(&mt->geom->lg_provider, mt->provider, in StartElement()
157 LIST_INIT(&mt->provider->lg_consumers); in StartElement()
158 LIST_INIT(&mt->provider->lg_config); in StartElement()
161 if (!strcmp(name, "geom") && mt->provider != NULL) { in StartElement()
162 mt->provider->lg_geom = ref; in StartElement()
166 if (mt->provider != NULL) { in StartElement()
167 mt->config = &mt->provider->lg_config; in StartElement()
170 if (mt->consumer != NULL) { in StartElement()
171 mt->config = &mt->consumer->lg_config; in StartElement()
174 if (mt->geom != NULL) { in StartElement()
175 mt->config = &mt->geom->lg_config; in StartElement()
178 if (mt->class != NULL) { in StartElement()
179 mt->config = &mt->class->lg_config; in StartElement()
188 struct mystate *mt; in EndElement() local
193 mt = userData; in EndElement()
195 if (sbuf_finish(mt->sbuf[mt->level]) == 0) in EndElement()
196 p = strdup(sbuf_data(mt->sbuf[mt->level])); in EndElement()
197 sbuf_delete(mt->sbuf[mt->level]); in EndElement()
198 mt->sbuf[mt->level] = NULL; in EndElement()
199 mt->level--; in EndElement()
201 mt->error = errno; in EndElement()
202 XML_StopParser(mt->parser, 0); in EndElement()
213 if (mt->provider != NULL) { in EndElement()
214 mt->provider->lg_name = p; in EndElement()
216 } else if (mt->geom != NULL) { in EndElement()
217 mt->geom->lg_name = p; in EndElement()
219 } else if (mt->class != NULL) { in EndElement()
220 mt->class->lg_name = p; in EndElement()
224 if (!strcmp(name, "rank") && mt->geom != NULL) { in EndElement()
225 mt->geom->lg_rank = strtoul(p, NULL, 0); in EndElement()
229 if (!strcmp(name, "mode") && mt->provider != NULL) { in EndElement()
230 mt->provider->lg_mode = p; in EndElement()
233 if (!strcmp(name, "mode") && mt->consumer != NULL) { in EndElement()
234 mt->consumer->lg_mode = p; in EndElement()
237 if (!strcmp(name, "mediasize") && mt->provider != NULL) { in EndElement()
238 mt->provider->lg_mediasize = strtoumax(p, NULL, 0); in EndElement()
242 if (!strcmp(name, "sectorsize") && mt->provider != NULL) { in EndElement()
243 mt->provider->lg_sectorsize = strtoul(p, NULL, 0); in EndElement()
247 if (!strcmp(name, "stripesize") && mt->provider != NULL) { in EndElement()
248 mt->provider->lg_stripesize = strtoumax(p, NULL, 0); in EndElement()
252 if (!strcmp(name, "stripeoffset") && mt->provider != NULL) { in EndElement()
253 mt->provider->lg_stripeoffset = strtoumax(p, NULL, 0); in EndElement()
259 mt->config = NULL; in EndElement()
264 if (mt->config != NULL || (!strcmp(name, "wither") && in EndElement()
265 (mt->provider != NULL || mt->geom != NULL))) { in EndElement()
266 if (mt->config != NULL) in EndElement()
267 c = mt->config; in EndElement()
268 else if (mt->provider != NULL) in EndElement()
269 c = &mt->provider->lg_config; in EndElement()
271 c = &mt->geom->lg_config; in EndElement()
274 mt->error = errno; in EndElement()
275 XML_StopParser(mt->parser, 0); in EndElement()
283 mt->error = errno; in EndElement()
284 XML_StopParser(mt->parser, 0); in EndElement()
303 if (!strcmp(name, "consumer") && mt->consumer != NULL) { in EndElement()
304 mt->consumer = NULL; in EndElement()
307 if (!strcmp(name, "provider") && mt->provider != NULL) { in EndElement()
308 mt->provider = NULL; in EndElement()
311 if (!strcmp(name, "geom") && mt->consumer != NULL) { in EndElement()
314 if (!strcmp(name, "geom") && mt->provider != NULL) { in EndElement()
317 if (!strcmp(name, "geom") && mt->geom != NULL) { in EndElement()
318 mt->geom = NULL; in EndElement()
321 if (!strcmp(name, "class") && mt->geom != NULL) { in EndElement()
324 if (!strcmp(name, "class") && mt->class != NULL) { in EndElement()
325 mt->class = NULL; in EndElement()
333 struct mystate *mt; in CharData() local
336 mt = userData; in CharData()
345 sbuf_bcat(mt->sbuf[mt->level], b, e - b + 1); in CharData()
363 struct mystate *mt; in geom_xml2tree() local
375 mt = calloc(1, sizeof *mt); in geom_xml2tree()
376 if (mt == NULL) { in geom_xml2tree()
380 mt->mesh = gmp; in geom_xml2tree()
381 mt->parser = parser; in geom_xml2tree()
383 XML_SetUserData(parser, mt); in geom_xml2tree()
387 if (mt->error != 0) in geom_xml2tree()
388 error = mt->error; in geom_xml2tree()
395 free(mt); in geom_xml2tree()
398 gmp->lg_ident = calloc(sizeof *gmp->lg_ident, mt->nident + 1); in geom_xml2tree()
399 free(mt); in geom_xml2tree()