No need to pass all those parameters. Also long longs aren't 8 digits
long. I don't know how to find out the length of a size_t at
compile-time in a way I can use with a format specifier.
I ran into a couple of problems while trying to use this with my
program:
My compiler (MinGW-w64 GCC 8.2.0) complained about not recognising %lld
format specifiers.
The compiler also warned about non-guarding 'if's. I ignored it at
first, but then I noticed my program crashed when it ran
stb_leakcheck_dumpmem. Making the 'if's guard fixed that.
After that, the lib worked until I changed how it was included: instead
of tacking a debug-only #include at the start of every file, I switched
to using GCC's '-include' option to force-include it in every file. But
doing that gave me errors about size_t not being defined. And after
fixing that, I instead got errors about the #defines messing with
stdlib.h. So to fix those I made the declaration-only part of the header
include stdlib.h.
1. const char* for __FILE__ (string literals are const)
2. Use %zd to print size_t where available; the only real problem
here is Visual C++. Use long long on the VC++ vers that support
64-bit targets but not %zd, int on the even older 32-bit-only
VC++ vers that don't support "long long" either.
Fixes#459. I think. (It's hard to be sure since the issue doesn't
state the exact warning message.)