CVS update: php31/main
| From: | zeev | Date: | Mon, 21 Sep 1998 11:23:07 +0000 |
| Subject: | CVS update: php31/main | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-1325@lists.php.net to get a copy of this message | ||
Date: Monday September 21, 1998 @ 7:23
Author: zeev
Update of /repository/php31/main
In directory asf:/u2/tmp/cvs-serv28441/main
Modified Files:
php3_hash.c php3_hash.h
Log Message:
port 64-bit patches
Index: php31/main/php3_hash.c
diff -c php31/main/php3_hash.c:2.2 php31/main/php3_hash.c:2.3
*** php31/main/php3_hash.c:2.2 Sun Aug 30 02:45:22 1998
--- php31/main/php3_hash.c Mon Sep 21 07:23:05 1998
***************
*** 29,35 ****
*/
! /* $Id: php3_hash.c,v 2.2 1998/08/30 06:45:22 shane Exp $ */
#ifdef THREAD_SAFE
#include "tls.h"
#endif
--- 29,35 ----
*/
! /* $Id: php3_hash.c,v 2.3 1998/09/21 11:23:05 zeev Exp $ */
#ifdef THREAD_SAFE
#include "tls.h"
#endif
***************
*** 76,84 ****
uint nNumPrimeNumbers = sizeof(PrimeNumbers) / sizeof(uint);
! static uint hashpjw(char *arKey, uint nKeyLength)
{
! uint h = 0, g;
char *arEnd=arKey+nKeyLength;
while (arKey < arEnd) {
--- 76,84 ----
uint nNumPrimeNumbers = sizeof(PrimeNumbers) / sizeof(uint);
! static ulong hashpjw(char *arKey, uint nKeyLength)
{
! ulong h = 0, g;
char *arEnd=arKey+nKeyLength;
while (arKey < arEnd) {
***************
*** 91,97 ****
return h;
}
! PHPAPI int _php3_hash_init(HashTable *ht, uint nSize, uint(*pHashFunction) (char *arKey, uint
nKeyLength), void (*pDestructor) (void *pData),int persistent)
{
uint i;
--- 91,97 ----
return h;
}
! PHPAPI int _php3_hash_init(HashTable *ht, uint nSize, ulong(*pHashFunction) (char *arKey, uint
nKeyLength), void (*pDestructor) (void *pData),int persistent)
{
uint i;
***************
*** 225,231 ****
}
! PHPAPI int _php3_hash_index_update_or_next_insert(HashTable *ht, uint h, void *pData, uint
nDataSize, void **pDest, int flag)
{
uint nIndex;
Bucket *p;
--- 225,231 ----
}
! PHPAPI int _php3_hash_index_update_or_next_insert(HashTable *ht, ulong h, void *pData, uint
nDataSize, void **pDest, int flag)
{
uint nIndex;
Bucket *p;
***************
*** 311,317 ****
PHPAPI int _php3_hash_pointer_update(HashTable *ht, char *arKey, uint nKeyLength, void *pData)
{
! uint h, nIndex;
Bucket *p;
TLS_VARS;
--- 311,318 ----
PHPAPI int _php3_hash_pointer_update(HashTable *ht, char *arKey, uint nKeyLength, void *pData)
{
! ulong h;
! uint nIndex;
Bucket *p;
TLS_VARS;
***************
*** 393,399 ****
}
! PHPAPI int _php3_hash_pointer_index_update_or_next_insert(HashTable *ht, uint h, void *pData, int
flag)
{
uint nIndex;
Bucket *p;
--- 394,400 ----
}
! PHPAPI int _php3_hash_pointer_index_update_or_next_insert(HashTable *ht, ulong h, void *pData, int
flag)
{
uint nIndex;
Bucket *p;
***************
*** 472,478 ****
PHPAPI int _php3_hash_is_pointer(HashTable *ht, char *arKey, uint nKeyLength)
{
! uint h, nIndex;
Bucket *p;
#if DEBUG
TLS_VARS;
--- 473,480 ----
PHPAPI int _php3_hash_is_pointer(HashTable *ht, char *arKey, uint nKeyLength)
{
! ulong h;
! uint nIndex;
Bucket *p;
#if DEBUG
TLS_VARS;
***************
*** 502,508 ****
return 0;
}
! PHPAPI int _php3_hash_index_is_pointer(HashTable *ht, uint h)
{
uint nIndex;
--- 504,510 ----
return 0;
}
! PHPAPI int _php3_hash_index_is_pointer(HashTable *ht, ulong h)
{
uint nIndex;
***************
*** 559,565 ****
return SUCCESS;
}
! PHPAPI int _php3_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, uint h, int
flag)
{
uint nIndex;
Bucket *p, *t = NULL; /* initialize just to shut gcc up with -Wall */
--- 561,567 ----
return SUCCESS;
}
! PHPAPI int _php3_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, ulong h, int
flag)
{
uint nIndex;
Bucket *p, *t = NULL; /* initialize just to shut gcc up with -Wall */
***************
*** 819,825 ****
*/
PHPAPI int _php3_hash_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData)
{
! uint h, nIndex;
Bucket *p;
HANDLE_NUMERIC(arKey, nKeyLength, _php3_hash_index_find(ht,idx,pData));
--- 821,828 ----
*/
PHPAPI int _php3_hash_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData)
{
! ulong h;
! uint nIndex;
Bucket *p;
HANDLE_NUMERIC(arKey, nKeyLength, _php3_hash_index_find(ht,idx,pData));
***************
*** 842,848 ****
PHPAPI int _php3_hash_exists(HashTable *ht, char *arKey, uint nKeyLength)
{
! uint h, nIndex;
Bucket *p;
HANDLE_NUMERIC(arKey, nKeyLength, _php3_hash_index_exists(ht,idx));
--- 845,852 ----
PHPAPI int _php3_hash_exists(HashTable *ht, char *arKey, uint nKeyLength)
{
! ulong h;
! uint nIndex;
Bucket *p;
HANDLE_NUMERIC(arKey, nKeyLength, _php3_hash_index_exists(ht,idx));
***************
*** 863,869 ****
}
! PHPAPI int _php3_hash_index_find(HashTable *ht, uint h, void **pData)
{
uint nIndex;
Bucket *p;
--- 867,873 ----
}
! PHPAPI int _php3_hash_index_find(HashTable *ht, ulong h, void **pData)
{
uint nIndex;
Bucket *p;
***************
*** 882,888 ****
}
! PHPAPI int _php3_hash_index_exists(HashTable *ht, uint h)
{
uint nIndex;
Bucket *p;
--- 886,892 ----
}
! PHPAPI int _php3_hash_index_exists(HashTable *ht, ulong h)
{
uint nIndex;
Bucket *p;
***************
*** 1052,1058 ****
return SUCCESS;
}
! PHPAPI uint _php3_hash_next_free_element(HashTable *ht)
{
return ht->nNextFreeElement;
--- 1056,1062 ----
return SUCCESS;
}
! PHPAPI ulong _php3_hash_next_free_element(HashTable *ht)
{
return ht->nNextFreeElement;
Index: php31/main/php3_hash.h
diff -c php31/main/php3_hash.h:2.0 php31/main/php3_hash.h:2.1
*** php31/main/php3_hash.h:2.0 Fri Jul 3 09:17:26 1998
--- php31/main/php3_hash.h Mon Sep 21 07:23:06 1998
***************
*** 29,35 ****
*/
! /* $Id: php3_hash.h,v 2.0 1998/07/03 13:17:26 rasmus Exp $ */
#ifndef _HASH_
--- 29,35 ----
*/
! /* $Id: php3_hash.h,v 2.1 1998/09/21 11:23:06 zeev Exp $ */
#ifndef _HASH_
***************
*** 51,57 ****
struct hashtable;
typedef struct bucket {
! uint h; /* Used for numeric indexing */
char *arKey;
uint nKeyLength;
void *pData;
--- 51,57 ----
struct hashtable;
typedef struct bucket {
! ulong h; /* Used for numeric indexing */
char *arKey;
uint nKeyLength;
void *pData;
***************
*** 65,72 ****
uint nTableSize;
uint nHashSizeIndex;
uint nNumOfElements;
! uint nNextFreeElement;
! uint(*pHashFunction) (char *arKey, uint nKeyLength);
Bucket *pInternalPointer; /* Used for element traversal */
Bucket *pListHead;
Bucket *pListTail;
--- 65,72 ----
uint nTableSize;
uint nHashSizeIndex;
uint nNumOfElements;
! ulong nNextFreeElement;
! ulong(*pHashFunction) (char *arKey, uint nKeyLength);
Bucket *pInternalPointer; /* Used for element traversal */
Bucket *pListHead;
Bucket *pListTail;
***************
*** 77,83 ****
/* startup/shutdown */
! extern PHPAPI int _php3_hash_init(HashTable *ht, uint nSize, uint(*pHashFunction) (char *arKey,
uint nKeyLength), void (*pDestructor) (void *pData), int persistent);
extern PHPAPI void _php3_hash_destroy(HashTable *ht);
/* additions/updates/changes */
--- 77,83 ----
/* startup/shutdown */
! extern PHPAPI int _php3_hash_init(HashTable *ht, uint nSize, ulong(*pHashFunction) (char *arKey,
uint nKeyLength), void (*pDestructor) (void *pData), int persistent);
extern PHPAPI void _php3_hash_destroy(HashTable *ht);
/* additions/updates/changes */
***************
*** 87,93 ****
#define _php3_hash_add(ht,arKey,nKeyLength,pData,nDataSize,pDest) \
_php3_hash_add_or_update(ht,arKey,nKeyLength,pData,nDataSize,pDest,HASH_ADD)
! extern PHPAPI int _php3_hash_index_update_or_next_insert(HashTable *ht, uint h, void *pData, uint
nDataSize, void **pDest, int flag);
#define _php3_hash_index_update(ht,h,pData,nDataSize,pDest) \
_php3_hash_index_update_or_next_insert(ht,h,pData,nDataSize,pDest,HASH_UPDATE)
#define _php3_hash_next_index_insert(ht,pData,nDataSize,pDest) \
--- 87,93 ----
#define _php3_hash_add(ht,arKey,nKeyLength,pData,nDataSize,pDest) \
_php3_hash_add_or_update(ht,arKey,nKeyLength,pData,nDataSize,pDest,HASH_ADD)
! extern PHPAPI int _php3_hash_index_update_or_next_insert(HashTable *ht, ulong h, void *pData, uint
nDataSize, void **pDest, int flag);
#define _php3_hash_index_update(ht,h,pData,nDataSize,pDest) \
_php3_hash_index_update_or_next_insert(ht,h,pData,nDataSize,pDest,HASH_UPDATE)
#define _php3_hash_next_index_insert(ht,pData,nDataSize,pDest) \
***************
*** 95,101 ****
extern PHPAPI int _php3_hash_pointer_update(HashTable *ht, char *arKey, uint nKeyLength, void
*pData);
! extern PHPAPI int _php3_hash_pointer_index_update_or_next_insert(HashTable *ht, uint h, void
*pData, int flag);
#define _php3_hash_pointer_index_update(ht,h,pData) \
_php3_hash_pointer_index_update_or_next_insert(ht,h,pData,HASH_UPDATE)
#define _php3_hash_next_index_pointer_insert(ht,pData) \
--- 95,101 ----
extern PHPAPI int _php3_hash_pointer_update(HashTable *ht, char *arKey, uint nKeyLength, void
*pData);
! extern PHPAPI int _php3_hash_pointer_index_update_or_next_insert(HashTable *ht, ulong h, void
*pData, int flag);
#define _php3_hash_pointer_index_update(ht,h,pData) \
_php3_hash_pointer_index_update_or_next_insert(ht,h,pData,HASH_UPDATE)
#define _php3_hash_next_index_pointer_insert(ht,pData) \
***************
*** 106,112 ****
/* Deletes */
! extern PHPAPI int _php3_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, uint h,
int flag);
#define _php3_hash_del(ht,arKey,nKeyLength) \
_php3_hash_del_key_or_index(ht,arKey,nKeyLength,0,HASH_DEL_KEY)
#define _php3_hash_index_del(ht,h) \
--- 106,112 ----
/* Deletes */
! extern PHPAPI int _php3_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, ulong
h, int flag);
#define _php3_hash_del(ht,arKey,nKeyLength) \
_php3_hash_del_key_or_index(ht,arKey,nKeyLength,0,HASH_DEL_KEY)
#define _php3_hash_index_del(ht,h) \
***************
*** 114,127 ****
/* Data retreival */
extern PHPAPI int _php3_hash_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData);
! extern PHPAPI int _php3_hash_index_find(HashTable *ht, uint h, void **pData);
/* Misc */
extern PHPAPI int _php3_hash_exists(HashTable *ht, char *arKey, uint nKeyLength);
! extern PHPAPI int _php3_hash_index_exists(HashTable *ht, uint h);
extern PHPAPI int _php3_hash_is_pointer(HashTable *ht, char *arKey, uint nKeyLength);
! extern PHPAPI int _php3_hash_index_is_pointer(HashTable *ht, uint h);
! extern PHPAPI uint _php3_hash_next_free_element(HashTable *ht);
/* traversing */
extern PHPAPI void _php3_hash_move_forward(HashTable *ht);
--- 114,127 ----
/* Data retreival */
extern PHPAPI int _php3_hash_find(HashTable *ht, char *arKey, uint nKeyLength, void **pData);
! extern PHPAPI int _php3_hash_index_find(HashTable *ht, ulong h, void **pData);
/* Misc */
extern PHPAPI int _php3_hash_exists(HashTable *ht, char *arKey, uint nKeyLength);
! extern PHPAPI int _php3_hash_index_exists(HashTable *ht, ulong h);
extern PHPAPI int _php3_hash_is_pointer(HashTable *ht, char *arKey, uint nKeyLength);
! extern PHPAPI int _php3_hash_index_is_pointer(HashTable *ht, ulong h);
! extern PHPAPI ulong _php3_hash_next_free_element(HashTable *ht);
/* traversing */
extern PHPAPI void _php3_hash_move_forward(HashTable *ht);
--
PHP Development Mailing List http://www.php.net/
To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net
For help: php-dev-help@lists.php.net