| 1165 | */ |
| 1166 | |
| 1167 | static int |
| 1168 | yaml_parser_increase_flow_level(yaml_parser_t *parser) |
| 1169 | { |
| 1170 | yaml_simple_key_t empty_simple_key = { 0, 0, 0, { 0, 0, 0 } }; |
| 1171 | |
| 1172 | /* Reset the simple key on the next level. */ |
| 1173 | |
| 1174 | if (!PUSH(parser, parser->simple_keys, empty_simple_key)) |
| 1175 | return 0; |
| 1176 | |
| 1177 | /* Increase the flow level. */ |
| 1178 | |
| 1179 | if (parser->flow_level == INT_MAX) { |
| 1180 | parser->error = YAML_MEMORY_ERROR; |
| 1181 | return 0; |
| 1182 | } |
| 1183 | |
| 1184 | if (!STACK_LIMIT(parser, parser->indents, MAX_NESTING_LEVEL - parser->flow_level)) { |
| 1185 | return yaml_parser_set_scanner_error(parser, |
| 1186 | "while increasing flow level", parser->mark, |
| 1187 | "exceeded maximum nesting depth"); |
| 1188 | } |
| 1189 | |
| 1190 | parser->flow_level++; |
| 1191 | |
| 1192 | return 1; |
| 1193 | } |
| 1194 | |
| 1195 | /* |
| 1196 | * Decrease the flow level. |
no test coverage detected