diff options
Diffstat (limited to 'ext/interbase/interbase.c')
-rw-r--r-- | ext/interbase/interbase.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c index f944c0e4c4..e777962f53 100644 --- a/ext/interbase/interbase.c +++ b/ext/interbase/interbase.c @@ -991,18 +991,13 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* ib_link = (ibase_db_link *) emalloc(sizeof(ibase_db_link)); RETVAL_RES(zend_register_resource(ib_link, le_link)); } else { - zend_resource new_le; - ib_link = (ibase_db_link *) malloc(sizeof(ibase_db_link)); if (!ib_link) { RETURN_FALSE; } /* hash it up */ - new_le.type = le_plink; - new_le.ptr = ib_link; - if (zend_hash_str_update_mem(&EG(persistent_list), hash, sizeof(hash)-1, - (void *) &new_le, sizeof(zend_resource)) == NULL) { + if (zend_register_persistent_resource(hash, sizeof(hash)-1, ib_link, le_plink) == NULL) { free(ib_link); RETURN_FALSE; } |