- value = get_proxied_value(object, &tmp);
- array = value;
-
- if (Z_ISUNDEF_P(value)) {
- array_init(array);
- created = 1;
- } else if (Z_TYPE_P(array) == IS_ARRAY) {
- if (Z_REFCOUNT_P(array) > 1) {
- SEPARATE_ARRAY(array);
- created = 1;
- }
- } else {
- ZVAL_DEREF(array);
- if (Z_REFCOUNTED_P(array) && Z_REFCOUNT_P(array) > 1) {
- SEPARATE_ZVAL(array);
- created = 1;
- }
- if (Z_TYPE_P(array) != IS_ARRAY) {
- convert_to_array(array);
- created = 1;
- }
- }
-
- Z_TRY_ADDREF_P(input_value);
-
- debug_propro(0, "dim_w", get_propro(object), NULL, offset, input_value);