diff options
Diffstat (limited to 'Zend/zend_hash.h')
-rw-r--r-- | Zend/zend_hash.h | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h index 64e9ebbe61..eb8bef0ac3 100644 --- a/Zend/zend_hash.h +++ b/Zend/zend_hash.h @@ -36,7 +36,7 @@ #define HASH_DEL_KEY 0 #define HASH_DEL_INDEX 1 -typedef ulong (*hash_func_t)(char *arKey, uint nKeyLength); +typedef ulong (*hash_func_t)(const char *arKey, uint nKeyLength); typedef int (*compare_func_t)(const void *, const void * TSRMLS_DC); typedef void (*sort_func_t)(void *, size_t, register size_t, compare_func_t TSRMLS_DC); typedef void (*dtor_func_t)(void *pDest); @@ -98,13 +98,13 @@ ZEND_API void zend_hash_clean(HashTable *ht); #define zend_hash_init_ex(ht, nSize, pHashFunction, pDestructor, persistent, bApplyProtection) _zend_hash_init_ex((ht), (nSize), (pHashFunction), (pDestructor), (persistent), (bApplyProtection) ZEND_FILE_LINE_CC) /* additions/updates/changes */ -ZEND_API int _zend_hash_add_or_update(HashTable *ht, char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest, int flag ZEND_FILE_LINE_DC); +ZEND_API int _zend_hash_add_or_update(HashTable *ht, const char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest, int flag ZEND_FILE_LINE_DC); #define zend_hash_update(ht, arKey, nKeyLength, pData, nDataSize, pDest) \ _zend_hash_add_or_update(ht, arKey, nKeyLength, pData, nDataSize, pDest, HASH_UPDATE ZEND_FILE_LINE_CC) #define zend_hash_add(ht, arKey, nKeyLength, pData, nDataSize, pDest) \ _zend_hash_add_or_update(ht, arKey, nKeyLength, pData, nDataSize, pDest, HASH_ADD ZEND_FILE_LINE_CC) -ZEND_API int _zend_hash_quick_add_or_update(HashTable *ht, char *arKey, uint nKeyLength, ulong h, void *pData, uint nDataSize, void **pDest, int flag ZEND_FILE_LINE_DC); +ZEND_API int _zend_hash_quick_add_or_update(HashTable *ht, const char *arKey, uint nKeyLength, ulong h, void *pData, uint nDataSize, void **pDest, int flag ZEND_FILE_LINE_DC); #define zend_hash_quick_update(ht, arKey, nKeyLength, h, pData, nDataSize, pDest) \ _zend_hash_quick_add_or_update(ht, arKey, nKeyLength, h, pData, nDataSize, pDest, HASH_UPDATE ZEND_FILE_LINE_CC) #define zend_hash_quick_add(ht, arKey, nKeyLength, h, pData, nDataSize, pDest) \ @@ -116,7 +116,7 @@ ZEND_API int _zend_hash_index_update_or_next_insert(HashTable *ht, ulong h, void #define zend_hash_next_index_insert(ht, pData, nDataSize, pDest) \ _zend_hash_index_update_or_next_insert(ht, 0, pData, nDataSize, pDest, HASH_NEXT_INSERT ZEND_FILE_LINE_CC) -ZEND_API int zend_hash_add_empty_element(HashTable *ht, char *arKey, uint nKeyLength); +ZEND_API int zend_hash_add_empty_element(HashTable *ht, const char *arKey, uint nKeyLength); #define ZEND_HASH_APPLY_KEEP 0 @@ -144,22 +144,22 @@ ZEND_API void zend_hash_reverse_apply(HashTable *ht, apply_func_t apply_func TSR /* Deletes */ -ZEND_API int zend_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, ulong h, int flag); +ZEND_API int zend_hash_del_key_or_index(HashTable *ht, const char *arKey, uint nKeyLength, ulong h, int flag); #define zend_hash_del(ht, arKey, nKeyLength) \ zend_hash_del_key_or_index(ht, arKey, nKeyLength, 0, HASH_DEL_KEY) #define zend_hash_index_del(ht, h) \ zend_hash_del_key_or_index(ht, NULL, 0, h, HASH_DEL_INDEX) -ZEND_API ulong zend_get_hash_value(char *arKey, uint nKeyLength); +ZEND_API ulong zend_get_hash_value(const char *arKey, uint nKeyLength); /* Data retreival */ -ZEND_API int zend_hash_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData); -ZEND_API int zend_hash_quick_find(HashTable *ht, char *arKey, uint nKeyLength, ulong h, void **pData); +ZEND_API int zend_hash_find(HashTable *ht, const char *arKey, uint nKeyLength, void **pData); +ZEND_API int zend_hash_quick_find(HashTable *ht, const char *arKey, uint nKeyLength, ulong h, void **pData); ZEND_API int zend_hash_index_find(HashTable *ht, ulong h, void **pData); /* Misc */ -ZEND_API int zend_hash_exists(HashTable *ht, char *arKey, uint nKeyLength); -ZEND_API int zend_hash_quick_exists(HashTable *ht, char *arKey, uint nKeyLength, ulong h); +ZEND_API int zend_hash_exists(HashTable *ht, const char *arKey, uint nKeyLength); +ZEND_API int zend_hash_quick_exists(HashTable *ht, const char *arKey, uint nKeyLength, ulong h); ZEND_API int zend_hash_index_exists(HashTable *ht, ulong h); ZEND_API ulong zend_hash_next_free_element(HashTable *ht); @@ -174,7 +174,7 @@ ZEND_API int zend_hash_get_current_key_type_ex(HashTable *ht, HashPosition *pos) ZEND_API int zend_hash_get_current_data_ex(HashTable *ht, void **pData, HashPosition *pos); ZEND_API void zend_hash_internal_pointer_reset_ex(HashTable *ht, HashPosition *pos); ZEND_API void zend_hash_internal_pointer_end_ex(HashTable *ht, HashPosition *pos); -ZEND_API int zend_hash_update_current_key_ex(HashTable *ht, int key_type, char *str_index, uint str_length, ulong num_index, HashPosition *pos); +ZEND_API int zend_hash_update_current_key_ex(HashTable *ht, int key_type, const char *str_index, uint str_length, ulong num_index, HashPosition *pos); typedef struct _HashPointer { HashPosition pos; @@ -251,7 +251,7 @@ ZEND_API int zend_hash_rehash(HashTable *ht); * -- Ralf S. Engelschall <rse@engelschall.com> */ -static inline ulong zend_inline_hash_func(char *arKey, uint nKeyLength) +static inline ulong zend_inline_hash_func(const char *arKey, uint nKeyLength) { register ulong hash = 5381; @@ -281,7 +281,7 @@ EMPTY_SWITCH_DEFAULT_CASE() } -ZEND_API ulong zend_hash_func(char *arKey, uint nKeyLength); +ZEND_API ulong zend_hash_func(const char *arKey, uint nKeyLength); #if ZEND_DEBUG /* debug */ @@ -299,13 +299,13 @@ END_EXTERN_C() #define HANDLE_NUMERIC(key, length, func) { \ - register char *tmp=key; \ + register const char *tmp=key; \ \ if (*tmp=='-') { \ tmp++; \ } \ if ((*tmp>='0' && *tmp<='9')) do { /* possibly a numeric index */ \ - char *end=key+length-1; \ + const char *end=key+length-1; \ long idx; \ \ if (*tmp++=='0' && length>2) { /* don't accept numbers with leading zeros */ \ @@ -334,34 +334,34 @@ END_EXTERN_C() } -static inline int zend_symtable_update(HashTable *ht, char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest) \ +static inline int zend_symtable_update(HashTable *ht, const char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest) \ { HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_update(ht, idx, pData, nDataSize, pDest)); return zend_hash_update(ht, arKey, nKeyLength, pData, nDataSize, pDest); } -static inline int zend_symtable_del(HashTable *ht, char *arKey, uint nKeyLength) +static inline int zend_symtable_del(HashTable *ht, const char *arKey, uint nKeyLength) { HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_del(ht, idx)) return zend_hash_del(ht, arKey, nKeyLength); } -static inline int zend_symtable_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData) +static inline int zend_symtable_find(HashTable *ht, const char *arKey, uint nKeyLength, void **pData) { HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_find(ht, idx, pData)); return zend_hash_find(ht, arKey, nKeyLength, pData); } -static inline int zend_symtable_exists(HashTable *ht, char *arKey, uint nKeyLength) +static inline int zend_symtable_exists(HashTable *ht, const char *arKey, uint nKeyLength) { HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_exists(ht, idx)); return zend_hash_exists(ht, arKey, nKeyLength); } -static inline int zend_symtable_update_current_key(HashTable *ht, char *arKey, uint nKeyLength) +static inline int zend_symtable_update_current_key(HashTable *ht, const char *arKey, uint nKeyLength) { HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_update_current_key(ht, HASH_KEY_IS_LONG, NULL, 0, idx)); return zend_hash_update_current_key(ht, HASH_KEY_IS_STRING, arKey, nKeyLength, 0); |