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