From: Thies C. Arntzen Date: Tue, 12 Oct 1999 14:51:17 +0000 (+0000) Subject: new improved resource-API X-Git-Tag: php-4.0b3_RC2~197 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d7c18c1f511b3d2e8ba5dc50d919ea352bef3ad;p=php new improved resource-API --- diff --git a/Zend/zend_list.c b/Zend/zend_list.c index 88784b10cd..51a827e708 100644 --- a/Zend/zend_list.c +++ b/Zend/zend_list.c @@ -138,13 +138,22 @@ ZEND_API void *zend_plist_find(int id, int *type) } -ZEND_API void *zend_fetch_resource(zval **passed_id, int default_id, char *resource_type_name, int resource_type) -{ - return zend_fetch_resource_ex(passed_id, default_id, resource_type_name, 1, resource_type); +ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type) +{ + int rsrc_id; + + rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type); + + if (rsrc_result) { + rsrc_result->value.lval = rsrc_id; + rsrc_result->type = IS_RESOURCE; + } + + return rsrc_id; } -ZEND_API void *zend_fetch_resource_ex(zval **passed_id, int default_id, char *resource_type_name, int num_resource_types, ...) +ZEND_API void *zend_fetch_resource(zval **passed_id, int default_id, char *resource_type_name, int *found_resource_type, int num_resource_types, ...) { int id; int actual_resource_type; @@ -180,6 +189,9 @@ ZEND_API void *zend_fetch_resource_ex(zval **passed_id, int default_id, char *re for (i=0; ivalue.lval = zend_list_insert(rsrc_pointer, rsrc_type); \ - rsrc_result->type = IS_RESOURCE +#define ZEND_REGISTER_RESOURCE(rsrc_result, rsrc_pointer, rsrc_type) \ + zend_register_resource(rsrc_result, rsrc_pointer, rsrc_type); #endif