#ifndef _SQSTRING_H_\r
#define _SQSTRING_H_\r
\r
-inline unsigned int _hashstr (const SQChar *s, size_t l)\r
+inline SQHash _hashstr (const SQChar *s, size_t l)\r
{\r
- unsigned int h = l; /* seed */\r
+ SQHash h = l; /* seed */\r
size_t step = (l>>5)|1; /* if string is too long, don't hash all its chars */\r
for (; l>=step; l-=step)\r
h = h ^ ((h<<5)+(h>>2)+(unsigned short)*(s++));\r
SQString(){}\r
~SQString(){}\r
public:\r
- static SQString *Create(SQSharedState *ss, const SQChar *, int len = -1 );\r
- int Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval);\r
+ static SQString *Create(SQSharedState *ss, const SQChar *, SQInteger len = -1 );\r
+ SQInteger Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval);\r
void Release();\r
SQSharedState *_sharedstate;\r
SQString *_next; //chain for the string table\r
- int _len;\r
- int _hash;\r
+ SQInteger _len;\r
+ SQHash _hash;\r
SQChar _val[1];\r
};\r
\r