Lines Matching refs:op

147 ZEND_API void convert_scalar_to_number(zval *op TSRMLS_DC) /* {{{ */  in convert_scalar_to_number()
149 switch (Z_TYPE_P(op)) { in convert_scalar_to_number()
154 strval = Z_STRVAL_P(op); in convert_scalar_to_number()
155 …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()
156 ZVAL_LONG(op, 0); in convert_scalar_to_number()
162 Z_TYPE_P(op) = IS_LONG; in convert_scalar_to_number()
165 zend_list_delete(Z_LVAL_P(op)); in convert_scalar_to_number()
166 Z_TYPE_P(op) = IS_LONG; in convert_scalar_to_number()
169 convert_to_long_base(op, 10); in convert_scalar_to_number()
172 ZVAL_LONG(op, 0); in convert_scalar_to_number()
179 #define zendi_convert_scalar_to_number(op, holder, result) \ argument
180 if (op==result) { \
181 if (Z_TYPE_P(op) != IS_LONG) { \
182 convert_scalar_to_number(op TSRMLS_CC); \
185 switch (Z_TYPE_P(op)) { \
188 …if ((Z_TYPE(holder)=is_numeric_string(Z_STRVAL_P(op), Z_STRLEN_P(op), &Z_LVAL(holder), &Z_DVAL(hol…
191 (op) = &(holder); \
196 ZVAL_LONG(&(holder), Z_LVAL_P(op)); \
197 (op) = &(holder); \
201 (op) = &(holder); \
204 (holder) = (*(op)); \
208 (op) = &(holder); \
217 #define zendi_convert_to_long(op, holder, result) \ argument
218 if (op == result) { \
219 convert_to_long(op); \
220 } else if (Z_TYPE_P(op) != IS_LONG) { \
221 switch (Z_TYPE_P(op)) { \
226 Z_LVAL(holder) = zend_dval_to_lval(Z_DVAL_P(op)); \
229 Z_LVAL(holder) = strtol(Z_STRVAL_P(op), NULL, 10); \
232 Z_LVAL(holder) = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); \
235 (holder) = (*(op)); \
241 Z_LVAL(holder) = Z_LVAL_P(op); \
249 (op) = &(holder); \
255 #define zendi_convert_to_boolean(op, holder, result) \ argument
256 if (op==result) { \
257 convert_to_boolean(op); \
258 } else if (Z_TYPE_P(op) != IS_BOOL) { \
259 switch (Z_TYPE_P(op)) { \
265 Z_LVAL(holder) = (Z_LVAL_P(op) ? 1 : 0); \
268 Z_LVAL(holder) = (Z_DVAL_P(op) ? 1 : 0); \
271 if (Z_STRLEN_P(op) == 0 \
272 || (Z_STRLEN_P(op)==1 && Z_STRVAL_P(op)[0]=='0')) { \
279 Z_LVAL(holder) = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); \
282 (holder) = (*(op)); \
291 (op) = &(holder); \
297 #define convert_object_to_type(op, ctype, conv_func) \ argument
298 if (Z_OBJ_HT_P(op)->cast_object) { \
300 if (Z_OBJ_HT_P(op)->cast_object(op, &dst, ctype TSRMLS_CC) == FAILURE) { \
302 "Object of class %s could not be converted to %s", Z_OBJCE_P(op)->name, \
305 zval_dtor(op); \
306 Z_TYPE_P(op) = ctype; \
307 op->value = dst.value; \
310 if (Z_OBJ_HT_P(op)->get) { \
311 zval *newop = Z_OBJ_HT_P(op)->get(op TSRMLS_CC); \
314 zval_dtor(op); \
315 *op = *newop; \
317 conv_func(op); \
324 ZEND_API void convert_to_long(zval *op) /* {{{ */ in convert_to_long() argument
326 if (Z_TYPE_P(op) != IS_LONG) { in convert_to_long()
327 convert_to_long_base(op, 10); in convert_to_long()
332 ZEND_API void convert_to_long_base(zval *op, int base) /* {{{ */ in convert_to_long_base() argument
336 switch (Z_TYPE_P(op)) { in convert_to_long_base()
338 Z_LVAL_P(op) = 0; in convert_to_long_base()
343 zend_list_delete(Z_LVAL_P(op)); in convert_to_long_base()
350 Z_LVAL_P(op) = zend_dval_to_lval(Z_DVAL_P(op)); in convert_to_long_base()
354 char *strval = Z_STRVAL_P(op); in convert_to_long_base()
356 Z_LVAL_P(op) = strtol(strval, NULL, base); in convert_to_long_base()
361 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_long_base()
362 zval_dtor(op); in convert_to_long_base()
363 Z_LVAL_P(op) = tmp; in convert_to_long_base()
370 convert_object_to_type(op, IS_LONG, convert_to_long); in convert_to_long_base()
372 if (Z_TYPE_P(op) == IS_LONG) { in convert_to_long_base()
375 zend_error(E_NOTICE, "Object of class %s could not be converted to int", Z_OBJCE_P(op)->name); in convert_to_long_base()
377 zval_dtor(op); in convert_to_long_base()
378 ZVAL_LONG(op, retval); in convert_to_long_base()
383 zval_dtor(op); in convert_to_long_base()
384 Z_LVAL_P(op) = 0; in convert_to_long_base()
388 Z_TYPE_P(op) = IS_LONG; in convert_to_long_base()
392 ZEND_API void convert_to_double(zval *op) /* {{{ */ in convert_to_double() argument
396 switch (Z_TYPE_P(op)) { in convert_to_double()
398 Z_DVAL_P(op) = 0.0; in convert_to_double()
403 zend_list_delete(Z_LVAL_P(op)); in convert_to_double()
408 Z_DVAL_P(op) = (double) Z_LVAL_P(op); in convert_to_double()
414 char *strval = Z_STRVAL_P(op); in convert_to_double()
416 Z_DVAL_P(op) = zend_strtod(strval, NULL); in convert_to_double()
421 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_double()
422 zval_dtor(op); in convert_to_double()
423 Z_DVAL_P(op) = tmp; in convert_to_double()
430 convert_object_to_type(op, IS_DOUBLE, convert_to_double); in convert_to_double()
432 if (Z_TYPE_P(op) == IS_DOUBLE) { in convert_to_double()
435 … zend_error(E_NOTICE, "Object of class %s could not be converted to double", Z_OBJCE_P(op)->name); in convert_to_double()
437 zval_dtor(op); in convert_to_double()
438 ZVAL_DOUBLE(op, retval); in convert_to_double()
442 zend_error(E_WARNING, "Cannot convert to real value (type=%d)", Z_TYPE_P(op)); in convert_to_double()
443 zval_dtor(op); in convert_to_double()
444 Z_DVAL_P(op) = 0; in convert_to_double()
447 Z_TYPE_P(op) = IS_DOUBLE; in convert_to_double()
451 ZEND_API void convert_to_null(zval *op) /* {{{ */ in convert_to_null() argument
453 if (Z_TYPE_P(op) == IS_OBJECT) { in convert_to_null()
454 if (Z_OBJ_HT_P(op)->cast_object) { in convert_to_null()
459 *org = *op; in convert_to_null()
460 if (Z_OBJ_HT_P(op)->cast_object(org, op, IS_NULL TSRMLS_CC) == SUCCESS) { in convert_to_null()
464 *op = *org; in convert_to_null()
469 zval_dtor(op); in convert_to_null()
470 Z_TYPE_P(op) = IS_NULL; in convert_to_null()
474 ZEND_API void convert_to_boolean(zval *op) /* {{{ */ in convert_to_boolean() argument
478 switch (Z_TYPE_P(op)) { in convert_to_boolean()
482 Z_LVAL_P(op) = 0; in convert_to_boolean()
487 zend_list_delete(Z_LVAL_P(op)); in convert_to_boolean()
491 Z_LVAL_P(op) = (Z_LVAL_P(op) ? 1 : 0); in convert_to_boolean()
494 Z_LVAL_P(op) = (Z_DVAL_P(op) ? 1 : 0); in convert_to_boolean()
498 char *strval = Z_STRVAL_P(op); in convert_to_boolean()
500 if (Z_STRLEN_P(op) == 0 in convert_to_boolean()
501 || (Z_STRLEN_P(op)==1 && Z_STRVAL_P(op)[0]=='0')) { in convert_to_boolean()
502 Z_LVAL_P(op) = 0; in convert_to_boolean()
504 Z_LVAL_P(op) = 1; in convert_to_boolean()
510 tmp = (zend_hash_num_elements(Z_ARRVAL_P(op))?1:0); in convert_to_boolean()
511 zval_dtor(op); in convert_to_boolean()
512 Z_LVAL_P(op) = tmp; in convert_to_boolean()
519 convert_object_to_type(op, IS_BOOL, convert_to_boolean); in convert_to_boolean()
521 if (Z_TYPE_P(op) == IS_BOOL) { in convert_to_boolean()
525 zval_dtor(op); in convert_to_boolean()
526 ZVAL_BOOL(op, retval); in convert_to_boolean()
530 zval_dtor(op); in convert_to_boolean()
531 Z_LVAL_P(op) = 0; in convert_to_boolean()
534 Z_TYPE_P(op) = IS_BOOL; in convert_to_boolean()
538 ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC) /* {{{ */ in _convert_to_string()
543 switch (Z_TYPE_P(op)) { in _convert_to_string()
545 Z_STRVAL_P(op) = STR_EMPTY_ALLOC(); in _convert_to_string()
546 Z_STRLEN_P(op) = 0; in _convert_to_string()
551 if (Z_LVAL_P(op)) { in _convert_to_string()
552 Z_STRVAL_P(op) = estrndup_rel("1", 1); in _convert_to_string()
553 Z_STRLEN_P(op) = 1; in _convert_to_string()
555 Z_STRVAL_P(op) = STR_EMPTY_ALLOC(); in _convert_to_string()
556 Z_STRLEN_P(op) = 0; in _convert_to_string()
560 long tmp = Z_LVAL_P(op); in _convert_to_string()
563 zend_list_delete(Z_LVAL_P(op)); in _convert_to_string()
564 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "Resource id #%ld", tmp); in _convert_to_string()
568 lval = Z_LVAL_P(op); in _convert_to_string()
570 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%ld", lval); in _convert_to_string()
574 dval = Z_DVAL_P(op); in _convert_to_string()
575 Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%.*G", (int) EG(precision), dval); in _convert_to_string()
581 zval_dtor(op); in _convert_to_string()
582 Z_STRVAL_P(op) = estrndup_rel("Array", sizeof("Array")-1); in _convert_to_string()
583 Z_STRLEN_P(op) = sizeof("Array")-1; in _convert_to_string()
588 convert_object_to_type(op, IS_STRING, convert_to_string); in _convert_to_string()
590 if (Z_TYPE_P(op) == IS_STRING) { in _convert_to_string()
594 zend_error(E_NOTICE, "Object of class %s to string conversion", Z_OBJCE_P(op)->name); in _convert_to_string()
595 zval_dtor(op); in _convert_to_string()
596 Z_STRVAL_P(op) = estrndup_rel("Object", sizeof("Object")-1); in _convert_to_string()
597 Z_STRLEN_P(op) = sizeof("Object")-1; in _convert_to_string()
601 zval_dtor(op); in _convert_to_string()
602 ZVAL_BOOL(op, 0); in _convert_to_string()
605 Z_TYPE_P(op) = IS_STRING; in _convert_to_string()
609 static void convert_scalar_to_array(zval *op, int type TSRMLS_DC) /* {{{ */ in convert_scalar_to_array() argument
614 *entry = *op; in convert_scalar_to_array()
619 ALLOC_HASHTABLE(Z_ARRVAL_P(op)); in convert_scalar_to_array()
620 zend_hash_init(Z_ARRVAL_P(op), 0, NULL, ZVAL_PTR_DTOR, 0); in convert_scalar_to_array()
621 zend_hash_index_update(Z_ARRVAL_P(op), 0, (void *) &entry, sizeof(zval *), NULL); in convert_scalar_to_array()
622 Z_TYPE_P(op) = IS_ARRAY; in convert_scalar_to_array()
625 object_init(op); in convert_scalar_to_array()
626 …zend_hash_update(Z_OBJPROP_P(op), "scalar", sizeof("scalar"), (void *) &entry, sizeof(zval *), NUL… in convert_scalar_to_array()
632 ZEND_API void convert_to_array(zval *op) /* {{{ */ in convert_to_array() argument
636 switch (Z_TYPE_P(op)) { in convert_to_array()
647 if (Z_OBJCE_P(op) == zend_ce_closure) { in convert_to_array()
648 convert_scalar_to_array(op, IS_ARRAY TSRMLS_CC); in convert_to_array()
649 if (Z_TYPE_P(op) == IS_ARRAY) { in convert_to_array()
654 } else if (Z_OBJ_HT_P(op)->get_properties) { in convert_to_array()
655 HashTable *obj_ht = Z_OBJ_HT_P(op)->get_properties(op TSRMLS_CC); in convert_to_array()
660 convert_object_to_type(op, IS_ARRAY, convert_to_array); in convert_to_array()
662 if (Z_TYPE_P(op) == IS_ARRAY) { in convert_to_array()
668 zval_dtor(op); in convert_to_array()
669 Z_TYPE_P(op) = IS_ARRAY; in convert_to_array()
670 Z_ARRVAL_P(op) = ht; in convert_to_array()
674 ALLOC_HASHTABLE(Z_ARRVAL_P(op)); in convert_to_array()
675 zend_hash_init(Z_ARRVAL_P(op), 0, NULL, ZVAL_PTR_DTOR, 0); in convert_to_array()
676 Z_TYPE_P(op) = IS_ARRAY; in convert_to_array()
679 convert_scalar_to_array(op, IS_ARRAY TSRMLS_CC); in convert_to_array()
685 ZEND_API void convert_to_object(zval *op) /* {{{ */ in convert_to_object() argument
689 switch (Z_TYPE_P(op)) { in convert_to_object()
692 object_and_properties_init(op, zend_standard_class_def, Z_ARRVAL_P(op)); in convert_to_object()
698 object_init(op); in convert_to_object()
701 convert_scalar_to_array(op, IS_OBJECT TSRMLS_CC); in convert_to_object()
1395 static inline void zend_free_obj_get_result(zval *op TSRMLS_DC) /* {{{ */ in zend_free_obj_get_result()
1397 if (Z_REFCOUNT_P(op) == 0) { in zend_free_obj_get_result()
1398 GC_REMOVE_ZVAL_FROM_BUFFER(op); in zend_free_obj_get_result()
1399 zval_dtor(op); in zend_free_obj_get_result()
1400 FREE_ZVAL(op); in zend_free_obj_get_result()
1402 zval_ptr_dtor(&op); in zend_free_obj_get_result()
1897 ZEND_API int zval_is_true(zval *op) /* {{{ */ in zval_is_true() argument
1899 convert_to_boolean(op); in zval_is_true()
1900 return (Z_LVAL_P(op) ? 1 : 0); in zval_is_true()
2142 ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC) /* {{{ */
2146 …Z_STRLEN_P(op) = zend_spprintf(&Z_STRVAL_P(op), 0, "%.*G", (int) EG(precision), (double)Z_DVAL_P(o…