X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fimpl_def_val.c;h=efbd793feb438086e2cad8188ecd2b4512673e38;hp=61c4e8ba6ef275ca61eac4b4690cde8f21eae0d8;hb=f74ce3f29e2dadd9f839c33ad5292e56e9203efd;hpb=96e1190e56b85694eca38181e449fd21be43b0a4 diff --git a/src/types/impl_def_val.c b/src/types/impl_def_val.c index 61c4e8b..efbd793 100644 --- a/src/types/impl_def_val.c +++ b/src/types/impl_def_val.c @@ -63,10 +63,10 @@ void psi_impl_def_val_free(struct psi_impl_def_val **def_ptr) } bool psi_impl_def_val_validate(struct psi_data *data, - struct psi_impl_def_val *def, struct psi_impl_type *type) + struct psi_impl_def_val *def, token_t type_t, const char *type_name) { - if (def->type != PSI_T_NULL) { - switch (type->type) { + if (def->type != PSI_T_NULL && def->text) { + switch (type_t) { case PSI_T_BOOL: def->ival.zend.bval = def->type == PSI_T_TRUE ? 1 : 0; break; @@ -78,7 +78,7 @@ bool psi_impl_def_val_validate(struct psi_data *data, def->ival.dval = zend_strtod(def->text, NULL); break; case PSI_T_STRING: - assert(0); + /* used for consts */ /* no break */ case PSI_T_QUOTED_STRING: def->ival.zend.str = zend_string_init(&def->text[1], strlen(def->text) - 2, 1); @@ -86,7 +86,7 @@ bool psi_impl_def_val_validate(struct psi_data *data, default: data->error(data, def->token, PSI_WARNING, "Invalid default value type '%s', expected one of bool, int, double, string.", - type->name); + type_name); return false; } }