mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Simply use snprintf instead of custom fmt_fp,
Unless `MRB_DISABLE_STDIO` is set. `snprintf` is used anyway if mruby is configured to use `stdio`. This change reduces 8KB of program size on the Linux box.
This commit is contained in:
+15
-1
@@ -1,3 +1,5 @@
|
||||
#ifndef MRB_WITHOUT_FLOAT
|
||||
#ifdef MRB_DISABLE_STDIO
|
||||
/*
|
||||
|
||||
Most code in this file originates from musl (src/stdio/vfprintf.c)
|
||||
@@ -36,7 +38,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#include <mruby.h>
|
||||
#include <mruby/string.h>
|
||||
|
||||
#ifndef MRB_WITHOUT_FLOAT
|
||||
struct fmt_args {
|
||||
mrb_state *mrb;
|
||||
mrb_value str;
|
||||
@@ -371,4 +372,17 @@ mrb_float_to_str(mrb_state *mrb, mrb_value flo, const char *fmt)
|
||||
}
|
||||
return f.str;
|
||||
}
|
||||
#else /* MRB_DISABLE_STDIO */
|
||||
#include <mruby.h>
|
||||
#include <stdio.h>
|
||||
|
||||
mrb_value
|
||||
mrb_float_to_str(mrb_state *mrb, mrb_value flo, const char *fmt)
|
||||
{
|
||||
char buf[24];
|
||||
|
||||
snprintf(buf, sizeof(buf), fmt, mrb_float(flo));
|
||||
return mrb_str_new_cstr(mrb, buf);
|
||||
}
|
||||
#endif /* MRB_DISABLE_STDIO */
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user