diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gc.c | 4 | ||||
| -rw-r--r-- | src/numeric.c | 2 | ||||
| -rw-r--r-- | src/proc.c | 2 | ||||
| -rw-r--r-- | src/symbol.c | 2 |
4 files changed, 5 insertions, 5 deletions
@@ -532,9 +532,9 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj) struct REnv *e = (struct REnv*)obj; if (!MRB_ENV_STACK_SHARED_P(e)) { - int i, len; + mrb_int i, len; - len = (int)MRB_ENV_STACK_LEN(e); + len = MRB_ENV_STACK_LEN(e); for (i=0; i<len; i++) { mrb_gc_mark_value(mrb, e->stack[i]); } diff --git a/src/numeric.c b/src/numeric.c index da15c92cc..71dadf35f 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -699,7 +699,7 @@ mrb_fixnum_mul(mrb_state *mrb, mrb_value x, mrb_value y) if ((a != 0 && c/a != b) || !FIXABLE(c)) { return mrb_float_value(mrb, (mrb_float)a*(mrb_float)b); } - return mrb_fixnum_value(c); + return mrb_fixnum_value((mrb_int)c); } return mrb_float_value(mrb, (mrb_float)a * mrb_to_flo(mrb, y)); } diff --git a/src/proc.c b/src/proc.c index ebdafccf8..e1d1d138d 100644 --- a/src/proc.c +++ b/src/proc.c @@ -40,7 +40,7 @@ env_new(mrb_state *mrb, int nlocals) struct REnv *e; e = (struct REnv*)mrb_obj_alloc(mrb, MRB_TT_ENV, (struct RClass*)mrb->c->ci->proc->env); - MRB_ENV_STACK_LEN(e) = (unsigned int)nlocals; + MRB_SET_ENV_STACK_LEN(e, nlocals); e->mid = mrb->c->ci->mid; e->cioff = mrb->c->ci - mrb->c->cibase; e->stack = mrb->c->stack; diff --git a/src/symbol.c b/src/symbol.c index 0bcb26adf..390d69c31 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -68,7 +68,7 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit) sym = ++mrb->symidx; if (mrb->symcapa < sym) { if (mrb->symcapa == 0) mrb->symcapa = 100; - else mrb->symcapa *= 1.2; + else mrb->symcapa = (size_t)(mrb->symcapa * 1.2); mrb->symtbl = (symbol_name*)mrb_realloc(mrb, mrb->symtbl, sizeof(symbol_name)*(mrb->symcapa+1)); } sname = &mrb->symtbl[sym]; |
