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 { \