summaryrefslogtreecommitdiff
path: root/ext/interbase/interbase.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/interbase/interbase.c')
-rw-r--r--ext/interbase/interbase.c7
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;
}