sniper          Thu Feb  6 10:27:53 2003 EDT

  Modified files:              
    /php4/ext/standard  array.c 
  Log:
  - Fixed bug #22088 (array_shift() leaves next index to be +1 too much)
  
Index: php4/ext/standard/array.c
diff -u php4/ext/standard/array.c:1.219 php4/ext/standard/array.c:1.220
--- php4/ext/standard/array.c:1.219     Wed Feb  5 12:56:08 2003
+++ php4/ext/standard/array.c   Thu Feb  6 10:27:53 2003
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.219 2003/02/05 17:56:08 iliaa Exp $ */
+/* $Id: array.c,v 1.220 2003/02/06 15:27:53 sniper Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -1860,11 +1860,12 @@
                int k = 0;
                Bucket *p = Z_ARRVAL_PP(stack)->pListHead;
                while (p != NULL) {
-                       if (p->nKeyLength == 0)
+                       if (p->nKeyLength == 0) {
                                p->h = k++;
+                       }
                        p = p->pListNext;
                }
-               Z_ARRVAL_PP(stack)->nNextFreeElement = k+1;
+               Z_ARRVAL_PP(stack)->nNextFreeElement = k;
                zend_hash_rehash(Z_ARRVAL_PP(stack));
        } else if (!key_len) {
                Z_ARRVAL_PP(stack)->nNextFreeElement = 
Z_ARRVAL_PP(stack)->nNextFreeElement - 1;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to