diff options
| -rw-r--r-- | include/mruby/hash.h | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-sprintf/src/sprintf.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/include/mruby/hash.h b/include/mruby/hash.h index 48a858e0e..e75a769fd 100644 --- a/include/mruby/hash.h +++ b/include/mruby/hash.h @@ -95,7 +95,7 @@ MRB_API mrb_value mrb_hash_fetch(mrb_state *mrb, mrb_value hash, mrb_value key, * @param mrb The mruby state reference. * @param hash The target hash. * @param key The key to delete. - * @return The deleted value. + * @return The deleted value. This value is not protected from GC. Use `mrb_gc_protect()` if necessary. */ MRB_API mrb_value mrb_hash_delete_key(mrb_state *mrb, mrb_value hash, mrb_value key); diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index efbfb13e2..6e4d8fd7e 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -1004,10 +1004,8 @@ retry: case 'A': { mrb_value val = GETARG(); double fval; - mrb_int i; mrb_int need = 6; char fbuf[32]; - int frexp_result; fval = mrb_float(mrb_Float(mrb, val)); if (!isfinite(fval)) { @@ -1051,9 +1049,8 @@ retry: fmt_setup(fbuf, sizeof(fbuf), *p, flags, width, prec); need = 0; if (*p != 'e' && *p != 'E') { - i = INT_MIN; - frexp(fval, &frexp_result); - i = (mrb_int)frexp_result; + int i; + frexp(fval, &i); if (i > 0) need = BIT_DIGITS(i); } |
