summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/hash.h2
-rw-r--r--mrbgems/mruby-sprintf/src/sprintf.c7
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);
}