| 174 | */ |
| 175 | |
| 176 | YAML_DECLARE(int) |
| 177 | yaml_parser_initialize(yaml_parser_t *parser) |
| 178 | { |
| 179 | assert(parser); /* Non-NULL parser object expected. */ |
| 180 | |
| 181 | memset(parser, 0, sizeof(yaml_parser_t)); |
| 182 | if (!BUFFER_INIT(parser, parser->raw_buffer, INPUT_RAW_BUFFER_SIZE)) |
| 183 | goto error; |
| 184 | if (!BUFFER_INIT(parser, parser->buffer, INPUT_BUFFER_SIZE)) |
| 185 | goto error; |
| 186 | if (!QUEUE_INIT(parser, parser->tokens, INITIAL_QUEUE_SIZE, yaml_token_t*)) |
| 187 | goto error; |
| 188 | if (!STACK_INIT(parser, parser->indents, int*)) |
| 189 | goto error; |
| 190 | if (!STACK_INIT(parser, parser->simple_keys, yaml_simple_key_t*)) |
| 191 | goto error; |
| 192 | if (!STACK_INIT(parser, parser->states, yaml_parser_state_t*)) |
| 193 | goto error; |
| 194 | if (!STACK_INIT(parser, parser->marks, yaml_mark_t*)) |
| 195 | goto error; |
| 196 | if (!STACK_INIT(parser, parser->tag_directives, yaml_tag_directive_t*)) |
| 197 | goto error; |
| 198 | |
| 199 | return 1; |
| 200 | |
| 201 | error: |
| 202 | |
| 203 | BUFFER_DEL(parser, parser->raw_buffer); |
| 204 | BUFFER_DEL(parser, parser->buffer); |
| 205 | QUEUE_DEL(parser, parser->tokens); |
| 206 | STACK_DEL(parser, parser->indents); |
| 207 | STACK_DEL(parser, parser->simple_keys); |
| 208 | STACK_DEL(parser, parser->states); |
| 209 | STACK_DEL(parser, parser->marks); |
| 210 | STACK_DEL(parser, parser->tag_directives); |
| 211 | |
| 212 | return 0; |
| 213 | } |
| 214 | |
| 215 | /* |
| 216 | * Destroy a parser object. |
no outgoing calls
no test coverage detected