return psi_val_boolval(tmp, real_type, boolval);
}
+#if HAVE_INT128
static inline char *psi_u128_to_buf(char *buf, unsigned __int128 u128)
{
for (*buf = 0; u128 > 0; u128 /= 10) {
return psi_u128_to_buf(buf, i128);
}
-#if HAVE_INT128
# define RETVAL_LONG_STR(V, s) do {\
char buf[0x30] = {0}; \
if (s && V >= ZEND_LONG_MIN && V <= ZEND_LONG_MAX) { \
*/
impl_val *psi_let_intval(impl_val *tmp, struct psi_decl_arg *spec, token_t impl_type, impl_val *ival, zval *zvalue, void **to_free)
{
- zend_long intval;
- token_t real_type = spec ? psi_decl_type_get_real(spec->type)->type : PSI_T_LONG;
+ int64_t intval;
+ token_t real_type = spec ? psi_decl_type_get_real(spec->type)->type : PSI_T_INT64;
if (ival && impl_type == PSI_T_INT) {
struct psi_set_exp *sub_exp;
psi_plist_get(set->inner, 0, &sub_exp);
- RETVAL_STRINGL(str, psi_long_num_exp(sub_exp->data.num, frame, NULL));
+ RETVAL_STRINGL(str, psi_num_exp_get_long(sub_exp->data.num, frame, NULL));
} else {
RETVAL_EMPTY_STRING();
}
}
psi_plist_get(set->inner, 0, &sub_exp);
- count = psi_long_num_exp(sub_exp->data.num, frame, NULL);
+ count = psi_num_exp_get_long(sub_exp->data.num, frame, NULL);
psi_plist_get(set->inner, 1, &sub_exp);
for (ptr = (char *) ret_val; 0 < count--; ptr += size) {