mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby.h: rename ASCII flag to SINGLE_BYTE
This flag means all the characters in the string can be represented by a single byte, i.e., the string does not contain any multi-byte character. Those characters are likely ASCII characters, but may be a part of broken UTF-8 sequence, so the term 'ASCII' is not sufficient.
This commit is contained in:
+12
-11
@@ -79,18 +79,19 @@ struct RStringEmbed {
|
||||
#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))
|
||||
# define RSTR_SINGLE_BYTE_P(s) ((s)->flags & MRB_STR_SINGLE_BYTE)
|
||||
# define RSTR_SET_SINGLE_BYTE_FLAG(s) ((s)->flags |= MRB_STR_SINGLE_BYTE)
|
||||
# define RSTR_UNSET_SINGLE_BYTE_FLAG(s) ((s)->flags &= ~MRB_STR_SINGLE_BYTE)
|
||||
# define RSTR_WRITE_SINGLE_BYTE_FLAG(s, v) (RSTR_UNSET_SINGLE_BYTE_FLAG(s), (s)->flags |= v)
|
||||
# define RSTR_COPY_SINGLE_BYTE_FLAG(dst, src) RSTR_WRITE_SINGLE_BYTE_FLAG(dst, RSTR_SINGLE_BYTE_P(src))
|
||||
#else
|
||||
# define RSTR_ASCII_P(s) (void)1
|
||||
# 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
|
||||
# define RSTR_SINGLE_BYTE_P(s) (void)1
|
||||
# define RSTR_SET_SINGLE_BYTE_FLAG(s) (void)0
|
||||
# define RSTR_UNSET_SINGLE_BYTE_FLAG(s) (void)0
|
||||
# define RSTR_WRITE_SINGLE_BYTE_FLAG(s, v) (void)0
|
||||
# define RSTR_COPY_SINGLE_BYTE_FLAG(dst, src) (void)0
|
||||
#endif
|
||||
#define RSTR_SET_ASCII_FLAG(s) RSTR_SET_SINGLE_BYTE_FLAG(s)
|
||||
|
||||
/**
|
||||
* Returns a pointer from a Ruby string
|
||||
@@ -108,7 +109,7 @@ struct RStringEmbed {
|
||||
#define MRB_STR_FSHARED 2
|
||||
#define MRB_STR_NOFREE 4
|
||||
#define MRB_STR_EMBED 8 /* type flags up to here */
|
||||
#define MRB_STR_ASCII 16
|
||||
#define MRB_STR_SINGLE_BYTE 16
|
||||
#define MRB_STR_EMBED_LEN_SHIFT 6
|
||||
#define MRB_STR_EMBED_LEN_BIT 5
|
||||
#define MRB_STR_EMBED_LEN_MASK (((1 << MRB_STR_EMBED_LEN_BIT) - 1) << MRB_STR_EMBED_LEN_SHIFT)
|
||||
|
||||
Reference in New Issue
Block a user