mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
32 lines
671 B
C
32 lines
671 B
C
#include "mruby.h"
|
|
#include "mruby/string.h"
|
|
|
|
static mrb_value
|
|
mrb_str_getbyte(mrb_state *mrb, mrb_value str)
|
|
{
|
|
mrb_int pos;
|
|
mrb_get_args(mrb, "i", &pos);
|
|
|
|
if (pos < 0)
|
|
pos += RSTRING_LEN(str);
|
|
if (pos < 0 || RSTRING_LEN(str) <= pos)
|
|
return mrb_nil_value();
|
|
|
|
return mrb_fixnum_value((unsigned char)RSTRING_PTR(str)[pos]);
|
|
}
|
|
|
|
|
|
void
|
|
mrb_mruby_string_ext_gem_init(mrb_state* mrb)
|
|
{
|
|
struct RClass * s = mrb->string_class;
|
|
|
|
mrb_define_method(mrb, s, "dump", mrb_str_dump, ARGS_NONE());
|
|
mrb_define_method(mrb, s, "getbyte", mrb_str_getbyte, ARGS_REQ(1));
|
|
}
|
|
|
|
void
|
|
mrb_mruby_string_ext_gem_final(mrb_state* mrb)
|
|
{
|
|
}
|