diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-08 15:01:42 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-08 15:01:42 +0900 |
| commit | 058bb18f280dddb53ac40c838b371e9469024274 (patch) | |
| tree | f2b0e3c9cf5d90c4d977a05729175217b86c34b1 /include | |
| parent | 286665c4370b6c741c5bd2e2fdb45fdea11a1070 (diff) | |
| parent | c3f3a0484a7700c97a6ebe9ee7101b1ebe6b7626 (diff) | |
| download | mruby-058bb18f280dddb53ac40c838b371e9469024274.tar.gz mruby-058bb18f280dddb53ac40c838b371e9469024274.zip | |
Merge pull request #1828 from take-cheeze/string_embed
Use sizeof(void*) instead of mrb_int size and extend embed string size.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/string.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/include/mruby/string.h b/include/mruby/string.h index 7e7fb13d9..9ccbae56c 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -15,14 +15,7 @@ extern "C" { extern const char mrb_digitmap[]; -/* (sizeof(mrb_int)*2+sizeof(char*))/sizeof(char)-1 */ -#if defined(MRB_INT16) -# define RSTRING_EMBED_LEN_MAX 9 -#elif defined(MRB_INT64) -# define RSTRING_EMBED_LEN_MAX 15 -#else -# define RSTRING_EMBED_LEN_MAX 11 -#endif +#define RSTRING_EMBED_LEN_MAX (sizeof(void*) * 3 - 1) struct RString { MRB_OBJECT_HEADER; @@ -58,7 +51,7 @@ struct RString { #define MRB_STR_SHARED 1 #define MRB_STR_NOFREE 2 #define MRB_STR_EMBED 4 -#define MRB_STR_EMBED_LEN_MASK 120 +#define MRB_STR_EMBED_LEN_MASK 0xf8 #define MRB_STR_EMBED_LEN_SHIFT 3 void mrb_gc_free_str(mrb_state*, struct RString*); |
