X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=ion.c;fp=ion.c;h=207909f3d167318e7a60e9372c7e80fb603383e9;hb=86236c5adf9120f74677b52818f134f05ad15600;hp=749527c459e81bc3f3d814bde9b8267646465379;hpb=c41f06c364e487762e056c181fbea4d71d162118;p=awesomized%2Fext-ion diff --git a/ion.c b/ion.c index 749527c..207909f 100644 --- a/ion.c +++ b/ion.c @@ -1152,14 +1152,15 @@ static ZEND_METHOD(ion_Reader_Buffer_Reader, __construct) Z_PARAM_OPTIONAL Z_PARAM_OBJ_OF_CLASS_OR_NAMED_OR_NULL(obj->opt, ce_Reader_Options, ce_Reader_Options, za_opt) ZEND_PARSE_PARAMETERS_END(); + if (za_opt) { + update_property_obj_ex(ce_Reader_Reader, &obj->std, ZEND_STRL("options"), obj->opt); + OBJ_RELEASE(obj->opt); + } obj->type = BUFFER_READER; obj->buffer = zend_string_copy(zstr); php_ion_reader_ctor(obj); - if (za_opt) { - OBJ_RELEASE(obj->opt); - } } static ZEND_METHOD(ion_Reader_Buffer_Reader, getBuffer) { @@ -1181,14 +1182,15 @@ static ZEND_METHOD(ion_Reader_Stream_Reader, __construct) Z_PARAM_OPTIONAL Z_PARAM_OBJ_OF_CLASS_OR_NAMED_OR_NULL(obj->opt, ce_Reader_Options, ce_Reader_Options, za_opt) ZEND_PARSE_PARAMETERS_END(); + if (za_opt) { + update_property_obj_ex(ce_Reader_Reader, &obj->std, ZEND_STRL("options"), obj->opt); + OBJ_RELEASE(obj->opt); + } obj->type = STREAM_READER; php_stream_from_zval_no_verify(obj->stream.ptr, zstream); php_ion_reader_ctor(obj); - if (za_opt) { - OBJ_RELEASE(obj->opt); - } } static ZEND_METHOD(ion_Reader_Stream_Reader, getStream) { @@ -1908,10 +1910,7 @@ PHP_MINIT_FUNCTION(ion) PHP_MSHUTDOWN_FUNCTION(ion) { - if (g_sym_tab_php) { - ion_symbol_table_close(g_sym_tab_php); - } - zend_hash_destroy(&g_sym_hash); + g_sym_dtor(); return SUCCESS; }