Turn dictthreshold and dictincrease into cell-sized variables, so
they can be used with cell operators like !. As I did this, I noticed the whole CELL thing might have problems with big endian architectures with sizeof(int)!=sizeof(void*).
This commit is contained in:
parent
9a95925dcf
commit
fa71f8751f
@ -66,8 +66,8 @@
|
||||
#include "ficl.h"
|
||||
|
||||
/* Dictionary on-demand resizing control variables */
|
||||
unsigned int dictThreshold;
|
||||
unsigned int dictIncrease;
|
||||
CELL dictThreshold;
|
||||
CELL dictIncrease;
|
||||
|
||||
|
||||
static char *dictCopyName(FICL_DICT *pDict, STRINGINFO si);
|
||||
@ -774,11 +774,12 @@ void hashReset(FICL_HASH *pHash)
|
||||
|
||||
void dictCheckThreshold(FICL_DICT* dp)
|
||||
{
|
||||
if( dictCellsAvail(dp) < dictThreshold ) {
|
||||
dp->dict = ficlMalloc( dictIncrease * sizeof (CELL) );
|
||||
if( dictCellsAvail(dp) < dictThreshold.u ) {
|
||||
dp->dict = ficlMalloc( dictIncrease.u * sizeof (CELL) );
|
||||
assert(dp->dict);
|
||||
dp->here = dp->dict;
|
||||
dp->size = dictIncrease;
|
||||
dp->size = dictIncrease.u;
|
||||
dictAlign(dp);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1011,8 +1011,8 @@ WORDKIND ficlWordClassify(FICL_WORD *pFW);
|
||||
/*
|
||||
** Dictionary on-demand resizing
|
||||
*/
|
||||
extern unsigned int dictThreshold;
|
||||
extern unsigned int dictIncrease;
|
||||
extern CELL dictThreshold;
|
||||
extern CELL dictIncrease;
|
||||
|
||||
/*
|
||||
** Various FreeBSD goodies
|
||||
|
Loading…
x
Reference in New Issue
Block a user