stb_sprintf: fix 32 vs 64-bit sizes for format widts j/z/t
This commit is contained in:
parent
6e7e5c5787
commit
619cdb6a3b
@ -15,6 +15,7 @@
|
|||||||
// Rohit Nirmal
|
// Rohit Nirmal
|
||||||
// Marcin Wojdyr
|
// Marcin Wojdyr
|
||||||
// Leonard Ritter
|
// Leonard Ritter
|
||||||
|
// Stefano Zanotti
|
||||||
//
|
//
|
||||||
// LICENSE:
|
// LICENSE:
|
||||||
//
|
//
|
||||||
@ -159,6 +160,7 @@ PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC):
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdarg.h> // for va_list()
|
#include <stdarg.h> // for va_list()
|
||||||
|
#include <stddef.h> // size_t, ptrdiff_t
|
||||||
|
|
||||||
#ifndef STB_SPRINTF_MIN
|
#ifndef STB_SPRINTF_MIN
|
||||||
#define STB_SPRINTF_MIN 512 // how many characters per callback
|
#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;
|
break;
|
||||||
// are we 64-bit on intmax? (c99)
|
// are we 64-bit on intmax? (c99)
|
||||||
case 'j':
|
case 'j':
|
||||||
fl |= STBSP__INTMAX;
|
fl |= (sizeof(size_t) == 8) ? STBSP__INTMAX : 0;
|
||||||
++f;
|
++f;
|
||||||
break;
|
break;
|
||||||
// are we 64-bit on size_t or ptrdiff_t? (c99)
|
// are we 64-bit on size_t or ptrdiff_t? (c99)
|
||||||
case 'z':
|
case 'z':
|
||||||
|
fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0;
|
||||||
|
++f;
|
||||||
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
fl |= ((sizeof(char *) == 8) ? STBSP__INTMAX : 0);
|
fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0;
|
||||||
++f;
|
++f;
|
||||||
break;
|
break;
|
||||||
// are we 64-bit (msft style)
|
// are we 64-bit (msft style)
|
||||||
|
Loading…
Reference in New Issue
Block a user