Denys Vlasenko
4eed2c6c50
Update menuconfig items with approximate applet sizes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 22:01:24 +02:00
Ron Yorston
513a2457b6
printf: fix format string sanity check
...
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-07-18 16:00:38 +02:00
Denys Vlasenko
265062d59d
shells: make hush test optional, rename ASH_BUILTIN_foo -> ASH_foo
...
This makes hash and ash more symmetrical wrt config menu and config
options.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-10 15:13:30 +01:00
Denys Vlasenko
af3f420116
Convert all coreutils/* applets to "new style" applet definitions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-23 14:46:56 +01:00
Ron Yorston
4a79224cfc
printf: short-circuit output when argument to %b includes \c
...
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>
2016-01-31 22:23:05 +01:00
Denys Vlasenko
69d81a1c1b
printf: fix this case: printf "%b" '\0057usr\0057bin\n'
...
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-07 11:57:47 +01:00
Denys Vlasenko
d4acaf70c5
printf: trim help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-07 11:44:15 +01:00
Pere Orga
34425389e0
move help text from include/usage.src.h to coreutils/*.c
...
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-31 14:43:25 +02:00
Denys Vlasenko
5360059131
libbb: introduce and use strcpy_and_process_escape_sequences
...
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-10-23 21:06:06 +02:00
Denys Vlasenko
b32a543663
nandwrite: complain on malformed -s NUM
...
Elsewhere: use common error message. -30 bytes net size change
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 13:29:02 +02:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
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>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
7e6034309e
printf: (allegedly) fix testsuite failure
...
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-27 00:07:23 +02:00
Denys Vlasenko
bf4aeed129
printf: fix exit code on conversion error
...
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-18 22:22:04 +02:00
Denys Vlasenko
71016baf55
printf: accept negative numbers for %x; sh: overflowed numbers are 0
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05 16:24:29 +02:00
Denis Vlasenko
6852effbc2
printf: fix 1.12.0 breakage (from %*d fix). It was misinterpreting "*"
2009-03-03 14:14:44 +00:00
Denis Vlasenko
cb39a7ca6d
printf: make integer format strings print long long-sized values.
...
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
2009-01-04 02:58:58 +00:00
Denis Vlasenko
311c19a661
ash: printf builtin with no arguments should not exit
2008-12-10 11:51:45 +00:00
Denis Vlasenko
6a0ad25061
ash: dont allow e.g. exec <&10 to attach to stript's fd!
...
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-25 13:34:05 +00:00
Denis Vlasenko
0f293b96dc
fix all cases of strcpy on overlapping strings.
2008-07-22 20:16:55 +00:00
Denis Vlasenko
5f116629d8
printf: do not print garbage on "%Ld". closes bug 4214.
...
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-18 18:41:55 +00:00
Denis Vlasenko
a48656b441
printf: fix %b, fix several bugs in %*.*, fix compat issues with
...
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-18 11:10:51 +00:00
Denis Vlasenko
0f683f818c
printf: protect against bogus format specifiers. Hopefully closes bug 4184
2008-07-17 09:17:51 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +00:00
Denis Vlasenko
cd2663f15e
ash: optional printf builtin. +25 bytes if off, +35 if on.
...
by Cristian Ionescu-Idbohrn.
2008-06-01 22:36:39 +00:00
Denis Vlasenko
a76669c595
printf: fix a trivial bug
2008-05-31 18:32:56 +00:00
Denis Vlasenko
1d1bba4e99
printf: code shrink by eliminating string alloc/copy
...
function old new delta
print_direc 428 382 -46
2008-05-31 11:41:50 +00:00
Bernhard Reutner-Fischer
636a1f85e8
- use EXIT_{SUCCESS,FAILURE}. No object-code changes
2008-05-19 09:29:47 +00:00
Denis Vlasenko
b6c4855f1d
printf: fix printf -%s- foo, printf -- -%s- foo (bug 3354)
...
function old new delta
printf_main 577 548 -29
2008-05-18 14:28:40 +00:00
Denis Vlasenko
9b49a5ed85
add -fvisibility=hidden to CC flags, mark XXX_main functions
...
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-11 10:05:36 +00:00
Denis Vlasenko
4daad9004d
introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).
2007-09-27 10:20:47 +00:00
Denis Vlasenko
b6adbf1be2
usage.c: remove reference to busybox.h
...
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Denis Vlasenko
339f5eb2e0
printf: allow hex/oct numbers; move functions around
...
so that we have no forward declarations
2007-03-09 16:43:01 +00:00
Denis Vlasenko
06af216528
suppress warnings about easch <applet>_main() having
...
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
a41fdf331a
preparatory patch for -Wwrite-strings #1
2007-01-29 22:51:00 +00:00
Denis Vlasenko
d686a045c8
safe_strtoXX interface proved to be a bit unconvenient.
...
Remove it, introduce saner bb_strtoXX.
Saved ~350 bytes.
2006-11-27 14:43:21 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
c290563319
remove unneeded #includes, fix indentation
2006-09-23 16:01:09 +00:00
Bernhard Reutner-Fischer
101a470068
- make append_option and multiconvert static.
2006-04-03 15:46:14 +00:00
"Vladimir N. Oleynik"
5c2b238b3a
more busybox's style: close bug 745
2006-02-28 10:15:42 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Rob Landley
251161f75c
Bug 624 wants quoted char support for printf, so you can do something like:
...
printf '%d\n' '"x"'
and have it print out 120. This is the smallest implementation I can think
of at the moment.
2006-01-06 20:28:05 +00:00
Glenn L McGrath
240a91d8a1
Patch by Felipe Kellermann, use the common escape handling function and remove some unused code.
2004-09-15 02:05:23 +00:00
Eric Andersen
c7bda1ce65
Remove trailing whitespace. Update copyright to include 2004.
2004-03-15 08:29:22 +00:00
Eric Andersen
2479445562
Fix/eliminate use of atol
2004-03-06 22:11:45 +00:00
Eric Andersen
6c0e0fb8ac
Fix a stupid bug I introduced several months ago
2003-08-08 07:39:57 +00:00
Eric Andersen
a2d1982841
cleanup a bit to remove needless verify() function
2003-05-26 18:09:14 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Eric Andersen
7ef54de672
locale correction patch from Vladimir
2001-03-19 19:25:49 +00:00
Eric Andersen
cbe31dace5
It turns out that DODMALLOC was broken when I reorganized busybox.h
...
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
2001-02-20 06:14:08 +00:00
Eric Andersen
67991cf824
This patch, put together by Manuel Novoa III, is a merge of work
...
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
2001-02-14 21:23:06 +00:00