diff --git a/stb_sprintf.h b/stb_sprintf.h index 4335a30..841dfd6 100644 --- a/stb_sprintf.h +++ b/stb_sprintf.h @@ -15,6 +15,7 @@ // Rohit Nirmal // Marcin Wojdyr // Leonard Ritter +// Stefano Zanotti // // LICENSE: // @@ -159,6 +160,7 @@ PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC): #endif #include // for va_list() +#include // size_t, ptrdiff_t #ifndef STB_SPRINTF_MIN #define STB_SPRINTF_MIN 512 // how many characters per callback @@ -457,13 +459,16 @@ STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback, break; // are we 64-bit on intmax? (c99) case 'j': - fl |= STBSP__INTMAX; + fl |= (sizeof(size_t) == 8) ? STBSP__INTMAX : 0; ++f; break; // are we 64-bit on size_t or ptrdiff_t? (c99) case 'z': + fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0; + ++f; + break; case 't': - fl |= ((sizeof(char *) == 8) ? STBSP__INTMAX : 0); + fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0; ++f; break; // are we 64-bit (msft style)