@@ -80,6 +80,12 @@ const phvolt_token_names phvolt_tokens[] =
80
80
{ SL ("EXTENDS" ), PHVOLT_T_EXTENDS },
81
81
{ SL ("IS" ), PHVOLT_T_IS },
82
82
{ SL ("DEFINED" ), PHVOLT_T_DEFINED },
83
+ { SL ("EMPTY" ), PHVOLT_T_EMPTY },
84
+ { SL ("EVEN" ), PHVOLT_T_EVEN },
85
+ { SL ("ODD" ), PHVOLT_T_ODD },
86
+ { SL ("NUMERIC" ), PHVOLT_T_NUMERIC },
87
+ { SL ("SCALAR" ), PHVOLT_T_SCALAR },
88
+ { SL ("ITERABLE" ), PHVOLT_T_ITERABLE },
83
89
{ SL ("INCLUDE" ), PHVOLT_T_INCLUDE },
84
90
{ SL ("DO" ), PHVOLT_T_DO },
85
91
{ SL ("WHITESPACE" ), PHVOLT_T_IGNORE },
@@ -245,6 +251,11 @@ int phvolt_internal_parse_view(zval **result, zval *view_code, zval *template_pa
245
251
246
252
/** Start the reentrant parser */
247
253
phvolt_parser = phvolt_Alloc (phvolt_wrapper_alloc );
254
+ if (unlikely (!phvolt_parser )) {
255
+ MAKE_STD_ZVAL (* error_msg );
256
+ ZVAL_STRING (* error_msg , "Memory allocation error" , 1 );
257
+ return FAILURE ;
258
+ }
248
259
249
260
parser_status = emalloc (sizeof (phvolt_parser_status ));
250
261
state = emalloc (sizeof (phvolt_scanner_state ));
@@ -595,6 +606,30 @@ int phvolt_internal_parse_view(zval **result, zval *view_code, zval *template_pa
595
606
phvolt_ (phvolt_parser , PHVOLT_DEFINED , NULL , parser_status );
596
607
break ;
597
608
609
+ case PHVOLT_T_EMPTY :
610
+ phvolt_ (phvolt_parser , PHVOLT_EMPTY , NULL , parser_status );
611
+ break ;
612
+
613
+ case PHVOLT_T_EVEN :
614
+ phvolt_ (phvolt_parser , PHVOLT_EVEN , NULL , parser_status );
615
+ break ;
616
+
617
+ case PHVOLT_T_ODD :
618
+ phvolt_ (phvolt_parser , PHVOLT_ODD , NULL , parser_status );
619
+ break ;
620
+
621
+ case PHVOLT_T_NUMERIC :
622
+ phvolt_ (phvolt_parser , PHVOLT_NUMERIC , NULL , parser_status );
623
+ break ;
624
+
625
+ case PHVOLT_T_SCALAR :
626
+ phvolt_ (phvolt_parser , PHVOLT_SCALAR , NULL , parser_status );
627
+ break ;
628
+
629
+ case PHVOLT_T_ITERABLE :
630
+ phvolt_ (phvolt_parser , PHVOLT_ITERABLE , NULL , parser_status );
631
+ break ;
632
+
598
633
case PHVOLT_T_DO :
599
634
phvolt_ (phvolt_parser , PHVOLT_DO , NULL , parser_status );
600
635
break ;
0 commit comments