diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-12-19 14:36:14 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-12-19 14:36:14 -0800 |
| commit | 6751715480858d587b860fcac7cbe0b87bd0bd5c (patch) | |
| tree | f1929a2be8ce7b797a377a5c799b2c6d6e13133f | |
| parent | c02c264be2b1bc685f3c958f863d2a1c599f9ec8 (diff) | |
| parent | 72ae2150c74359210e3e842f861d1dd66be464b6 (diff) | |
| download | mruby-6751715480858d587b860fcac7cbe0b87bd0bd5c.tar.gz mruby-6751715480858d587b860fcac7cbe0b87bd0bd5c.zip | |
Merge pull request #649 from masamitsu-murase/fix_string_bytes
Modify String#bytes.
| -rw-r--r-- | src/string.c | 2 | ||||
| -rw-r--r-- | test/t/string.rb | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/string.c b/src/string.c index ac79f7c58..dee383fab 100644 --- a/src/string.c +++ b/src/string.c @@ -2997,7 +2997,7 @@ mrb_str_bytes(mrb_state *mrb, mrb_value str) { struct RString *s = mrb_str_ptr(str); mrb_value a = mrb_ary_new_capa(mrb, s->len); - char *p = s->ptr, *pend = p + s->len; + unsigned char *p = (unsigned char *)(s->ptr), *pend = p + s->len; while (p < pend) { mrb_ary_push(mrb, a, mrb_fixnum_value(p[0])); diff --git a/test/t/string.rb b/test/t/string.rb index 1e921c668..05a610e00 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -369,7 +369,10 @@ assert('String#bytes') do str1 = "hello" bytes1 = [104, 101, 108, 108, 111] - str1.bytes == bytes1 + str2 = "\xFF" + bytes2 = [0xFF] + + str1.bytes == bytes1 and str2.bytes == bytes2 end assert('String#each_byte') do |
