summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-sprintf
AgeCommit message (Collapse)Author
2018-09-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
2017-07-14Avoid duplicated width filling for sprintf `%d` specifier; fix #3736Yukihiro "Matz" Matsumoto
2017-07-05`print("%d", 0)` should not print `-0`; fix #3731Yukihiro "Matz" Matsumoto
2017-07-05Negation was not a good way to handle negative integers; fix #3729Yukihiro "Matz" Matsumoto
There's a number that negation does not work (-2147483648 in 32bit environment).
2017-07-05In Ruby, `sprintf` specifier `%u` should behave as `%d`; fix #3730Yukihiro "Matz" Matsumoto
Since there's no unsigned integer in Ruby. Binary, octal and hexadecimal negative numbers can be represented by using 2's compliment. But decimal (not being power of 2) cannot be use that kind of format.
2017-07-04Refactor `sprintf()` code.Yukihiro "Matz" Matsumoto
2017-07-04Initialize `flags` for each loop.Yukihiro "Matz" Matsumoto
2017-06-28Avoid `mrb_funcall()` unless absolutely necessary; ref #3722Yukihiro "Matz" Matsumoto
As a result, `#chr` is not called for ch < 0x80, so we need to update the "invalid chr" test.
2017-05-25Under MRB_INT64, width may be bigger than INT_MAX; fix #3665Yukihiro "Matz" Matsumoto
2017-05-08Fix segmentation fault ref: #3648ksss
2017-04-29Better error messageNobuyoshi Nakada
Raise argument error with the better message, at the only place where the size to fill can be negative.
2017-04-29Use `FILL` and `PUSH`Nobuyoshi Nakada
Instead of loop or `memcpy` after `CHECK`, use dedicated macros, `FILL` and `PUSH`, respectively.
2017-04-23Refactor "%f" % Inf/NaNNobuyoshi Nakada
As for non-finite float, calculate the exact needed size with the space flag.
2017-04-23Fix space flag when Inf/NaN and width==3Nobuyoshi Nakada
While `"% 2f"` and `"% 4f"` result in `" Inf"` and `" Inf"` respectively, `"% 3f"` results in `"Inf"` (no space).
2017-04-03Unify `else` clause styleYukihiro "Matz" Matsumoto
2017-03-18Should use mrb_int for any objectksss
o=Object.new def o.to_int 1 end p "%*d" % [o, 1]
2017-03-13Fix out-of-bound accessNobuyoshi Nakada
Get rid of out-of-bound access when single % at the end.
2017-03-11The width printf specifier may be negative; fix #3498Yukihiro "Matz" Matsumoto
2017-03-11fixup! Check return value from snprintf(); ref #3498Yukihiro "Matz" Matsumoto
2017-03-11Check return value from snprintf(); ref #3498Yukihiro "Matz" Matsumoto
2017-02-11Avoid integer overflow in sprintf(); fix #3439Yukihiro "Matz" Matsumoto
This issue was reported by https://hackerone.com/aerodudrizzt
2017-01-16Dots is not needed for base 10 negative numbers; fix #3400Yukihiro "Matz" Matsumoto
2016-12-21One less argument for raisef(); fix #3355Yukihiro "Matz" Matsumoto
This issue was reported by https://hackerone.com/mg36
2016-12-18Check if width is zero or negative before fill; fix #3347Yukihiro "Matz" Matsumoto
Reported by https://hackerone.com/haquaman.
2016-12-18Prohibit mixture of posarg and nextarg; ref #3347Yukihiro "Matz" Matsumoto
2016-11-24Fixes for compiling mruby as C++Tomasz Dąbrowski
2016-11-23Fix segfault when Fixnum#chr doesn't return a stringBouke van der Bijl
2016-11-21Fix for sprintf test exceeding bounds with MRB_INT16Tomasz Dąbrowski
2016-07-01Fix warning shift-negative-valueksss
2016-04-23mruby-sprintf:fix double negative signs in printf; fix #3148Yukihiro "Matz" Matsumoto
MRB_INT_MAX does not have corresponding positive integer
2016-04-23mruby-sprintf: format specifiers o,u,x,b ignore sign(+); ref #3148Yukihiro "Matz" Matsumoto
2016-01-07mruby-sprintf to use mrb_int formatting macros; ref #3076Yukihiro "Matz" Matsumoto
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-19formatting buffer should be bigger for negative dots; ref #3025Yukihiro "Matz" Matsumoto
2015-11-19binary format no longer need to preserve org_vYukihiro "Matz" Matsumoto
2015-11-19integer range check was moved to mrb_flo_to_fixnum(); ref #3025Yukihiro "Matz" Matsumoto