https://bugs.winehq.org/show_bug.cgi?id=55042
Bug ID: 55042 Summary: scrrun: dictionary get_num_hash generating the same hash for 2175 and 6259 Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: scrrun Assignee: wine-bugs@winehq.org Reporter: jsm174@gmail.com Distribution: ---
In vbscript, I had some code like this:
Set FlexDMDDict = CreateObject("Scripting.Dictionary")
FlexDMDDict.Add 0, "VPX.DMD_Space" FlexDMDDict.Add 63, "VPX.DMD_O" FlexDMDDict.Add 2175,"VPX.DMD_8" . . FlexDMDDict.Add 6259, "VPX.DMD_R"
I was getting VBSE_ACTION_NOT_SUPPORTED on the last line, so I put a printf in the `get_num_hash`:
static DWORD get_num_hash(FLOAT num) { DWORD x = (*((DWORD*)&num)) % DICT_HASH_MOD; printf("get_num_hash: num=%f, hash=%u\n", num, x); return (*((DWORD*)&num)) % DICT_HASH_MOD; }
I'm getting:
get_num_hash: num=2175.000000, hash=977 get_num_hash: num=6259.000000, hash=977
FWIW, I'm using this on macos, so DWORD is set to:
typedef unsigned int DWORD, *PDWORD, *LPDWORD;