Binding-MRuby: Make stuff work with latest mruby git
This commit is contained in:
parent
ccba946973
commit
48db6fbeda
14 changed files with 28 additions and 30 deletions
|
@ -227,7 +227,7 @@ MRB_FUNCTION(fileExpandPath)
|
|||
if (defDir)
|
||||
Debug() << "FIXME: File.expand_path: default_dir not implemented";
|
||||
|
||||
char buffer[512];
|
||||
char buffer[PATH_MAX];
|
||||
char *unused = realpath(path, buffer);
|
||||
(void) unused;
|
||||
|
||||
|
@ -568,7 +568,7 @@ fileBindingInit(mrb_state *mrb)
|
|||
{
|
||||
mrb_define_method(mrb, mrb->kernel_module, "open", fileOpen, MRB_ARGS_REQ(1) | MRB_ARGS_OPT(1) | MRB_ARGS_BLOCK());
|
||||
|
||||
RClass *klass = mrb_define_class(mrb, "IO", 0);
|
||||
RClass *klass = defineClass(mrb, "IO");
|
||||
klass = mrb_define_class(mrb, "File", klass);
|
||||
|
||||
mrb_define_class_method(mrb, klass, "basename", fileBasename, MRB_ARGS_REQ(1) | MRB_ARGS_OPT(1));
|
||||
|
|
|
@ -259,21 +259,13 @@ read_string_value(MarshalContext *ctx)
|
|||
mrb_state *mrb = ctx->mrb;
|
||||
int len = read_fixnum(ctx);
|
||||
|
||||
struct RString *str =
|
||||
(struct RString*) mrb_obj_alloc
|
||||
(mrb, MRB_TT_STRING, mrb->string_class);
|
||||
mrb_value str = mrb_str_new(mrb, 0, len);
|
||||
char *ptr = RSTR_PTR(RSTRING(str));
|
||||
|
||||
str->c = mrb->string_class;
|
||||
str->len = len;
|
||||
str->aux.capa = len;
|
||||
str->ptr = (char*) mrb_malloc(mrb, len+1);
|
||||
ctx->readData(ptr, len);
|
||||
ptr[len] = '\0';
|
||||
|
||||
ctx->readData(str->ptr, len);
|
||||
str->ptr[len] = '\0';
|
||||
|
||||
mrb_value str_obj = mrb_obj_value(str);
|
||||
|
||||
return str_obj;
|
||||
return str;
|
||||
}
|
||||
|
||||
static mrb_value read_value(MarshalContext *ctx);
|
||||
|
@ -724,7 +716,7 @@ write_symbol(MarshalContext *ctx, mrb_value symbol)
|
|||
{
|
||||
mrb_state *mrb = ctx->mrb;
|
||||
mrb_sym sym = mrb_symbol(symbol);
|
||||
size_t len;
|
||||
mrb_int len;
|
||||
const char *p = mrb_sym2name_len(mrb, sym, &len);
|
||||
|
||||
write_string(ctx, p);
|
||||
|
|
|
@ -197,8 +197,8 @@ TIME_ATTR(wday)
|
|||
void
|
||||
timeBindingInit(mrb_state *mrb)
|
||||
{
|
||||
RClass *klass = mrb_define_class(mrb, "Time", 0);
|
||||
mrb_include_module(mrb, klass, mrb_class_get(mrb, "Comparable"));
|
||||
RClass *klass = defineClass(mrb, "Time");
|
||||
mrb_include_module(mrb, klass, mrb_module_get(mrb, "Comparable"));
|
||||
|
||||
mrb_define_class_method(mrb, klass, "now", timeNow, MRB_ARGS_NONE());
|
||||
mrb_define_class_method(mrb, klass, "at", timeAt, MRB_ARGS_REQ(1));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue