Fixed bug #64769 mbstring PHPTs crash on Windows x64
The tricky business going there in oniguruma is saving a pointer
in an int variable, passing that variable into a function and making
it a pointer again. On 64bit windows casting a pointer to a 32 bit
int will truncate that pointer. This kind of things won't work on
Windows x64.
[SNIPPET]
unsigned long ul0[2], ul1, *ul2;
ul0[0] = 42uL;
ul0[0] = 24uL;
ul1 = (unsigned long)ul0;
ul2 = (unsigned long *)ul1;
/* now it's broken, accessing ul2[0] will crash. */
[/SNIPPET]
To make it portable, ULONG_PTR should be used in this case.
In oniguruma this behaviour is to see at least in the following
codepath: