aboutsummaryrefslogtreecommitdiff
path: root/coreutils/printf.c
AgeCommit message (Collapse)Author
2017-07-21config: deindent all help textsDenys Vlasenko
Those two spaces after tab have no effect, and always a nuisance when editing. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18Update menuconfig items with approximate applet sizesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18printf: fix format string sanity checkRon Yorston
One of the tests for printf checks for an invalid bare '%' in the format string: $ busybox printf '%' a b c printf: %: invalid format On x86_64 a slightly different test doesn't work correctly: $ busybox printf '%' d e f printf: invalid number 'd' printf: invalid number 'e' printf: invalid number 'f' On other platforms the test fails randomly depending on how the arguments are laid out in memory. There are two places in the code where strchr is used to determine if a character in the format string is valid. However, strchr also returns a valid pointer if the character being searched for is the null terminator thus causing the code to incorrectly suppose that a valid character has been found. Add explicit checks for the null terminator. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-10shells: make hush test optional, rename ASH_BUILTIN_foo -> ASH_fooDenys Vlasenko
This makes hash and ash more symmetrical wrt config menu and config options. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-23Convert all coreutils/* applets to "new style" applet definitionsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-01-31printf: short-circuit output when argument to %b includes \cRon Yorston
printf wasn't correctly handling \c in an argument to the %b format specifier. printf %bXX OK\\c returned 'OK\cXX' rather than the expected 'OK'. function old new delta printf_main 886 899 +13 Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-07printf: fix this case: printf "%b" '\0057usr\0057bin\n'Denys Vlasenko
It was not accepting \0NNN. Standard printf tool does. function old new delta printf_main 869 886 +17 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-07printf: trim help textDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-31move help text from include/usage.src.h to coreutils/*.cPere Orga
Signed-off-by: Pere Orga <gotrunks@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-23libbb: introduce and use strcpy_and_process_escape_sequencesDenys Vlasenko
function old new delta strcpy_and_process_escape_sequences - 50 +50 bb_process_escape_sequence 148 138 -10 printf_main 789 776 -13 getty_main 1897 1831 -66 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/3 up/down: 50/-89) Total: -39 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29nandwrite: complain on malformed -s NUMDenys Vlasenko
Elsewhere: use common error message. -30 bytes net size change Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-27printf: (allegedly) fix testsuite failureDenys Vlasenko
Signed-off-by: Colin Watson <cjwatson@ubuntu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-18printf: fix exit code on conversion errorDenys Vlasenko
Signed-off-by: Colin Watson <cjwatson@ubuntu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05printf: accept negative numbers for %x; sh: overflowed numbers are 0Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-03-03printf: fix 1.12.0 breakage (from %*d fix). It was misinterpreting "*"Denis Vlasenko
2009-01-04printf: make integer format strings print long long-sized values.Denis Vlasenko
function old new delta printf_main 668 834 +166 bb_strtoll - 84 +84 print_direc 391 431 +40 conv_strtoull - 19 +19 conv_strtoll - 19 +19 conv_strtoul 16 - -16 conv_strtol 16 - -16 ------------------------------------------------------------------------------ (add/remove: 4/2 grow/shrink: 2/0 up/down: 342/-32) Total: 296 bytes
2008-12-10ash: printf builtin with no arguments should not exitDenis Vlasenko
2008-07-25ash: dont allow e.g. exec <&10 to attach to stript's fd!Denis Vlasenko
function old new delta is_hidden_fd - 61 +61 redirect 1135 1164 +29 popstring 134 140 +6 printf_main 635 637 +2 evalvar 1374 1376 +2 echo_main 294 296 +2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/0 up/down: 102/0) Total: 102 bytes
2008-07-22fix all cases of strcpy on overlapping strings.Denis Vlasenko
2008-07-18printf: do not print garbage on "%Ld". closes bug 4214.Denis Vlasenko
function old new delta printf_main 633 637 +4 multiconvert 99 79 -20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 4/-20) Total: -16 bytes
2008-07-18printf: fix %b, fix several bugs in %*.*, fix compat issues withDenis Vlasenko
aborting too early, support %zd; expand testsuite function old new delta get_width_prec - 46 +46 multiconvert 82 99 +17 conv_strtod 44 54 +10 print_direc 382 391 +9 printf_main 629 633 +4 conv_strtoul 20 16 -4 conv_strtol 20 16 -4 my_xstrtoul 20 - -20 my_xstrtol 20 - -20 my_xstrtod 21 - -21 ------------------------------------------------------------------------------ (add/remove: 1/3 grow/shrink: 4/2 up/down: 86/-69) Total: 17 bytes
2008-07-17printf: protect against bogus format specifiers. Hopefully closes bug 4184Denis Vlasenko
2008-07-05*: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko
2008-06-01ash: optional printf builtin. +25 bytes if off, +35 if on.Denis Vlasenko
by Cristian Ionescu-Idbohrn.
2008-05-31printf: fix a trivial bugDenis Vlasenko
2008-05-31printf: code shrink by eliminating string alloc/copyDenis Vlasenko
function old new delta print_direc 428 382 -46
2008-05-19- use EXIT_{SUCCESS,FAILURE}. No object-code changesBernhard Reutner-Fischer
2008-05-18printf: fix printf -%s- foo, printf -- -%s- foo (bug 3354)Denis Vlasenko
function old new delta printf_main 577 548 -29
2007-10-11add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-09-27introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).Denis Vlasenko
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-03-09printf: allow hex/oct numbers; move functions aroundDenis Vlasenko
so that we have no forward declarations
2007-02-03suppress warnings about easch <applet>_main() havingDenis Vlasenko
no preceding prototype
2007-01-29preparatory patch for -Wwrite-strings #1Denis Vlasenko
2006-11-27safe_strtoXX interface proved to be a bit unconvenient.Denis Vlasenko
Remove it, introduce saner bb_strtoXX. Saved ~350 bytes.
2006-10-08attempt to regularize atoi mess.Denis Vlasenko
2006-09-23remove unneeded #includes, fix indentationDenis Vlasenko
2006-04-03- make append_option and multiconvert static.Bernhard Reutner-Fischer
2006-02-28more busybox's style: close bug 745"Vladimir N. Oleynik"
2006-01-25just whitespaceTim Riker
2006-01-06Bug 624 wants quoted char support for printf, so you can do something like:Rob Landley
printf '%d\n' '"x"' and have it print out 120. This is the smallest implementation I can think of at the moment.
2004-09-15Patch by Felipe Kellermann, use the common escape handling function and ↵Glenn L McGrath
remove some unused code.
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-03-06Fix/eliminate use of atolEric Andersen
2003-08-08Fix a stupid bug I introduced several months agoEric Andersen
2003-05-26cleanup a bit to remove needless verify() functionEric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2001-03-19locale correction patch from VladimirEric Andersen
2001-02-20It turns out that DODMALLOC was broken when I reorganized busybox.hEric Andersen
header file usage before the 0.49 release. To fix it, I had to move the '#include "busybox.h"' to the end of the list of #include files. -Erik