case PSI_T_UINT8: RETVAL_LONG(v->u8); break;
case PSI_T_INT16: RETVAL_LONG(v->i16); break;
case PSI_T_UINT16: RETVAL_LONG(v->u16); break;
+ case PSI_T_ENUM:
case PSI_T_INT32: RETVAL_LONG(v->i32); break;
case PSI_T_UINT32: RETVAL_LONG(v->u32); break;
case PSI_T_INT64: RETVAL_LONG(v->i64); break;
case PSI_T_UINT8: tmp->u8 = intval; break;
case PSI_T_INT16: tmp->i16 = intval; break;
case PSI_T_UINT16: tmp->u16 = intval; break;
+ case PSI_T_ENUM:
case PSI_T_INT32: tmp->i32 = intval; break;
case PSI_T_UINT32: tmp->u32 = intval; break;
case PSI_T_INT64: tmp->i64 = intval; break;
case PSI_T_UINT64: tmp->u64 = intval; break;
- case PSI_T_INT: tmp->ival = intval; break;
- case PSI_T_ENUM:
- case PSI_T_LONG: tmp->lval = intval; break;
case PSI_T_FLOAT: tmp->fval = intval; break;
case PSI_T_DOUBLE: tmp->dval = intval; break;
#ifdef HAVE_LONG_DOUBLE
{
if (ival && impl_type == PSI_T_STRING) {
if (ival->zend.str) {
- tmp->lval = ival->zend.str->len;
+ tmp->u64 = ival->zend.str->len;
} else {
- tmp->lval = 0;
+ tmp->u64 = 0;
}
} else {
zend_string *zs = zval_get_string(zvalue);
- tmp->lval = zs->len;
+ tmp->u64 = zs->len;
zend_string_release(zs);
}
+ if (spec) {
+ psi_calc_cast(PSI_T_UINT64, tmp, psi_decl_type_get_real(spec->type)->type, tmp);
+ }
return tmp;
}