Skip to content

@mpaland mpaland released this Mar 26, 2019 · 3 commits to master since this release

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!)
Assets 2

@mpaland mpaland released this Jan 31, 2019 · 18 commits to master since this release

  • Removed unnecessary float == comparison, code coverage is 100% now 🎉
  • Added more test cases
Assets 2

@mpaland mpaland released this Jan 26, 2019 · 21 commits to master since this release

  • 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)
Assets 2

@mpaland mpaland released this Jan 16, 2019 · 25 commits to master since this release

  • Fixed fctprintf(), it must not append/output a terminating null byte.
    Thanks to @phillipjohnston for bringing this to attention
Assets 2

@mpaland mpaland released this Dec 5, 2018 · 28 commits to master since this release

  • 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
Assets 2

@mpaland mpaland released this Nov 16, 2018 · 31 commits to master since this release

  • 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)
Assets 2

@mpaland mpaland released this Nov 2, 2018 · 37 commits to master since this release

  • 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
Assets 2

@mpaland mpaland released this Sep 24, 2018 · 46 commits to master since this release

  • Fixed hash precision for integer values
  • Added hash flag support for %b specifier
Assets 2
Sep 24, 2018
fix(printf): fix hash precision
Fixes #31

@mpaland mpaland released this Sep 14, 2018 · 50 commits to master since this release

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.

Assets 2
You can’t perform that action at this time.