-/* see copyright notice in squirrel.h */
-#ifndef _SQSTRING_H_
-#define _SQSTRING_H_
-
-inline SQHash _hashstr (const SQChar *s, size_t l)
-{
- SQHash h = (SQHash)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 *, SQInteger len = -1 );
- SQInteger Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval);
- void Release();
- SQSharedState *_sharedstate;
- SQString *_next; //chain for the string table
- SQInteger _len;
- SQHash _hash;
- SQChar _val[1];
-};
-
-
-
-#endif //_SQSTRING_H_
+/* see copyright notice in squirrel.h */\r
+#ifndef _SQSTRING_H_\r
+#define _SQSTRING_H_\r
+\r
+inline SQHash _hashstr (const SQChar *s, size_t l)\r
+{\r
+ SQHash h = (SQHash)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 *, 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
+ SQInteger _len;\r
+ SQHash _hash;\r
+ SQChar _val[1];\r
+};\r
+\r
+\r
+\r
+#endif //_SQSTRING_H_\r