improved type validation
[m6w6/ext-psi] / src / types / impl_def_val.c
index e24b4c28fd38ea19c3ddf75078088374bb288c40..69b5db4ca067321a3541d5025295d85789842671 100644 (file)
@@ -78,11 +78,8 @@ bool psi_impl_def_val_validate(struct psi_data *data,
                        def->ival.dval = zend_strtod(def->text, NULL);
                        break;
                case PSI_T_STRING:
-                       /* used for consts */
-                       def->ival.zend.str = zend_string_init(def->text, strlen(def->text), 1);
-                       break;
                case PSI_T_QUOTED_STRING:
-                       def->ival.zend.str = zend_string_init(&def->text[1], strlen(def->text) - 2, 1);
+                       def->ival.zend.str = zend_string_init(def->text, strlen(def->text), 1);
                        break;
                default:
                        data->error(data, def->token, PSI_WARNING,
@@ -96,6 +93,9 @@ bool psi_impl_def_val_validate(struct psi_data *data,
 
 void psi_impl_def_val_dump(int fd, struct psi_impl_def_val *val) {
        switch (val->type) {
+       case PSI_T_BOOL:
+               dprintf(fd, "%s", val->ival.zend.bval ? "true" : "false");
+               break;
        case PSI_T_INT:
                dprintf(fd, "%ld", val->ival.zend.lval);
                break;