diff options
| author | Cremno <[email protected]> | 2013-03-08 18:20:54 +0100 |
|---|---|---|
| committer | Cremno <[email protected]> | 2013-03-08 18:20:54 +0100 |
| commit | f719b0e7fff2d4754d91826b69d142c66635c3cf (patch) | |
| tree | ee3e64abfb3b798dcc3acece7560931791717056 /include/mrbconf.h | |
| parent | b783311ec442d4b27f67ecb287c413cac36df147 (diff) | |
| download | mruby-f719b0e7fff2d4754d91826b69d142c66635c3cf.tar.gz mruby-f719b0e7fff2d4754d91826b69d142c66635c3cf.zip | |
define and use print format macros for mrb_int
For portability: %ld can't be used to print a 64-bit mrb_int on
WIN(32|64) because long is 32-bit wide.
Diffstat (limited to 'include/mrbconf.h')
| -rw-r--r-- | include/mrbconf.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/mrbconf.h b/include/mrbconf.h index 52490ceba..b665fb9f7 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -71,12 +71,22 @@ typedef int64_t mrb_int; # define MRB_INT_MIN INT64_MIN # define MRB_INT_MAX INT64_MAX +# define PRIdMRB_INT PRId64 +# define PRIiMRB_INT PRIi64 +# define PRIoMRB_INT PRIo64 +# define PRIxMRB_INT PRIx64 +# define PRIXMRB_INT PRIX64 # define str_to_mrb_int(buf) strtoll(buf, NULL, 10) # endif #else typedef int32_t mrb_int; # define MRB_INT_MIN INT32_MIN # define MRB_INT_MAX INT32_MAX +# define PRIdMRB_INT PRId32 +# define PRIiMRB_INT PRIi32 +# define PRIoMRB_INT PRIo32 +# define PRIxMRB_INT PRIx32 +# define PRIXMRB_INT PRIX32 # define str_to_mrb_int(buf) strtol(buf, NULL, 10) #endif typedef short mrb_sym; @@ -105,7 +115,15 @@ typedef short mrb_sym; # define isinf(n) (!_finite(n) && !_isnan(n)) # define strtoll _strtoi64 # define PRId32 "I32d" +# define PRIi32 "I32i" +# define PRIo32 "I32o" +# define PRIx32 "I32x" +# define PRIX32 "I32X" # define PRId64 "I64d" +# define PRIi64 "I64i" +# define PRIo64 "I64o" +# define PRIx64 "I64x" +# define PRIX64 "I64X" #else # include <inttypes.h> #endif |
