diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-24 03:47:10 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-24 03:47:10 +0000 |
commit | ca87ac691b08a986f1f5df37aa925ce8164c6a22 (patch) | |
tree | c55eb1ced14a27fa5193c9ddd6fd817eb52ee27f /include | |
parent | 7fac69128c784984232828795766e69ff7289732 (diff) |
intern.h: rb_strlen_lit
* include/ruby/intern.h (rb_strlen_lit): new macro to get the
length of a string literal, borrowed from mruby/mruby@e4afd53.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/intern.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 9e26c8b4f3..56865f3109 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -877,10 +877,15 @@ VALUE rb_sym_all_symbols(void); #define rb_str_buf_cat rb_str_cat #define rb_str_buf_cat2 rb_str_cat_cstr #define rb_str_cat2 rb_str_cat_cstr -#define rb_str_new_literal(str) rb_str_new_static((str), sizeof(str)-1) -#define rb_usascii_str_new_literal(str) rb_usascii_str_new_static((str), sizeof(str)-1) -#define rb_utf8_str_new_literal(str) rb_utf8_str_new_static((str), sizeof(str)-1) -#define rb_enc_str_new_literal(str, enc) rb_enc_str_new_static((str), sizeof(str)-1, (enc)) +#define rb_strlen_lit(str) (sizeof(str "") - 1) +#define rb_str_new_lit(str) rb_str_new_static((str), rb_strlen_lit(str)) +#define rb_usascii_str_new_lit(str) rb_usascii_str_new_static((str), rb_strlen_lit(str)) +#define rb_utf8_str_new_lit(str) rb_utf8_str_new_static((str), rb_strlen_lit(str)) +#define rb_enc_str_new_lit(str, enc) rb_enc_str_new_static((str), rb_strlen_lit(str), (enc)) +#define rb_str_new_literal(str) rb_str_new_lit(str) +#define rb_usascii_str_new_literal(str) rb_usascii_str_new_lit(str) +#define rb_utf8_str_new_literal(str) rb_utf8_str_new_lit(str) +#define rb_enc_str_new_literal(str, enc) rb_enc_str_new_lit(str, enc) /* struct.c */ VALUE rb_struct_new(VALUE, ...); |