Exemplo n.º 1
0
def set_hash(ptr, ptr2):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    ht = _cast_ptr_to_ht(ptr2)
    zval_utils.Z_SET_TYPE(zval, IS_ARRAY)
    zval.happy_ht = ht
    return ptr
Exemplo n.º 2
0
def get_refcount(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    return zval.refcount__gc
Exemplo n.º 3
0
def set_double(ptr, dval):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    zval_utils.Z_SET_TYPE(zval, IS_DOUBLE)
    zval.dval = dval
    return ptr
Exemplo n.º 4
0
def set_string(ptr, sd):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    zval_utils.Z_SET_TYPE(zval, IS_STRING)
    zval.str = objects.MutableString.from_string_data(sd)
    return ptr
Exemplo n.º 5
0
def set_null(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    zval_utils.Z_SET_TYPE(zval, IS_NULL)
    return ptr
Exemplo n.º 6
0
def set_int(ptr, lval):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    zval_utils.Z_SET_TYPE(zval, IS_LONG)
    zval.lval = lval
    return ptr
Exemplo n.º 7
0
def to_hash_table(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    assert zval_utils.Z_TYPE(zval) == IS_ARRAY
    return _cast_to_ht_ptr(zval.happy_ht)
Exemplo n.º 8
0
def to_string(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    assert zval_utils.Z_TYPE(zval) == IS_STRING
    return zval_utils.Z_STRVAL(zval).get_string_data()
Exemplo n.º 9
0
def to_double(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    assert zval_utils.Z_TYPE(zval) == IS_DOUBLE
    return zval_utils.Z_DVAL(zval)
Exemplo n.º 10
0
def to_int(ptr, base):
    assert base == 10
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    assert zval_utils.Z_TYPE(zval) in [IS_LONG, IS_BOOL]
    return zval_utils.Z_LVAL(zval)
Exemplo n.º 11
0
def copy_zval(ptr):
    zval = zval_utils.Z_ZVAL(_cast_ptr_to_zval(ptr))
    new_zval = zval_utils.zval_copy(zval)
    return _cast_to_zval_ptr(new_zval)