From d090f3eedb89e64b57765c86eb5bc916abf8b054 Mon Sep 17 00:00:00 2001 From: Akira Yumiyama Date: Thu, 8 Nov 2012 15:10:18 +0900 Subject: adjust string length after String#chomp! --- src/string.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/string.c b/src/string.c index 760b02883..2ac4359c8 100644 --- a/src/string.c +++ b/src/string.c @@ -939,6 +939,7 @@ mrb_str_chomp_bang(mrb_state *mrb, mrb_value str) else { return mrb_nil_value(); } + s->ptr[s->len] = '\0'; return str; } @@ -970,7 +971,7 @@ mrb_str_chomp_bang(mrb_state *mrb, mrb_value str) (rslen <= 1 || memcmp(RSTRING_PTR(rs), pp, rslen) == 0)) { s->len = len - rslen; - p[len] = '\0'; + p[s->len] = '\0'; return str; } return mrb_nil_value(); -- cgit v1.2.3 From 4bbf7a3e12af8a8c4d7a34c19b3147bd0ade4eed Mon Sep 17 00:00:00 2001 From: Xuejie Xiao Date: Thu, 8 Nov 2012 11:32:45 -0500 Subject: Fix build on c++ compiler --- src/gc.c | 2 +- src/state.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gc.c b/src/gc.c index 374072ce5..3ee5da1f8 100644 --- a/src/gc.c +++ b/src/gc.c @@ -325,7 +325,7 @@ struct RBasic* mrb_obj_alloc(mrb_state *mrb, enum mrb_vtype ttype, struct RClass *cls) { struct RBasic *p; - static const RVALUE RVALUE_zero = { { { 0 } } }; + static const RVALUE RVALUE_zero = { { { MRB_TT_FALSE } } }; #ifdef MRB_GC_STRESS mrb_garbage_collect(mrb); diff --git a/src/state.c b/src/state.c index 8bd222fb5..db31d7037 100644 --- a/src/state.c +++ b/src/state.c @@ -53,7 +53,7 @@ mrb_alloca(mrb_state *mrb, size_t size) { struct alloca_header *p; - p = mrb_malloc(mrb, sizeof(struct alloca_header)+size); + p = (struct alloca_header*) mrb_malloc(mrb, sizeof(struct alloca_header)+size); p->next = mrb->mems; mrb->mems = p; return (void*)p->buf; -- cgit v1.2.3 From 0ab7ff81d62e562f02e7b35838886776c81fc293 Mon Sep 17 00:00:00 2001 From: Yukihiro Matz Matsumoto Date: Fri, 9 Nov 2012 05:51:18 +0900 Subject: should initialize irep->flags --- src/codegen.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/codegen.c b/src/codegen.c index 82e80ee41..f37a9e331 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -2097,6 +2097,7 @@ scope_finish(codegen_scope *s, int idx) mrb_add_irep(mrb, idx); irep = mrb->irep[idx] = (mrb_irep *)mrb_malloc(mrb, sizeof(mrb_irep)); + irep->flags = 0; irep->idx = idx; if (s->iseq) { irep->iseq = (mrb_code *)codegen_realloc(s, s->iseq, sizeof(mrb_code)*s->pc); -- cgit v1.2.3