@@ -210,7 +210,7 @@ static PHYSFS_uint32 utf16codepoint(const PHYSFS_uint16 **_str)
else
{
src++; /* eat the other surrogate. */
- cp = (((cp - 0xD800) << 10) | (pair - 0xDC00));
+ cp = (0x10000 | ((cp - 0xD800) << 10) | (pair - 0xDC00));
} /* else */
} /* else if */