Lines Matching refs:op

184 ZEND_API void convert_scalar_to_number(zval *op TSRMLS_DC) /* {{{ */  in convert_scalar_to_number()
186 switch (Z_TYPE_P(op)) { in convert_scalar_to_number()
191 strval = Z_STRVAL_P(op); in convert_scalar_to_number()
192 …if ((Z_TYPE_P(op)=is_numeric_string(strval, Z_STRLEN_P(op), &Z_LVAL_P(op), &Z_DVAL_P(op), 1)) == 0… in convert_scalar_to_number()
193 ZVAL_LONG(op, 0); in convert_scalar_to_number()
199 Z_TYPE_P(op) = IS_LONG; in convert_scalar_to_number()
202 zend_list_delete(Z_LVAL_P(op)); in convert_scalar_to_number()
203 Z_TYPE_P(op) = IS_LONG; in convert_scalar_to_number()
206 convert_to_long_base(op, 10); in convert_scalar_to_number()
209 ZVAL_LONG(op, 0); in convert_scalar_to_number()
216 #define zendi_convert_scalar_to_number(op, holder, result) \ argument
217 if (op==result) { \
218 if (Z_TYPE_P(op) != IS_LONG) { \
219 convert_scalar_to_number(op TSRMLS_CC); \
222 switch (Z_TYPE_P(op)) { \
225 …if ((Z_TYPE(holder)=is_numeric_string(Z_STRVAL_P(op), Z_STRLEN_P(op), &Z_LVAL(holder), &Z_DVAL(hol…
228 (op) = &(holder); \
233 ZVAL_LONG(&(holder), Z_LVAL_P(op)); \
234 (op) = &(holder); \
238 (op) = &(holder); \
241 (holder) = (*(op)); \
245 (op) = &(holder); \
254 #define zendi_convert_to_long(op, holder, result) \ argument
255 if (op == result) { \
256 convert_to_long(op); \
257 } else if (Z_TYPE_P(op) != IS_LONG) { \
258 switch (Z_TYPE_P(op)) { \
263 Z_LVAL(holder) = zend_dval_to_lval(Z_DVAL_P(op)); \
266 Z_LVAL(holder) = strtol(Z_STRVAL_P(op), NULL, 10); \
269 Z_LVAL(holder) = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); \
272 (holder) = (*(op)); \
278 Z_LVAL(holder) = Z_LVAL_P(op); \
286 (op) = &(holder); \
292 #define zendi_convert_to_boolean(op, holder, result) \ argument
293 if (op==result) { \
294 convert_to_boolean(op); \
295 } else if (Z_TYPE_P(op) != IS_BOOL) { \
296 switch (Z_TYPE_P(op)) { \
302 Z_LVAL(holder) = (Z_LVAL_P(op) ? 1 : 0); \
305 Z_LVAL(holder) = (Z_DVAL_P(op) ? 1 : 0); \
308 if (Z_STRLEN_P(op) == 0 \
309 || (Z_STRLEN_P(op)==1 && Z_STRVAL_P(op)[0]=='0')) { \
316 Z_LVAL(holder) = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); \
319 (holder) = (*(op)); \
328 (op) = &(holder); \
334 #define convert_object_to_type(op, ctype, conv_func) \ argument
335 if (Z_OBJ_HT_P(op)->cast_object) { \
337 if (Z_OBJ_HT_P(op)->cast_object(op, &dst, ctype TSRMLS_CC) == FAILURE) { \
339 "Object of class %s could not be converted to %s", Z_OBJCE_P(op)->name, \
342 zval_dtor(op); \
343 Z_TYPE_P(op) = ctype; \
344 op->value = dst.value; \
347 if (Z_OBJ_HT_P(op)->get) { \
348 zval *newop = Z_OBJ_HT_P(op)->get(op TSRMLS_CC); \
351 zval_dtor(op); \
352 *op = *newop; \
354 conv_func(op); \
361 ZEND_API void convert_to_long(zval *op) /* {{{ */ in convert_to_long() argument
363 if (Z_TYPE_P(op) != IS_LONG) { in convert_to_long()
364 convert_to_long_base(op, 10); in convert_to_long()
369 ZEND_API void convert_to_long_base(zval *op, int base) /* {{{ */ in convert_to_long_base() argument
373 switch (Z_TYPE_P(op)) { in convert_to_long_base()
375 Z_LVAL_P(op) = 0; in convert_to_long_base()
380 zend_list_delete(Z_LVAL_P(op)); in convert_to_long_base()
387 Z_LVAL_P(op) = zend_dval_to_lval(Z_DVAL_P(op)); in convert_to_long_base()
391 char *strval = Z_STRVAL_P(op); in convert_to_long_base()
393 Z_LVAL_P(op) = strtol(strval, NULL, base); in convert_to_long_base()
398 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_long_base()
399 zval_dtor(op); in convert_to_long_base()
400 Z_LVAL_P(op) = tmp; in convert_to_long_base()
407 convert_object_to_type(op, IS_LONG, convert_to_long); in convert_to_long_base()
409 if (Z_TYPE_P(op) == IS_LONG) { in convert_to_long_base()
412 zend_error(E_NOTICE, "Object of class %s could not be converted to int", Z_OBJCE_P(op)->name); in convert_to_long_base()
414 zval_dtor(op); in convert_to_long_base()
415 ZVAL_LONG(op, retval); in convert_to_long_base()
420 zval_dtor(op); in convert_to_long_base()
421 Z_LVAL_P(op) = 0; in convert_to_long_base()
425 Z_TYPE_P(op) = IS_LONG; in convert_to_long_base()
429 ZEND_API void convert_to_double(zval *op) /* {{{ */ in convert_to_double() argument
433 switch (Z_TYPE_P(op)) { in convert_to_double()
435 Z_DVAL_P(op) = 0.0; in convert_to_double()
440 zend_list_delete(Z_LVAL_P(op)); in convert_to_double()
445 Z_DVAL_P(op) = (double) Z_LVAL_P(op); in convert_to_double()
451 char *strval = Z_STRVAL_P(op); in convert_to_double()
453 Z_DVAL_P(op) = zend_strtod(strval, NULL); in convert_to_double()
458 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_double()
459 zval_dtor(op); in convert_to_double()
460 Z_DVAL_P(op) = tmp; in convert_to_double()
467 convert_object_to_type(op, IS_DOUBLE, convert_to_double); in convert_to_double()
469 if (Z_TYPE_P(op) == IS_DOUBLE) { in convert_to_double()
472 … zend_error(E_NOTICE, "Object of class %s could not be converted to double", Z_OBJCE_P(op)->name); in convert_to_double()
474 zval_dtor(op); in convert_to_double()
475 ZVAL_DOUBLE(op, retval); in convert_to_double()
479 zend_error(E_WARNING, "Cannot convert to real value (type=%d)", Z_TYPE_P(op)); in convert_to_double()
480 zval_dtor(op); in convert_to_double()
481 Z_DVAL_P(op) = 0; in convert_to_double()
484 Z_TYPE_P(op) = IS_DOUBLE; in convert_to_double()
488 ZEND_API void convert_to_null(zval *op) /* {{{ */ in convert_to_null() argument
490 if (Z_TYPE_P(op) == IS_OBJECT) { in convert_to_null()
491 if (Z_OBJ_HT_P(op)->cast_object) { in convert_to_null()
496 *org = *op; in convert_to_null()
497 if (Z_OBJ_HT_P(op)->cast_object(org, op, IS_NULL TSRMLS_CC) == SUCCESS) { in convert_to_null()
501 *op = *org; in convert_to_null()
506 zval_dtor(op); in convert_to_null()
507 Z_TYPE_P(op) = IS_NULL; in convert_to_null()
511 ZEND_API void convert_to_boolean(zval *op) /* {{{ */ in convert_to_boolean() argument
515 switch (Z_TYPE_P(op)) { in convert_to_boolean()
519 Z_LVAL_P(op) = 0; in convert_to_boolean()
524 zend_list_delete(Z_LVAL_P(op)); in convert_to_boolean()
528 Z_LVAL_P(op) = (Z_LVAL_P(op) ? 1 : 0); in convert_to_boolean()
531 Z_LVAL_P(op) = (Z_DVAL_P(op) ? 1 : 0); in convert_to_boolean()
535 char *strval = Z_STRVAL_P(op); in convert_to_boolean()
537 if (Z_STRLEN_P(op) == 0 in convert_to_boolean()
538 || (Z_STRLEN_P(op)==1 && Z_STRVAL_P(op)[0]=='0')) { in convert_to_boolean()
539 Z_LVAL_P(op) = 0; in convert_to_boolean()
541 Z_LVAL_P(op) = 1; in convert_to_boolean()
547 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_boolean()
548 zval_dtor(op); in convert_to_boolean()
549 Z_LVAL_P(op) = tmp; in convert_to_boolean()
556 convert_object_to_type(op, IS_BOOL, convert_to_boolean); in convert_to_boolean()
558 if (Z_TYPE_P(op) == IS_BOOL) { in convert_to_boolean()
562 zval_dtor(op); in convert_to_boolean()
563 ZVAL_BOOL(op, retval); in convert_to_boolean()
567 zval_dtor(op); in convert_to_boolean()
568 Z_LVAL_P(op) = 0; in convert_to_boolean()
571 Z_TYPE_P(op) = IS_BOOL; in convert_to_boolean()
575 ZEND_API void _convert_to_cstring(zval *op ZEND_FILE_LINE_DC) /* {{{ */ in _convert_to_cstring()
578 switch (Z_TYPE_P(op)) { in _convert_to_cstring()
581 dval = Z_DVAL_P(op); in _convert_to_cstring()
582 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%.*H", (int) EG(precision), dval); in _convert_to_cstring()
587 _convert_to_string(op ZEND_FILE_LINE_CC); in _convert_to_cstring()
589 Z_TYPE_P(op) = IS_STRING; in _convert_to_cstring()
593 ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC) /* {{{ */ in _convert_to_string()
598 switch (Z_TYPE_P(op)) { in _convert_to_string()
600 Z_STRVAL_P(op) = STR_EMPTY_ALLOC(); in _convert_to_string()
601 Z_STRLEN_P(op) = 0; in _convert_to_string()
606 if (Z_LVAL_P(op)) { in _convert_to_string()
607 Z_STRVAL_P(op) = estrndup_rel("1", 1); in _convert_to_string()
608 Z_STRLEN_P(op) = 1; in _convert_to_string()
610 Z_STRVAL_P(op) = STR_EMPTY_ALLOC(); in _convert_to_string()
611 Z_STRLEN_P(op) = 0; in _convert_to_string()
615 long tmp = Z_LVAL_P(op); in _convert_to_string()
618 zend_list_delete(Z_LVAL_P(op)); in _convert_to_string()
619 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "Resource id #%ld", tmp); in _convert_to_string()
623 lval = Z_LVAL_P(op); in _convert_to_string()
625 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%ld", lval); in _convert_to_string()
629 dval = Z_DVAL_P(op); in _convert_to_string()
630 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%.*G", (int) EG(precision), dval); in _convert_to_string()
636 zval_dtor(op); in _convert_to_string()
637 Z_STRVAL_P(op) = estrndup_rel("Array", sizeof("Array")-1); in _convert_to_string()
638 Z_STRLEN_P(op) = sizeof("Array")-1; in _convert_to_string()
643 convert_object_to_type(op, IS_STRING, convert_to_string); in _convert_to_string()
645 if (Z_TYPE_P(op) == IS_STRING) { in _convert_to_string()
649 zend_error(E_NOTICE, "Object of class %s to string conversion", Z_OBJCE_P(op)->name); in _convert_to_string()
650 zval_dtor(op); in _convert_to_string()
651 Z_STRVAL_P(op) = estrndup_rel("Object", sizeof("Object")-1); in _convert_to_string()
652 Z_STRLEN_P(op) = sizeof("Object")-1; in _convert_to_string()
656 zval_dtor(op); in _convert_to_string()
657 ZVAL_BOOL(op, 0); in _convert_to_string()
660 Z_TYPE_P(op) = IS_STRING; in _convert_to_string()
664 static void convert_scalar_to_array(zval *op, int type TSRMLS_DC) /* {{{ */ in convert_scalar_to_array() argument
669 *entry = *op; in convert_scalar_to_array()
674 ALLOC_HASHTABLE(Z_ARRVAL_P(op)); in convert_scalar_to_array()
675 zend_hash_init(Z_ARRVAL_P(op), 0, NULL, ZVAL_PTR_DTOR, 0); in convert_scalar_to_array()
676 zend_hash_index_update(Z_ARRVAL_P(op), 0, (void *) &entry, sizeof(zval *), NULL); in convert_scalar_to_array()
677 Z_TYPE_P(op) = IS_ARRAY; in convert_scalar_to_array()
680 object_init(op); in convert_scalar_to_array()
681 …zend_hash_update(Z_OBJPROP_P(op), "scalar", sizeof("scalar"), (void *) &entry, sizeof(zval *), NUL… in convert_scalar_to_array()
687 ZEND_API void convert_to_array(zval *op) /* {{{ */ in convert_to_array() argument
691 switch (Z_TYPE_P(op)) { in convert_to_array()
702 if (Z_OBJCE_P(op) == zend_ce_closure) { in convert_to_array()
703 convert_scalar_to_array(op, IS_ARRAY TSRMLS_CC); in convert_to_array()
704 if (Z_TYPE_P(op) == IS_ARRAY) { in convert_to_array()
709 } else if (Z_OBJ_HT_P(op)->get_properties) { in convert_to_array()
710 HashTable *obj_ht = Z_OBJ_HT_P(op)->get_properties(op TSRMLS_CC); in convert_to_array()
715 convert_object_to_type(op, IS_ARRAY, convert_to_array); in convert_to_array()
717 if (Z_TYPE_P(op) == IS_ARRAY) { in convert_to_array()
723 zval_dtor(op); in convert_to_array()
724 Z_TYPE_P(op) = IS_ARRAY; in convert_to_array()
725 Z_ARRVAL_P(op) = ht; in convert_to_array()
729 ALLOC_HASHTABLE(Z_ARRVAL_P(op)); in convert_to_array()
730 zend_hash_init(Z_ARRVAL_P(op), 0, NULL, ZVAL_PTR_DTOR, 0); in convert_to_array()
731 Z_TYPE_P(op) = IS_ARRAY; in convert_to_array()
734 convert_scalar_to_array(op, IS_ARRAY TSRMLS_CC); in convert_to_array()
740 ZEND_API void convert_to_object(zval *op) /* {{{ */ in convert_to_object() argument
744 switch (Z_TYPE_P(op)) { in convert_to_object()
747 object_and_properties_init(op, zend_standard_class_def, Z_ARRVAL_P(op)); in convert_to_object()
753 object_init(op); in convert_to_object()
756 convert_scalar_to_array(op, IS_OBJECT TSRMLS_CC); in convert_to_object()
1457 static inline void zend_free_obj_get_result(zval *op TSRMLS_DC) /* {{{ */ in zend_free_obj_get_result()
1459 if (Z_REFCOUNT_P(op) == 0) { in zend_free_obj_get_result()
1460 GC_REMOVE_ZVAL_FROM_BUFFER(op); in zend_free_obj_get_result()
1461 zval_dtor(op); in zend_free_obj_get_result()
1462 FREE_ZVAL(op); in zend_free_obj_get_result()
1464 zval_ptr_dtor(&op); in zend_free_obj_get_result()
1959 ZEND_API int zval_is_true(zval *op) /* {{{ */ in zval_is_true() argument
1961 convert_to_boolean(op); in zval_is_true()
1962 return (Z_LVAL_P(op) ? 1 : 0); in zval_is_true()
2247 ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC) /* {{{ */
2251 …Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%.*G", (int) EG(precision), (double)Z_DVAL_P(o…