diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-07-05 20:37:59 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-07-05 22:19:31 +0900 |
| commit | f9bf2d9d8e2531b2bfebb5a80362b43ab559b56f (patch) | |
| tree | 5cf40139bbe39d854bd0126fb605603451c35ff4 /include | |
| parent | 8294ce9fd458a0a1acf8fcdcb6161b4a020866ad (diff) | |
| download | mruby-f9bf2d9d8e2531b2bfebb5a80362b43ab559b56f.tar.gz mruby-f9bf2d9d8e2531b2bfebb5a80362b43ab559b56f.zip | |
Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is defined
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/string.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/mruby/string.h b/include/mruby/string.h index 9484e20d7..d648d856c 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -68,6 +68,20 @@ struct RString { #define RSTR_SET_NOFREE_FLAG(s) ((s)->flags |= MRB_STR_NOFREE) #define RSTR_UNSET_NOFREE_FLAG(s) ((s)->flags &= ~MRB_STR_NOFREE) +#ifdef MRB_UTF8_STRING +# define RSTR_ASCII_P(s) ((s)->flags & MRB_STR_ASCII) +# define RSTR_SET_ASCII_FLAG(s) ((s)->flags |= MRB_STR_ASCII) +# define RSTR_UNSET_ASCII_FLAG(s) ((s)->flags &= ~MRB_STR_ASCII) +# define RSTR_WRITE_ASCII_FLAG(s, v) (RSTR_UNSET_ASCII_FLAG(s), (s)->flags |= v) +# define RSTR_COPY_ASCII_FLAG(dst, src) RSTR_WRITE_ASCII_FLAG(dst, RSTR_ASCII_P(src)) +#else +# define RSTR_ASCII_P(s) (void)0 +# define RSTR_SET_ASCII_FLAG(s) (void)0 +# define RSTR_UNSET_ASCII_FLAG(s) (void)0 +# define RSTR_WRITE_ASCII_FLAG(s, v) (void)0 +# define RSTR_COPY_ASCII_FLAG(dst, src) (void)0 +#endif + #define RSTR_POOL_P(s) ((s)->flags & MRB_STR_POOL) #define RSTR_SET_POOL_FLAG(s) ((s)->flags |= MRB_STR_POOL) |
