cvs: ZendEngine2 / zend_hash.c zend_hash.h

[email protected] ("Sara Golemon") Mon, 25 May 2009 01:16:20 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvspollita1243214180@cvsserver>
pollita		Mon May 25 01:16:20 2009 UTC

  Modified files:              
    /ZendEngine2	zend_hash.c zend_hash.h 
  Log:
  Expand zend_(u_)symtable_update_current_key to allow specifying HashPosition
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_hash.c?r1=1.164&r2=1.165&diff_format=u
Index: ZendEngine2/zend_hash.c
diff -u ZendEngine2/zend_hash.c:1.164 ZendEngine2/zend_hash.c:1.165
--- ZendEngine2/zend_hash.c:1.164	Thu Mar 26 22:16:47 2009
+++ ZendEngine2/zend_hash.c	Mon May 25 01:16:19 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_hash.c,v 1.164 2009/03/26 22:16:47 felipe Exp $ */
+/* $Id: zend_hash.c,v 1.165 2009/05/25 01:16:19 pollita Exp $ */
 
 #include "zend.h"
 #include "zend_operators.h"
@@ -1976,18 +1976,18 @@
 }
 /* }}} */
 
-ZEND_API int zend_u_symtable_update_current_key(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength, int mode) /* {{{ */
+ZEND_API int zend_u_symtable_update_current_key_ex(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength, int mode, HashPosition *pos) /* {{{ */
 {
 	zend_uchar key_type;
 
 	if (type == IS_STRING) {
 		key_type = HASH_KEY_IS_STRING;
-		ZEND_HANDLE_NUMERIC(arKey.s, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, NULL));
+		ZEND_HANDLE_NUMERIC(arKey.s, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, pos));
 	} else {
 		key_type = HASH_KEY_IS_UNICODE;
-		ZEND_HANDLE_U_NUMERIC(arKey.u, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, NULL));
+		ZEND_HANDLE_U_NUMERIC(arKey.u, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, pos));
 	}
-	return zend_hash_update_current_key_ex(ht, key_type, arKey, nKeyLength, 0, mode, NULL);
+	return zend_hash_update_current_key_ex(ht, key_type, arKey, nKeyLength, 0, mode, pos);
 }
 /* }}} */
 
@@ -2019,10 +2019,10 @@
 }
 /* }}} */
 
-ZEND_API int zend_symtable_update_current_key(HashTable *ht, const char *arKey, uint nKeyLength, int mode) /* {{{ */
+ZEND_API int zend_symtable_update_current_key_ex(HashTable *ht, const char *arKey, uint nKeyLength, int mode, HashPosition *pos) /* {{{ */
 {
-	ZEND_HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, NULL));
-	return zend_hash_update_current_key_ex(ht, HASH_KEY_IS_STRING, ZSTR(arKey), nKeyLength, 0, mode, NULL);
+	ZEND_HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_update_current_key_ex(ht, HASH_KEY_IS_LONG, NULL_ZSTR, 0, idx, mode, pos));
+	return zend_hash_update_current_key_ex(ht, HASH_KEY_IS_STRING, ZSTR(arKey), nKeyLength, 0, mode, pos);
 }
 /* }}} */
 
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_hash.h?r1=1.102&r2=1.103&diff_format=u
Index: ZendEngine2/zend_hash.h
diff -u ZendEngine2/zend_hash.h:1.102 ZendEngine2/zend_hash.h:1.103
--- ZendEngine2/zend_hash.h:1.102	Tue Mar 24 16:03:05 2009
+++ ZendEngine2/zend_hash.h	Mon May 25 01:16:19 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_hash.h,v 1.102 2009/03/24 16:03:05 dmitry Exp $ */
+/* $Id: zend_hash.h,v 1.103 2009/05/25 01:16:19 pollita Exp $ */
 
 #ifndef ZEND_HASH_H
 #define ZEND_HASH_H
@@ -374,7 +374,9 @@
 ZEND_API int zend_symtable_del(HashTable *ht, const char *arKey, uint nKeyLength);
 ZEND_API int zend_symtable_find(HashTable *ht, const char *arKey, uint nKeyLength, void **pData);
 ZEND_API int zend_symtable_exists(HashTable *ht, const char *arKey, uint nKeyLength);
-ZEND_API int zend_symtable_update_current_key(HashTable *ht, const char *arKey, uint nKeyLength, int mode);
+ZEND_API int zend_symtable_update_current_key_ex(HashTable *ht, const char *arKey, uint nKeyLength, int mode, HashPosition *pos);
+#define zend_symtable_update_current_key(ht,arKey,nKeyLength,mode) \
+	zend_symtable_update_current_key_ex(ht, arKey, nKeyLength, mode, NULL)
 
 ZEND_API int zend_ascii_symtable_update(HashTable *ht, const char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest);
 ZEND_API int zend_ascii_symtable_del(HashTable *ht, const char *arKey, uint nKeyLength);
@@ -395,7 +397,9 @@
 ZEND_API int zend_u_symtable_del(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength);
 ZEND_API int zend_u_symtable_find(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength, void **pData);
 ZEND_API int zend_u_symtable_exists(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength);
-ZEND_API int zend_u_symtable_update_current_key(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength, int mode);
+ZEND_API int zend_u_symtable_update_current_key_ex(HashTable *ht, zend_uchar type, zstr arKey, uint nKeyLength, int mode, HashPosition *pos);
+#define zend_u_symtable_update_current_key(ht,type,arKey,nKeyLength,mode) \
+	zend_u_symtable_update_current_key_ex(ht, type, arKey, nKeyLength, mode, NULL)
 
 /* {{{ ZEND_HANDLE_*_NUMERIC macros */
 #define ZEND_HANDLE_NUMERIC(key, length, func) do {							\