On Monday, 15 December 2014 at 17:48:32 UTC, AuoroP via
Digitalmars-d-learn wrote:
ulong jpegSize,
Without looking too closely, this sets off an alarm to me: C's
long and D's long are not really compatible because C's long has
variable size and D's long is 64 bit.
I'd say try "import core.stdc.config;" and replace all instances
of ulong with c_ulong and all instances of long with c_long when
interfacing with C.
DLLEXPORT int DLLCALL tjDecompressHeader2(tjhandle handle,
unsigned char *jpegBuf, unsigned long jpegSize, int *width, int
*height,
yeah the D long is 32 bits longer than the C function expects, so
every argument after it is offset by that amount.