Skip to content

Releases: mpaland/printf

4.0.0

26 Mar 15:39
Compare
Choose a tag to compare

Finally exponential support arrived in version 4.0.0! 🥂

  • Scientific (exponential) notation support for types %e and %g. Major thanks to @mjasperse for his cool contribution!
    If exponential support is not needed, define PRINTF_DISABLE_SUPPORT_EXPONENTIAL and v4 behaves like v3
  • Added support for the vprintf() function
  • Updated catch2 to v2.7.0
  • Added more test cases (over 400 now!)

3.1.4

31 Jan 18:35
Compare
Choose a tag to compare
  • Removed unnecessary float == comparison, code coverage is 100% now 🎉
  • Added more test cases

3.1.3

26 Jan 15:42
Compare
Choose a tag to compare
  • Fixed const-cast warning by using cast to uintptr_t type
    Thanks to @phillipjohnston for pointing this out and creating a small PR.
  • Fixed digit handling for negative float numbers
    Thanks a lot to @vgrudenic for research and creating a fix and new test cases.
  • Fixed support for floating NaN
  • Fixed warning of comparing floating point with ==
    Thanks to @HarjitSi for bringing this to attention and again to @vgrudenic (see #37)

3.1.2

16 Jan 09:53
Compare
Choose a tag to compare
  • Fixed fctprintf(), it must not append/output a terminating null byte.
    Thanks to @phillipjohnston for bringing this to attention

3.1.1

05 Dec 17:31
Compare
Choose a tag to compare
  • Replaced the internal strlen() function by its secure version strnlen_s(). So a non-terminated string would not cause a format like "%.4s" to hang now.
    Thanks a lot to @cz7asm for bringing this to attention and creating a PR.
  • Added more test cases

3.1.0

16 Nov 16:39
Compare
Choose a tag to compare
  • Removed the new PRINTF_OVERRIDE_LIBC option. This is kind of enabled by default now. All conflicting function names (printf(), sprintf() etc.) are defined with a trailing underscore now and remapped by a macro. This avoids any problems, if some headers contain matching declarations.
  • Small performance update, check flags outside the loops (a modern compiler should have taken care of this anyway)

3.0.0

02 Nov 13:15
Compare
Choose a tag to compare
  • Added the possibility to include an optional config file
  • Added the PRINTF_OVERRIDE_LIBC option to avoid possible LIBC conflicts
  • Updated the catch2 framework to 2.4.2
  • Other small fixes

2.6.0

24 Sep 15:37
Compare
Choose a tag to compare
  • Fixed hash precision for integer values
  • Added hash flag support for %b specifier

2.5.2

14 Sep 13:16
Compare
Choose a tag to compare

Several important fixes:

  • Fixed broken right-padding in _ftoa()
  • Fixed negative argument precision handling
  • Fixed zero precision and zero value hash problem. This could cause a buffer out of bounds write access in case of something like printf("% .0d", 0)
  • Ignore 0-flag for integers if precision is specified

Thanks a lot to @wm4 for bringing these issues to attention.

2.5.1

21 Aug 11:28
Compare
Choose a tag to compare
  • Fixed floating point precision limit
  • Fixed trailing field width in itoa conversion (thanks to @johnruttenberg for the patch)