| 335 | } |
| 336 | |
| 337 | static AVExpr * parse_expr(Parser *p) { |
| 338 | AVExpr * e; |
| 339 | |
| 340 | if(p->stack_index <= 0) //protect against stack overflows |
| 341 | return NULL; |
| 342 | p->stack_index--; |
| 343 | |
| 344 | e = parse_subexpr(p); |
| 345 | |
| 346 | while(*p->s == ';') { |
| 347 | p->s++; |
| 348 | e= new_eval_expr(e_last, 1, e, parse_subexpr(p)); |
| 349 | if (!e) |
| 350 | return NULL; |
| 351 | }; |
| 352 | |
| 353 | p->stack_index++; |
| 354 | |
| 355 | return e; |
| 356 | } |
| 357 | |
| 358 | static int verify_expr(AVExpr * e) { |
| 359 | if (!e) return 0; |
no test coverage detected