summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-string-utf8/src/string.c
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2014-12-05 13:42:58 +0900
committerTomoyuki Sahara <[email protected]>2014-12-05 13:42:58 +0900
commit5f68be7190d17c553981359d5056db6fbfea11c8 (patch)
tree0cb78eb7154752d146678296b76bfb2699c32da9 /mrbgems/mruby-string-utf8/src/string.c
parentea828944eff14b0cc3be88c432499602bd454c75 (diff)
downloadmruby-5f68be7190d17c553981359d5056db6fbfea11c8.tar.gz
mruby-5f68be7190d17c553981359d5056db6fbfea11c8.zip
String#[] accepts float.
Diffstat (limited to 'mrbgems/mruby-string-utf8/src/string.c')
-rw-r--r--mrbgems/mruby-string-utf8/src/string.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-string-utf8/src/string.c b/mrbgems/mruby-string-utf8/src/string.c
index b232df1c5..ef9457195 100644
--- a/mrbgems/mruby-string-utf8/src/string.c
+++ b/mrbgems/mruby-string-utf8/src/string.c
@@ -3,6 +3,7 @@
#include "mruby/class.h"
#include "mruby/string.h"
#include "mruby/range.h"
+#include "mruby/numeric.h"
#include "mruby/re.h"
#include <ctype.h>
#include <string.h>
@@ -257,6 +258,8 @@ mrb_str_aref(mrb_state *mrb, mrb_value str, mrb_value indx)
mrb_regexp_check(mrb, indx);
switch (mrb_type(indx)) {
+ case MRB_TT_FLOAT:
+ indx = mrb_flo_to_fixnum(mrb, indx);
case MRB_TT_FIXNUM:
idx = mrb_fixnum(indx);