]> granicus.if.org Git - php/commitdiff
@- Fixed extract() for EXTR_PREFIX_SAME and EXTR_SKIP cases. (Andrei)
authorAndrei Zmievski <andrei@php.net>
Fri, 24 Mar 2000 14:56:19 +0000 (14:56 +0000)
committerAndrei Zmievski <andrei@php.net>
Fri, 24 Mar 2000 14:56:19 +0000 (14:56 +0000)
ext/standard/array.c

index e280d9f0024513bfffb557a604203464d614f5ce..f8aa3ff772e47ed92c4cf7ac31344eac7b8eb02f 100644 (file)
@@ -891,7 +891,7 @@ static int _valid_var_name(char *varname)
 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 @@ PHP_FUNCTION(extract)
                        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 @@ PHP_FUNCTION(extract)
                                                break;
 
                                        default:
-                                               if (res != SUCCESS)
+                                               if (!res)
                                                        finalname = estrdup(varname);
                                                break;
                                }