cvs: /php4/ext/standard array.c
| From: | Andrei Zmievski | Date: | Fri, 24 Mar 2000 14:56:50 +0000 |
| Subject: | cvs: /php4/ext/standard array.c | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-12563@lists.php.net to get a copy of this message | ||
andrei Fri Mar 24 06:56:50 2000 EDT
Modified files:
/php4/ext/standard array.c
Log:
@- Fixed extract() for EXTR_PREFIX_SAME and EXTR_SKIP cases. (Andrei)
Index: php4/ext/standard/array.c
diff -u php4/ext/standard/array.c:1.33 php4/ext/standard/array.c:1.34
--- php4/ext/standard/array.c:1.33 Mon Mar 6 12:37:11 2000
+++ php4/ext/standard/array.c Fri Mar 24 06:56:19 2000
@@ -891,7 +891,7 @@
PHP_FUNCTION(extract)
{
zval **var_array, **etype, **prefix;
- zval **entry, *exist, *data;
+ zval **entry, *data;
char *varname, *finalname;
ulong lkey;
int res, extype;
@@ -947,15 +947,14 @@
if (_valid_var_name(varname)) {
finalname = NULL;
- res = zend_hash_find(EG(active_symbol_table),
- varname, strlen(varname)+1, (void**)&exist);
+ res = zend_hash_exists(EG(active_symbol_table), varname, strlen(varname)+1);
switch (extype) {
case EXTR_OVERWRITE:
finalname = estrdup(varname);
break;
case EXTR_PREFIX_SAME:
- if (res != SUCCESS)
+ if (!res)
finalname = estrdup(varname);
/* break omitted intentionally */
@@ -969,7 +968,7 @@
break;
default:
- if (res != SUCCESS)
+ if (!res)
finalname = estrdup(varname);
break;
}