MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / yaml_parser_initialize

Function yaml_parser_initialize

xs/tools/yaml/api.c:196–233  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194 */
195
196YAML_DECLARE(int)
197yaml_parser_initialize(yaml_parser_t *parser)
198{
199 assert(parser); /* Non-NULL parser object expected. */
200
201 memset(parser, 0, sizeof(yaml_parser_t));
202 if (!BUFFER_INIT(parser, parser->raw_buffer, INPUT_RAW_BUFFER_SIZE))
203 goto error;
204 if (!BUFFER_INIT(parser, parser->buffer, INPUT_BUFFER_SIZE))
205 goto error;
206 if (!QUEUE_INIT(parser, parser->tokens, INITIAL_QUEUE_SIZE))
207 goto error;
208 if (!STACK_INIT(parser, parser->indents, INITIAL_STACK_SIZE))
209 goto error;
210 if (!STACK_INIT(parser, parser->simple_keys, INITIAL_STACK_SIZE))
211 goto error;
212 if (!STACK_INIT(parser, parser->states, INITIAL_STACK_SIZE))
213 goto error;
214 if (!STACK_INIT(parser, parser->marks, INITIAL_STACK_SIZE))
215 goto error;
216 if (!STACK_INIT(parser, parser->tag_directives, INITIAL_STACK_SIZE))
217 goto error;
218
219 return 1;
220
221error:
222
223 BUFFER_DEL(parser, parser->raw_buffer);
224 BUFFER_DEL(parser, parser->buffer);
225 QUEUE_DEL(parser, parser->tokens);
226 STACK_DEL(parser, parser->indents);
227 STACK_DEL(parser, parser->simple_keys);
228 STACK_DEL(parser, parser->states);
229 STACK_DEL(parser, parser->marks);
230 STACK_DEL(parser, parser->tag_directives);
231
232 return 0;
233}
234
235/*
236 * Destroy a parser object.

Callers 4

fxReadConfigurationFunction · 0.85
fxRunContextFunction · 0.85
yaml.hFile · 0.85

Calls 1

assertFunction · 0.50

Tested by 1