projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
interned strings
[m6w6/ext-psi]
/
src
/
types
/
impl_def_val.c
diff --git
a/src/types/impl_def_val.c
b/src/types/impl_def_val.c
index fe11b269f6e3a02d6883f07fb7db3e5c5ce9f590..f78a6b9c0d4355523dd365c24a7e0fd43853b78a 100644
(file)
--- a/
src/types/impl_def_val.c
+++ b/
src/types/impl_def_val.c
@@
-44,7
+44,7
@@
struct psi_impl_def_val *psi_impl_def_val_init(token_t t, void *data)
/* no break */
case PSI_T_STRING:
if (data) {
/* no break */
case PSI_T_STRING:
if (data) {
- def->ival.zend.str = zend_string_
init(data, strlen(data), 1
);
+ def->ival.zend.str = zend_string_
copy(data
);
}
break;
}
break;
@@
-65,9
+65,7
@@
void psi_impl_def_val_free(struct psi_impl_def_val **def_ptr)
struct psi_impl_def_val *def = *def_ptr;
*def_ptr = NULL;
struct psi_impl_def_val *def = *def_ptr;
*def_ptr = NULL;
- if (def->token) {
- free(def->token);
- }
+ psi_token_free(&def->token);
switch (def->type) {
case PSI_T_NUMBER:
psi_num_exp_free(&def->data.num);
switch (def->type) {
case PSI_T_NUMBER:
psi_num_exp_free(&def->data.num);
@@
-114,12
+112,14
@@
bool psi_impl_def_val_validate(struct psi_data *data,
case PSI_T_DOUBLE:
val->type = PSI_T_FLOAT;
type->type = PSI_T_FLOAT;
case PSI_T_DOUBLE:
val->type = PSI_T_FLOAT;
type->type = PSI_T_FLOAT;
- strcpy(type->name, "float");
+ zend_string_release(type->name);
+ type->name = zend_string_init_interned(ZEND_STRL("float"), 1);
break;
default:
val->type = PSI_T_INT;
type->type = PSI_T_INT;
break;
default:
val->type = PSI_T_INT;
type->type = PSI_T_INT;
- strcpy(type->name, "int");
+ zend_string_release(type->name);
+ type->name = zend_string_init_interned(ZEND_STRL("int"), 1);
break;
}
psi_num_exp_free(&val->data.num);
break;
}
psi_num_exp_free(&val->data.num);
@@
-160,7
+160,7
@@
bool psi_impl_def_val_validate(struct psi_data *data,
data->error(data, val->token, PSI_WARNING,
"Invalid default value type '%s', "
"expected one of bool, int, float, string.",
data->error(data, val->token, PSI_WARNING,
"Invalid default value type '%s', "
"expected one of bool, int, float, string.",
- type->name);
+ type->name
->val
);
}
return false;
}
return false;