case PSI_T_TO_ARRAY:
set->func->handler = psi_to_array;
break;
+ case PSI_T_TO_OBJECT:
+ set->func->handler = psi_to_object;
+ break;
+ case PSI_T_VOID:
+ set->func->handler = psi_to_void;
+ break;
EMPTY_SWITCH_DEFAULT_CASE();
}
continue;
}
- while (-1 != PSI_ParserScan(&P)) {
+ while (0 < PSI_ParserScan(&P)) {
PSI_ParserParse(&P, PSI_TokenAlloc(&P));
- };
+ if (P.num == PSI_T_EOF) {
+ break;
+ }
+ }
+
PSI_ParserParse(&P, NULL);
PSI_ContextValidate(C, &P);
PSI_ParserDtor(&P);
void PSI_ContextCall(PSI_Context *C, impl_val *ret_val, decl *decl)
{
+ errno = 0;
C->ops->call(C, ret_val, decl);
}