diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-12 14:28:52 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-12 14:28:52 +0900 |
| commit | 63eddaa696c60f091a24f59ff81c89e1beb545ac (patch) | |
| tree | 01b96f210e8be18571abcb693398048f5b4bedc8 /src/string.c | |
| parent | 18ee842bea517cfc8162d3d6ab46797d26f3b116 (diff) | |
| parent | fcd6e4a7a444de7b6aaf2f0f38f3dbc043e8d495 (diff) | |
| download | mruby-63eddaa696c60f091a24f59ff81c89e1beb545ac.tar.gz mruby-63eddaa696c60f091a24f59ff81c89e1beb545ac.zip | |
Merge branch 'master' of github.com:mruby/mruby
Diffstat (limited to 'src/string.c')
| -rw-r--r-- | src/string.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/string.c b/src/string.c index 7ed83e590..51269644c 100644 --- a/src/string.c +++ b/src/string.c @@ -796,10 +796,11 @@ mrb_str_index(mrb_state *mrb, mrb_value str, mrb_value sub, mrb_int offset) mrb_value mrb_str_dup(mrb_state *mrb, mrb_value str) { - /* should return shared string */ struct RString *s = mrb_str_ptr(str); + struct RString *dup = str_new(mrb, 0, 0); - return mrb_str_new(mrb, STR_PTR(s), STR_LEN(s)); + str_with_class(mrb, dup, str); + return str_replace(mrb, dup, s); } static mrb_value |
