summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-sprintf
AgeCommit message (Collapse)Author
2020-10-12Fix `mrb_int_mul_overflow()` to check either operand being zero.Yukihiro "Matz" Matsumoto
2020-10-12Embed debug information to resolve Windows VC's issue.Yukihiro "Matz" Matsumoto
2020-10-12Adjust backslash position in multi-line macros.Yukihiro "Matz" Matsumoto
2020-10-12Use `MRB_INT_MAX` instead of `INT_MAX` according to variable type.Yukihiro "Matz" Matsumoto
2020-10-12Restore old function names for compatibility; ref #5070Yukihiro "Matz" Matsumoto
- `mrb_check_intern()` to return `mrb_value` - `mrb_intern_check()` to return `mrb_sym` [NEW] Other new functions: - `mrb_intern_check_cstr()` - `mrb_intern_check_str()`
2020-10-12Use `mrb_int_value()` instead of `mrb_fixnum_value()`.Yukihiro "Matz" Matsumoto
Where fixnum overflow can happen.
2020-10-12Reorganize `Integer` system.Yukihiro "Matz" Matsumoto
- Integrate `Fixnum` and `Integer` - Remove `Integral` - `int / int -> int` - Replace `mrb_fixnum()` to `mrb_int()` - Replace `mrb_fixnum_value()` to `mrb_int_value()`. - Use `mrb_integer_p()` instead of `mrb_fixnum_p()`
2020-10-12"backport" CRuby r46756; ref #3500Yukihiro "Matz" Matsumoto
Based on cremno/mruby@6bd0119
2020-10-12"backport" CRuby r46656; #2500Yukihiro "Matz" Matsumoto
Based on cremno/mruby@d446192
2020-10-12Rename `MRB_TT_FIXNUM` to `MRB_TT_INTEGER`.Yukihiro "Matz" Matsumoto
We still have `#define MRB_TT_FIXNUM MRB_TT_INTEGER` for compatibility.
2020-10-12change linkage to internalcremno
2020-10-12define sprintf and format as global functionscremno
2020-10-12move mrbgem initialization into sprintf.ccremno
Also remove some unnecessary code.
2020-10-12Add tests for CRuby bug #9982cremno
https://bugs.ruby-lang.org/issues/9982
2020-10-12Rename float configuration option names.Yukihiro "Matz" Matsumoto
- `MRB_WITHOUT_FLOAT` => `MRB_NO_FLOAT` - `MRB_USE_FLOAT` => `MRB_USE_FLOAT32` The former is to use `USE_XXX` naming convention. The latter is to make sure `float` is 32bit float and not floating point number in general.
2020-10-12Use `mrb_funcall_id()` extensively.Yukihiro "Matz" Matsumoto
Except for support files e.g. `mruby-test/driver.c`, which are not target of symbol collection via `rake gensym`.
2020-06-20Fix potential buffer overflow in `sprintf.c`.Yukihiro "Matz" Matsumoto
2020-05-27Move `fmt_setup` until absolutely necessary.Yukihiro "Matz" Matsumoto
2020-05-26Integer format can be bigger than `32` on 64bit platforms.Yukihiro "Matz" Matsumoto
We made it `64` which should be big enough: - Format modifier: 4 characters max - Maximum width: 19 digits max - Period between width and precision: 1 character - Maximum precision: 19 digits max - Format specifier: 1 character - NUL terminator: 1 byte - Total: 45 < 64
2020-05-07Remove unnecessary `sprintf` test that fails since 91368c1.Yukihiro "Matz" Matsumoto
2020-05-07Avoid `mrb_funcall` if `MRB_UFT8_STRING` is not set.Yukihiro "Matz" Matsumoto
2020-04-11Support `MRB_DISABLE_STDIO` for mruby-sprintf; ref #4954dearblue
2020-04-11Supports some specifier flags with `mrb_float_to_str()`dearblue
Changed to understand `#`, `0`, `-`, ` ` and `+`. Based on src/stdio/vfprintf.c in git://git.musl-libc.org/musl
2020-03-08Add configuration guard for `MRB_DISABLE_STDIO`dearblue
ref #4576 and ref #4947 * Need MRBAPI functions without `MRB_DISABLE_STDIO`: * mrbgems/mruby-bin-debugger * mrbgems/mruby-bin-mirb * mrbgems/mruby-bin-mrbc * mrbgems/mruby-bin-mruby * mrbgems/mruby-bin-strip * Need `stdio.h`: * mrbgems/mruby-io * mrbgems/mruby-print * Need `snprintf()` in `stdio.h`: * mrbgems/mruby-pack * mrbgems/mruby-sprintf
2020-03-08Remove unnecessary 'stdio.h'; ref #4947dearblue
'stdio.h' is included in 'mruby.h' ('mrbconf.h'). However, keep 'stdio.h' used by mruby-test.
2019-11-15Fix argument specs to `Kernel`KOBAYASHI Shuji
2019-09-29Further refactoring over #4738Yukihiro "Matz" Matsumoto
2019-09-29Remove unnecessary assignmentsdearblue
2019-09-26Use proper type specifier for `mrb_raisef()`; ref #4731Yukihiro "Matz" Matsumoto
The following two may be different: * `%d` for `int` * `%i` for `mrb_int`
2019-09-26Merge pull request #4731 from dearblue/consistent-typeYukihiro "Matz" Matsumoto
Keep the type of `posarg` consistent
2019-09-25Keep the type of `posarg` consistentdearblue
Match the type with the caller and related functions.
2019-09-25Add "fall through"dearblue
2019-08-05Use new specifiers/modifiers of `mrb_vfromat()`KOBAYASHI Shuji
The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back.
2019-01-03Remove `Kernel#class_defined?` which is not available in CRuby; #3829Yukihiro "Matz" Matsumoto
2018-11-19Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_hash` conversion method.Yukihiro "Matz" Matsumoto
2018-09-14Prevent signed integer overflow.Clayton Smith
2018-09-07Fix integer overflow issue; fix #4108Yukihiro "Matz" Matsumoto
I misunderstood the return value from `snprintf()`, which is NOT number of characters written in buffer, but the number of character the buffer has to have to write the complete output.
2018-07-31Check size of the integer multiply before actual overflow; fix #4062Yukihiro "Matz" Matsumoto
2017-10-13Support MRB_WIHTOUT_FLOAT to mruby-sprintfYAMAMOTO Masaya
2017-09-27fix: mrbgems\mruby-sprintf\src\sprintf.c(1052): warning C4244: '+=': ↵Tomasz Dąbrowski
conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27fix: mrbgems\mruby-sprintf\src\sprintf.c(623): warning C4244: 'function': ↵Tomasz Dąbrowski
conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27fix: mrbgems\mruby-sprintf\src\sprintf.c(646): warning C4244: 'function': ↵Tomasz Dąbrowski
conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27fix: mrbgems\mruby-sprintf\src\sprintf.c(618): warning C4244: ↵Tomasz Dąbrowski
'initializing': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27fix: mrbgems\mruby-sprintf\src\sprintf.c(516): warning C4244: 'function': ↵Tomasz Dąbrowski
conversion from 'mrb_int' to 'int', possible loss of data
2017-08-25fix `String#% %d` test with `MRB_INT16` setTomasz Dąbrowski
2017-08-18Separate `mrb_str_buf_new` and `mrb_str_new_capa`.Yukihiro "Matz" Matsumoto
`mrb_str_buf_new` is an old function that ensures capacity size of `MRB_STR_BUF_MIN_SIZE` minimum. Usually one need to use `mrb_str_new_capa` instead.
2017-08-12Reduce integer type mismatch warnings in VC.Yukihiro "Matz" Matsumoto
2017-08-09Replaced tabs with spacesChristopher Aue
2017-07-16added tests for #3736Christopher Aue