Marco Paland
d46b3d2b25
chore(printf): cleanup secure strlen() function, added test cases
6 years ago
cz7asm
4b60eb6973
fixing last fix
...
missing function argument
6 years ago
cz7asm
b04d55907f
added length limit for _strlen
...
I wanted the limit specifier for strings (e.g. "%16.s") to be usable in situations when zero termination isn't guaranteed. As a simple fix I added lenght limitation to _strlen.
6 years ago
Marco Paland
0d641bcd9c
Merge remote-tracking branch 'origin/master'
7 years ago
Marco Paland
893c5056ff
change(printf): removed PRINTF_OVERRIDE_LIBC option
...
Removed the PRINTF_OVERRIDE_LIBC option. Basically this it not necessary and the ptintf() macro define can be used all the time.
7 years ago
Marco Paland
cdba96d82c
perf(printf): check flags outside while loop
7 years ago
Marco Paland
54dfd18543
feat(printf): added PRINTF_OVERRIDE_LIBC support
...
Fixes #16
7 years ago
Marco Paland
cc8f3bc050
refactor(printf): move "printf_config.h" include to header
...
Necessary because PRINTF_OVERRIDE_LIBC is needed in header
Closes #4
7 years ago
Fabian Zahn
e99ebc4c22
Added the possibility to inject a config file.
7 years ago
Marco Paland
c669417cd0
chore(printf): remove unused flag
...
Credit goes to @phillipjohnston
7 years ago
Marco Paland
50c954121c
chore(printf): small improvments
7 years ago
Marco Paland
00f2525d1a
feat(printf): add # flag support for %b specifier
...
Closes #29
7 years ago
Marco Paland
25958b9beb
fix(printf): fix hash precision
...
Fixes #31
7 years ago
Marco Paland
21a282a2a4
fix(printf): ignore 0 flag for integers if precision is specified
...
Fixes #27
7 years ago
Marco Paland
7075d314a0
fix(printf): zero precision and zero value hash problem
...
Fixes #26
7 years ago
Marco Paland
6dae1687b5
fix(printf): fix negative argument precision
...
Fixes #25
7 years ago
Marco Paland
f8a2be378d
fix(printf): fix broken right-padding in _ftoa
...
Fixes #24
7 years ago
Marco Paland
be30479110
fix(printf): fix trailing field width in itoa conversion
...
Fixes #21
7 years ago
Marco Paland
e6b5331a36
fix(printf): fix floating point precision limit
...
Return the correct count of precision digits now. Fixes #22
7 years ago
Marco Paland
deb685e7a9
fix(printf): change char* to void* pointer to avoid cast-align trouble
...
Closes #17 again
7 years ago
Marco Paland
810cb2b290
fix(printf): suppress terminating \0 in printf() output
...
Closes #19
7 years ago
Marco Paland
175e466d92
fix(printf): fix 'expression is constant' warning
7 years ago
Marco Paland
23d0687aab
fix(printf): fix argument name in output function wrapper
7 years ago
Marco Paland
a50f1a8369
test(test_suite): modified fctprintf() test case
...
Renamed 'user' to 'arg'
7 years ago
Sebastian Goll
d40951182f
feat(printf): add user pointer to fctprintf()
...
Arbitrary user data can be passed to output function
7 years ago
Marco Paland
0116b74916
refactor(printf): changed oprintf() to fctprintf()
...
fctprintf() is more descriptive for its operation
7 years ago
Marco Paland
9351e5b1ac
refactor(printf): use output function wrapping struct
7 years ago
Marco Paland
24c460b977
feat(printf): added new oprintf() function
...
Write formatted output directly to given output function
7 years ago
Marco Paland
d12e52be4c
fix(printf): pass dummy buffer for printf to _vsnprintf instead of NULL
...
Fixes #15
7 years ago
Marco Paland
ee383ad5c7
fix(printf): use C conform `NULL` instead of C++ `nullptr`
...
Fixes #14
7 years ago
Marco Paland
277aa259fc
fix(printf,test_suite): fix compiler warnings
7 years ago
Marco Paland
bb5a8af507
feat(printf): added support for %h, %hh, %j and %t length modifiers
...
- Renamed compiler switches
- Minor cleanup
Closes #12
7 years ago
Marco Paland
824a9b35f9
fix(printf): use null output function for nullptr buffer
...
Improving #11
7 years ago
Marco Paland
33f10559d6
refactor(printf): usage of (buffer) output routine, fixes return value
...
Buffer for printf is no longer needed, chars are directly written now.
Return value is specification conform now.
Fixes #11
7 years ago
Marco Paland
814bbf6f47
fix(printf): move <stddef.h> to header
...
Fixes #13
7 years ago
Marco Paland
85dc7cf074
fix(printf): fixed floating point sign handling
7 years ago
Marco Paland
8db261eed6
chore(printf): update comments
7 years ago
Marco Paland
cd4481a6f2
feat(printf): add vsnprintf function
...
fixes #5
7 years ago
Marco Paland
8c3713c4b6
refactor(printf): improved _strlen() function
7 years ago
Marco Paland
d74ad73009
fix(printf): fix snprintf buffer termination
...
Fixes #7 (partly)
7 years ago
Marco Paland
dd8432003c
fix(printf): fixed conversion buffer handling
...
Added according test cases
7 years ago
Marco Paland
b618f2c550
cleanup(printf): don't use fixed size for long type
7 years ago
Arvid Gerstmann
422b420b4d
add support for size_t flag: %zd
7 years ago
Marco Paland
c355eaa2b0
Fixed 64 bit pointer casting
8 years ago
Marco Paland
cb7d11a542
Code cleanup
8 years ago
Marco Paland
9902170763
Return %p values in upper case, fixed %p 64 bit support
8 years ago
Marco Paland
2b3f3c1306
Removed ftoa NaN check
...
NaN check may not work with optimizing compilers. Use your implementation specific NaN check if necessary
8 years ago
Marco Paland
c6c8d96420
Updated comments
8 years ago
Marco Paland
80dd57309a
Code cleanup
8 years ago
Marco Paland
7936fc34c4
Changed printf.cpp to printf.c to be usable with 'C'-compilers
...
closes #1
8 years ago