Denis Vlasenko
4c83025ea6
diff: emit /dev/null if diff -rN diffs a file against /dev/null
...
function old new delta
diffreg 1782 1786 +4
2008-11-23 14:40:00 +00:00
Denis Vlasenko
4ae1e13d3f
vi: fix several instances of major goof: when text grows, text[]
...
might get reallocated! We were keeping around pointers to old place...
function old new delta
colon 3017 3037 +20
char_insert 336 354 +18
stupid_insert 18 24 +6
string_insert 89 94 +5
do_cmd 4461 4465 +4
file_insert 328 329 +1
text_hole_make 134 120 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/1 up/down: 54/-14) Total: 40 bytes
2008-11-19 13:25:14 +00:00
Denis Vlasenko
202ac504e1
*: code shrink by adding a wrapper around very common tcsetattr(0, TCSANOW, xx) op
...
function old new delta
tcsetattr_stdin_TCSANOW - 14 +14
set_sane_term 116 113 -3
top_main 1277 1273 -4
make_new_session 421 415 -6
rawmode 133 126 -7
reset_term 18 10 -8
die 43 35 -8
cookmode 62 54 -8
vlock_main 425 415 -10
read_line_input 3165 3155 -10
bb_askpass 357 347 -10
fsck_minix_main 3079 3065 -14
getty_main 2375 2332 -43
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/12 up/down: 14/-131) Total: -117 bytes
2008-11-05 13:20:58 +00:00
Denis Vlasenko
31d58e58d2
randomconfig fixes
2008-10-29 13:16:28 +00:00
Denis Vlasenko
c3a9dc8ac5
vi: fix uninitialized last_search_pattern (bug 5794)
2008-10-29 00:58:04 +00:00
Denis Vlasenko
5f6aaf39cf
less: reuse former vi's key reading code. Improve SIGWINCH handling.
...
function old new delta
less_main 2056 2097 +41
getch_nowait 248 273 +25
read_key 310 321 +11
static.esccmds 61 69 +8
count_lines 72 74 +2
less_gets 166 142 -24
less_getch 172 43 -129
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/5 up/down: 91/-170) Total: -79 bytes
text data bss dec hex filename
2008-10-25 23:27:29 +00:00
Denis Vlasenko
0112ff5203
vi: move key reading routine out of vi into llbbb
...
function old new delta
read_key - 310 +310
....
static.esccmds 170 61 -109
readit 286 60 -226
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 9/10 up/down: 349/-367) Total: -18 bytes
2008-10-25 23:23:00 +00:00
Denis Vlasenko
2d5bd807c0
build system cleanup: rename FEATURE_AWK_MATH to FEATURE_AWK_LIBM;
...
disable parsing test applet.
2008-10-24 10:49:49 +00:00
Denis Vlasenko
37890e2f37
awk: fix typo in atan2 code. closes bug 5594.
2008-10-21 12:59:34 +00:00
Denis Vlasenko
4c9e9c4314
vi: handle chars 0x80, 0x81... correctly
2008-10-20 08:59:03 +00:00
Denis Vlasenko
078323010b
dc: conditionalize parts which require libm
2008-10-20 08:43:10 +00:00
Denis Vlasenko
582dff0514
volume identification: abolish /proc/partitions and /proc/cdroms
...
scanning. It does not catch volume managers and such.
Adding even more cruft is bad, so I decided to simply
scan /dev/* for any block devices. See how much better
it finds devices now:
# ./busybox_old blkid
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/sdb1: UUID="6F84-ED0F"
# ./busybox blkid
/dev/sdb1: UUID="6F84-ED0F"
/dev/root: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/mapper/VolGroup00-LogVol01: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/mapper/VolGroup00-LogVol00: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
function old new delta
static.drive_name_string 12 - -12
append_mount_options 205 190 -15
volume_id_open_node 37 18 -19
uuidcache_check_device 485 257 -228
uuidcache_init 637 36 -601
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/4 up/down: 0/-875) Total: -875 bytes
text data bss dec hex filename
792218 592 6648 799458 c32e2 busybox_old
791260 592 6648 798500 c2f24 busybox_unstripped
2008-10-19 19:36:30 +00:00
Rob Landley
4bdeaaf556
Comment and whitespace tweaks.
2008-10-19 04:21:21 +00:00
Denis Vlasenko
e3742f4217
vi: explain why reading 4 chars is unsafe
2008-10-18 19:37:41 +00:00
Denis Vlasenko
1dfeeeb651
vi: whitespace fix
2008-10-18 19:04:37 +00:00
Denis Vlasenko
8ef801b40c
vi: a few trivial optimizations to keyboard reading code; bump timeout to 50s.
...
function old new delta
edit_file 901 912 +11
count_lines 74 72 -2
readit 306 289 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 11/-19) Total: -8 bytes
2008-10-16 09:46:07 +00:00
Rob Landley
7960ea8918
Confirmed that on Linux the serial interrupt takes precedence over the timer
...
interrupt, so we don't need to worry about scheduler delays. This means the
delay can be trimmed down to 25 miliseconds. Add comment while at it.
2008-10-16 06:34:10 +00:00
Denis Vlasenko
d44c1535ae
vi: fix bizarre formatting. no code changes
2008-10-14 12:59:42 +00:00
Denis Vlasenko
ded6ad34ed
fix recurring "last_cmd overrun", fix [del] handling in insert mode
2008-10-14 12:26:30 +00:00
Denis Vlasenko
267e16c74a
vi: trivial size optimization -65 bytes
2008-10-14 10:34:41 +00:00
Denis Vlasenko
25497c1d92
vi: reinstate timeout of 300 ms
2008-10-14 10:25:05 +00:00
Denis Vlasenko
5373fbcd11
vi: add comments to Rob's algorithm of reading and matching ESC sequences
...
(nice work btw!)
2008-10-14 10:09:56 +00:00
Rob Landley
5e38cd910a
Escape sequences sent over serial links don't come in as a block, so poll
...
needs to pause a bit to make sure the next character has time to come in.
2008-10-14 08:44:09 +00:00
Rob Landley
988dd5549b
Clean up editors/vi.c:readit() so it only does readahead when actually
...
parsing an escape sequence. (This mitigates but doesn't fully fix the
the "cursoring around the file deletes data under qemu" bug, presumably due
to "\033[D" being treated as three separate characters.)
2008-10-14 01:42:33 +00:00
Denis Vlasenko
30cfdf90ce
crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)
...
vi: deal with EOF/error on stdin and with input NULs
function old new delta
crontab_main 623 642 +19
edit_file 901 906 +5
readit 331 318 -13
2008-09-21 15:29:29 +00:00
Denis Vlasenko
665eaff3b1
awk: add a comment
2008-09-05 04:59:02 +00:00
Denis Vlasenko
a2e1eea189
awk: improve nadling of negative numbers in bitwise ops;
...
fix handling of octal costants. add test for it
function old new delta
getvar_i_int - 93 +93
my_strtod - 84 +84
qrealloc 33 36 +3
getvar_i 99 95 -4
next_token 979 919 -60
evaluate 6359 5627 -732
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/3 up/down: 180/-796) Total: -616 bytes
2008-09-02 09:00:23 +00:00
Denis Vlasenko
7cbcd1cbf4
awk: bitwise ops cast oprands and results to unsigned long,
...
not signed. closes 4774.
2008-08-28 23:16:58 +00:00
Denis Vlasenko
996a61475a
awk: support hex constants
2008-08-28 22:59:23 +00:00
Denis Vlasenko
0f293b96dc
fix all cases of strcpy on overlapping strings.
2008-07-22 20:16:55 +00:00
Bernhard Reutner-Fischer
3e8669f359
- wrap overlong lines (Cristian Ionescu-Idbohrn)
...
- s/\. /. /g;# (me)
2008-07-22 18:27:53 +00:00
Denis Vlasenko
5415c856ea
libbb: [x]fopen_for_{read,write} introduced and used.
...
(by Valdimir)
function old new delta
config_open2 - 41 +41
config_read 507 542 +35
find_pair 169 187 +18
fopen_for_write - 14 +14
fopen_for_read - 14 +14
find_main 406 418 +12
xfopen_for_write - 10 +10
xfopen_for_read - 10 +10
popstring 134 140 +6
parse_inittab 396 401 +5
next_token 923 928 +5
pack_gzip 1659 1661 +2
bb__parsespent 117 119 +2
fallbackSort 1719 1717 -2
evalvar 1376 1374 -2
qrealloc 36 33 -3
...
...
...
...
singlemount 4579 4569 -10
process_stdin 443 433 -10
patch_main 1111 1101 -10
ifupdown_main 2175 2165 -10
file_action_grep 90 80 -10
uuidcache_init 649 637 -12
hush_main 797 785 -12
read_config 230 217 -13
dpkg_main 3835 3820 -15
read_line_input 3134 3110 -24
sysctl_main 232 203 -29
config_open 40 10 -30
WARN_BAD_LINE 44 - -44
login_main 1714 1575 -139
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
2008-07-21 23:05:26 +00:00
Denis Vlasenko
7b54dc788c
vi: using array data after it fell out of scope is stupid.
2008-07-17 21:32:32 +00:00
Denis Vlasenko
deeed59de0
libbb: introduce and use xrealloc_vector
...
function old new delta
xrealloc_vector_helper - 51 +51
create_list 84 99 +15
getopt_main 690 695 +5
passwd_main 1049 1053 +4
get_cached 85 89 +4
msh_main 1377 1380 +3
add_match 42 41 -1
read_lines 720 718 -2
grave 1068 1066 -2
fill_match_lines 143 141 -2
add_to_dirlist 67 65 -2
add_input_file 49 47 -2
act 252 250 -2
fsck_main 2252 2246 -6
man_main 765 757 -8
bb_internal_initgroups 228 220 -8
cut_main 1052 1041 -11
add_edge_to_node 55 43 -12
dpkg_main 3851 3835 -16
ifupdown_main 2202 2178 -24
sort_main 838 812 -26
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/15 up/down: 82/-124) Total: -42 bytes
2008-07-08 05:14:36 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +00:00
Denis Vlasenko
8ae5b28b4b
awk: another smallish code shrink
2008-07-02 22:47:49 +00:00
Denis Vlasenko
e0a7fc54eb
uname,individual: fix improper printf usage
...
uname,awk: small code shrink
function old new delta
uname_main 175 166 -9
nvalloc 167 157 -10
evaluate 6381 6370 -11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-30) Total: -30 bytes
2008-07-02 11:14:59 +00:00
Denis Vlasenko
3bb2bbd684
awk: fix a case with multiple -f options. simplify -f file reading.
...
function old new delta
parse_expr 833 841 +8
qrealloc 33 36 +3
next_input_file 203 198 -5
afopen 22 - -22
ftello 41 - -41
ftell 41 - -41
__GI_ftell 41 - -41
awk_main 1002 944 -58
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 2/2 up/down: 11/-208) Total: -197 bytes
text data bss dec hex filename
804232 610 6804 811646 c627e busybox_old
804120 610 6804 811534 c620e busybox_unstripped
2008-07-01 01:57:36 +00:00
Denis Vlasenko
d699544205
vi: fix vda's thinko
2008-06-27 04:06:13 +00:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
9092f754bd
print_flags: fix trivial thinko
...
vi: fix reversed checks for underflow
2008-06-26 22:40:02 +00:00
Denis Vlasenko
f5d8c90d73
style fixes, no code changes
2008-06-26 14:32:57 +00:00
Denis Vlasenko
70685bd022
vi: fix yet another vda's thinko
2008-06-24 14:10:41 +00:00
Denis Vlasenko
cc3f20b9bd
fix breakage found by randomconfig
2008-06-23 22:31:52 +00:00
Denis Vlasenko
e3eae0d445
vi: fix obvious thinko's
2008-06-22 16:38:53 +00:00
Denis Vlasenko
2a210e5df2
vi: fix vda's breakage (by Cristian Ionescu-Idbohrn)
2008-06-22 13:20:42 +00:00
Denis Vlasenko
3387538bbe
vi: small code shrink
...
function old new delta
file_insert 328 329 +1
colon 3067 3064 -3
string_insert 93 89 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 1/-7) Total: -6 bytes
2008-06-21 20:31:50 +00:00
Denis Vlasenko
b175946ba4
vi: fix the bug where vi never grows the edit buffer.
...
vi: do G trick on it
function old new delta
place_cursor 264 276 +12
next_tabstop 22 34 +12
mycmp 44 52 +8
status_line 34 40 +6
yank_delete 89 92 +3
what_reg 34 37 +3
suspend_sig 63 66 +3
find_range 493 496 +3
redraw 104 106 +2
cont_sig 63 65 +2
Indicate_Error 59 61 +2
status_line_bold 71 72 +1
file_insert 327 328 +1
vi_setops 1 - -1
...
cmdcnt 4 - -4
chars_to_parse 4 - -4
ccol 4 - -4
dot_scroll 88 79 -9
stupid_insert 28 18 -10
winch_sig 102 91 -11
char_insert 353 336 -17
readit 354 336 -18
get_one_char 128 110 -18
init_text_buffer 171 152 -19
text_hole_delete 132 112 -20
edit_file 940 918 -22
get_input_line 198 168 -30
show_status_line 449 408 -41
colon 3112 3067 -45
vi_main 312 250 -62
refresh 1077 974 -103
do_cmd 4818 4483 -335
------------------------------------------------------------------------------
(add/remove: 0/38 grow/shrink: 13/20 up/down: 58/-889) Total: -831 bytes
text data bss dec hex filename
809566 612 7044 817222 c7846 busybox_old
808794 611 6924 816329 c74c9 busybox_unstripped
text data bss dec hex filename
18888 1 122 19011 4a43 busybox.t8/editors/vi.o
18116 0 0 18116 46c4 busybox.t9/editors/vi.o
2008-06-20 20:20:54 +00:00
Denis Vlasenko
d50dda8c35
*: use llist_pop for traverse-and-free list operation
...
function old new delta
append_file_list_to_list 109 111 +2
udhcpc_main 2414 2413 -1
run_parts_main 325 324 -1
od_main 2324 2323 -1
getopt_main 709 707 -2
env_main 253 251 -2
sed_main 659 656 -3
ps_main 522 519 -3
traceroute_main 3960 3954 -6
sort_main 844 838 -6
diff_main 866 858 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/10 up/down: 2/-33) Total: -31 bytes
2008-06-15 05:40:56 +00:00
Denis Vlasenko
a05c0716c2
grep: make "-f -" work (+ testsuite)
...
diff: small code shrink
function old new delta
grep_main 722 714 -8
diffreg 1825 1793 -32
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-40) Total: -40 bytes
2008-06-07 05:19:31 +00:00
Bernhard Reutner-Fischer
5e25ddb7d3
- use STD*_FILENO some more. No object-code changes
2008-05-19 09:48:17 +00:00
Denis Vlasenko
5599502a55
more -Wall warning fixes. -Wall is enabled now.
2008-05-18 22:28:26 +00:00
Denis Vlasenko
77ad97f199
more -Wall warning fixes from Cristian Ionescu-Idbohrn.
...
This time it resulted in small code changes:
function old new delta
nexpr 820 828 +8
tail_main 1200 1202 +2
wrapf 166 167 +1
parse_mount_options 227 209 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 11/-18) Total: -7 bytes
2008-05-13 02:27:31 +00:00
Denis Vlasenko
8abae88410
vi: do not truncate file to zero length. closes bug 2944.
...
function old new delta
file_write 98 104 +6
2008-05-03 11:35:59 +00:00
Denis Vlasenko
c4523c2b3d
fix a few stray unguarded strdup's
2008-03-28 02:24:59 +00:00
Denis Vlasenko
8ee649a02e
*: more uniform naming: s/xmalloc_getline/xmalloc_fgetline/
2008-03-26 20:04:27 +00:00
Denis Vlasenko
08ec67bc62
patch: add support for -R. ~ +110 byte. By Pascal Bellard <pascal.bellard AT ads-lu.com>
...
fbsplash: new applet by Michele Sanges <michele.sanges AT otomelara.it
function old new delta
fbsplash_main - 1525 +1525
fb_drawfullrectangle - 118 +118
static.param_value - 100 +100
packed_usage 23776 23872 +96
applet_names 1843 1852 +9
applet_main 1120 1124 +4
read_line_input 3156 3158 +2
applet_nameofs 560 562 +2
applet_install_loc 140 141 +1
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 6/0 up/down: 1857/0) Total: 1857 bytes
text data bss dec hex filename
799233 641 7380 807254 c5156 busybox_old
801202 641 7380 809223 c5907 busybox_unstripped
2008-03-26 13:32:30 +00:00
Denis Vlasenko
cc2965fd23
patch: fix vda's thinko: we need to open new_filename.orig, always!
...
plug memory leak; add testsuite
patch_main 1009 988 -21
2008-03-25 14:15:39 +00:00
Denis Vlasenko
dccfe05e17
diff: improve comments (no code chages)
2008-03-24 18:40:32 +00:00
Denis Vlasenko
64a76d7b44
patch: support for patches without dates and generated with -U1; shrink
...
function old new delta
extract_filename - 92 +92
extract_filename_and_free_line 70 - -70
patch_main 1096 1009 -87
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/1 up/down: 92/-157) Total: -65 bytes
2008-03-24 18:18:03 +00:00
Denis Vlasenko
c4c2cd44d2
diff: exclude D_EMPTY code if there is no support for -r
...
function old new delta
diffreg 1808 1825 +17
files_differ 189 166 -23
2008-03-24 16:55:13 +00:00
Denis Vlasenko
e9d67a81c8
diff: fix small bug; don't make a copy for "/dev/null" case
2008-03-24 16:28:47 +00:00
Denis Vlasenko
7fe0ebac5f
diff: reordering and renaming of variables
...
function old new delta
diff_main 843 848 +5
get_recursive_dirlist 177 180 +3
add_to_dirlist 64 66 +2
change 329 326 -3
files_differ 182 176 -6
diffreg 1823 1808 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/3 up/down: 10/-24) Total: -14 bytes
2008-03-24 16:19:21 +00:00
Denis Vlasenko
73132b9c12
diff: make a few variables local
...
function old new delta
diffreg 1844 1823 -21
2008-03-24 15:04:24 +00:00
Denis Vlasenko
04211fd204
diff: make it work on pipes etc (needed for kernel compile)
...
function old new delta
get_recursive_dirlist - 177 +177
make_temp - 144 +144
diffreg 1818 1844 +26
files_differ 175 182 +7
diff_main 842 843 +1
get_dir 177 - -177
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 3/0 up/down: 355/-177) Total: 178 bytes
2008-03-24 14:44:59 +00:00
Denis Vlasenko
dc1cbf839d
diff: shrink
...
function old new delta
check 678 1607 +929
files_differ - 175 +175
do_diff 436 433 -3
asciifile 94 90 -4
print_only 23 16 -7
diff_main 868 842 -26
prepare 339 301 -38
print_status 316 178 -138
diffreg 2993 1818 -1175
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/7 up/down: 1104/-1391) Total: -287 bytes
2008-03-24 14:44:20 +00:00
Denis Vlasenko
c693840fe8
*: whitespace fixes, no code changes
2008-03-24 02:18:03 +00:00
Denis Vlasenko
42cc304e90
lpr: add more accurate comments
...
*: trailing whitespace removal
2008-03-24 02:05:58 +00:00
Denis Vlasenko
c93b162248
patch: shrink by Pascal Bellard <pascal.bellard AT ads-lu.com> (-80 bytes)
...
*: removal of #include <getopt.h>
2008-03-23 22:55:25 +00:00
Denis Vlasenko
2a7a451391
patch: don't trash permissions of patched file
2008-03-18 01:38:04 +00:00
Paul Fox
2724fa9d8a
remove alarm() calls which were functioning as a primitive
...
watchdog function, presumably to catch infinite loop bugs.
(control-C can do the same thing, and the alarms were too short in
any case.) also, switch to sigsetjmp/siglongjmp in order to allow
repeated use of control-C -- otherwise it works once, then not again.
2008-03-17 15:28:07 +00:00
Denis Vlasenko
1d42665b6b
*: shrink: use Vladimir's "o+" specifier instead of xatou(opt_param)
...
function old new delta
getopt32 1370 1385 +15
sulogin_main 490 494 +4
realpath_main 84 86 +2
sleep_main 76 77 +1
mt_main 256 257 +1
printenv_main 75 74 -1
fdformat_main 546 545 -1
usleep_main 44 42 -2
setlogcons_main 77 75 -2
ed_main 2654 2649 -5
deallocvt_main 69 64 -5
addgroup_main 373 368 -5
mkfs_minix_main 2989 2982 -7
tail_main 1221 1213 -8
sv_main 1254 1241 -13
du_main 348 328 -20
tftp_main 325 302 -23
split_main 581 558 -23
nc_main 1000 977 -23
diff_main 891 868 -23
arping_main 1797 1770 -27
ls_main 893 847 -46
od_main 2797 2750 -47
readprofile_main 1944 1895 -49
tcpudpsvd_main 1973 1922 -51
udhcpc_main 2590 2513 -77
grep_main 824 722 -102
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/22 up/down: 23/-560) Total: -537 bytes
text data bss dec hex filename
796973 658 7428 805059 c48c3 busybox_old
796479 662 7420 804561 c46d1 busybox_unstripped
2008-03-17 09:09:09 +00:00
Denis Vlasenko
62a90cdd74
*: shrink by using [f]open_or_warn_stdin where appropriate
...
function old new delta
lsattr_main 62 143 +81
open_or_warn_stdin - 36 +36
fclose_if_not_stdin 20 47 +27
xfopen_stdin - 20 +20
tac_main 336 356 +20
cksum_main 249 259 +10
bb_argv_dash - 8 +8
su_main 448 455 +7
cmp_main 630 633 +3
passwd_main 1072 1074 +2
uudecode_main 317 315 -2
text_yank 110 108 -2
handle_incoming_and_exit 2653 2651 -2
flags 5 1 -4
write_leases 235 230 -5
fopen_or_warn_stdin 48 42 -6
fold_main 648 642 -6
static.argv_dash 8 - -8
sum_main 142 128 -14
tail_main 1237 1221 -16
sed_main 711 695 -16
cmp_xfopen_input 17 - -17
bb_cat 113 96 -17
catv_main 328 306 -22
strings_main 457 434 -23
hash_file 298 274 -24
sum_file 353 325 -28
sort_main 904 859 -45
expand_main 736 686 -50
cut_main 1116 1065 -51
md5_sha1_sum_main 549 493 -56
lsattr_args 90 - -90
read_stduu 408 255 -153
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 7/20 up/down: 214/-657) Total: -443 bytes
text data bss dec hex filename
797417 658 7428 805503 c4a7f busybox_old
796973 658 7428 805059 c48c3 busybox_unstripped
2008-03-17 09:07:36 +00:00
Denis Vlasenko
68404f13d4
*: add -Wunused-parameter; fix resulting breakage
...
function old new delta
procps_scan 1265 1298 +33
aliascmd 278 283 +5
parse_file_cmd 116 120 +4
dname_enc 373 377 +4
setcmd 90 93 +3
execcmd 57 60 +3
count_lines 72 74 +2
process_command_subs 340 339 -1
test_main 409 407 -2
mknod_main 179 177 -2
handle_incoming_and_exit 2653 2651 -2
argstr 1312 1310 -2
shiftcmd 131 128 -3
exitcmd 46 43 -3
dotcmd 297 294 -3
breakcmd 86 83 -3
evalpipe 353 349 -4
evalcommand 1180 1176 -4
evalcmd 109 105 -4
send_tree 374 369 -5
mkfifo_main 82 77 -5
evalsubshell 152 147 -5
typecmd 75 69 -6
letcmd 61 55 -6
add_cmd 1190 1183 -7
main 891 883 -8
ash_main 1415 1407 -8
parse_stream 1377 1367 -10
alloc_procps_scan 55 - -55
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes
text data bss dec hex filename
797195 658 7428 805281 c49a1 busybox_old
797101 658 7428 805187 c4943 busybox_unstripped
2008-03-17 09:00:54 +00:00
Paul Fox
35e9c5d83a
fixups to vi usage, and move the initial redraw() past the
...
execution of commands supplied by -c or EXINIT, so their
effect is displayed correctly.
2008-03-06 16:26:12 +00:00
Paul Fox
c51fc7bed6
fixed the "dot" (i.e. '.') command, to properly re-init its
...
buffer between commands, not recalculate its length all the time,
and to not reallocate its fixed-length buffer frequently.
fixed the 'c', 'd', and 'y' commands to properly handle both motions
that are just part of a line, and those that are multiline. for
instance, now "c%" and "2cw" work correctly, whether the motions span
lines or not.
added some permissble motions for 'c', 'd', and 'y': namely 'h',
'l', SPACE, BS, and DEL
2008-03-06 01:34:23 +00:00
Paul Fox
4917c11432
fix vi's '?' and '/' commands to correctly set a new direction
...
when reusing a previous search pattern. previously only 'n' and 'N'
reversed directions properly.
2008-03-05 16:44:02 +00:00
Denis Vlasenko
fb29038b59
libbb: inntroduce and use bb_pstrcmp() and qsort_string_vector()
...
msh: glob0/glob1/glob2/glob3 are just a sorting routine! remove them.
bb_pstrcmp - 25 +25
qsort_string_vector - 24 +24
expand 2209 2227 +18
getopt32 1359 1370 +11
passwd_main 1072 1074 +2
handle_incoming_and_exit 2737 2735 -2
UNSPEC_print 66 64 -2
forkexec 1343 1339 -4
input_tab 3338 3330 -8
get_dir 185 177 -8
expmeta 481 473 -8
cmdputs 405 397 -8
xstrcmp 12 - -12
find_pair 187 167 -20
match_compare 25 - -25
dir_strcmp 25 - -25
glob2 27 - -27
glob3 34 - -34
glob1 256 - -256
------------------------------------------------------------------------------
(add/remove: 2/6 grow/shrink: 3/8 up/down: 80/-439) Total: -359 bytes
2008-03-02 12:51:26 +00:00
Denis Vlasenko
da8ae75340
doc: add info about sed s/.../.../I modifier
2008-03-01 19:29:56 +00:00
Denis Vlasenko
f39c7c0c86
sed: n cmd must reset "we had successful subst" flag. closes bug 1214.
2008-02-28 17:59:01 +00:00
Denis Vlasenko
574f2f4394
*: add optimization barrier to all "G trick" locations
2008-02-27 18:41:59 +00:00
Denis Vlasenko
cb448fe01b
libbb: introduce and use xrename and rename_or_warn.
2008-02-17 14:28:53 +00:00
Denis Vlasenko
284d0faed6
random s/short/int/
...
add_cmd 1189 1190 +1
xconnect_ftpdata 118 117 -1
data_align 86 84 -2
process_files 2101 2096 -5
forkexec 1345 1334 -11
2008-02-16 13:18:17 +00:00
Paul Fox
b5ee8db9b5
add ',' and 'gg' commands (patch from Leo Jay)
2008-02-14 01:17:01 +00:00
Bernhard Reutner-Fischer
a985d306a1
- spelling fixes
2008-02-11 11:44:38 +00:00
Denis Vlasenko
847fa779af
*: tidy up usage of char **environ
2008-01-28 22:45:43 +00:00
Denis Vlasenko
d3c042fc60
libbb: introduce fputc_printable (from ed)
...
netstat: print control chars as ^C etc
vi: style fixlet
function old new delta
fputc_printable - 100 +100
unix_do_one 451 487 +36
printLines 258 190 -68
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 136/-68) Total: 68 bytes
2007-12-30 01:59:53 +00:00
Denis Vlasenko
f7be20e70c
nameif: extended matching (Nico Erfurth <masta@perlgolf.de>)
...
*: whitespace fixes
function old new delta
prepend_new_eth_table - 304 +304
nameif_main 620 684 +64
cc_macaddr 51 - -51
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 368/-51) Total: 317 bytes
2007-12-24 14:09:19 +00:00
Denis Vlasenko
f882f08627
vi: speed up some string ops
2007-12-23 02:36:51 +00:00
Denis Vlasenko
4baed3a080
vi: reduce amount of memset'ing on each screen refresh
2007-12-22 17:31:29 +00:00
Denis Vlasenko
e3cbfb91d2
vi: introduce FEATURE_VI_8BIT (as vi currently is not Unicode capable,
...
people may want to disable display of high-bit chars)
ip: build fixlet
2007-12-22 17:00:11 +00:00
Denis Vlasenko
88adfcd178
vi: change MAX_LINELEN meaning: now it is the biggest supported
...
screen wigth. Introduce MAX_TABSTOP and MAX_INPUT_LEN. Fix redraw
of very long lines and cursor movement past NULs.
2007-12-22 15:40:13 +00:00
Denis Vlasenko
26b6fba9d3
vi: fix a problem with displaying overlong lines
2007-12-21 21:34:37 +00:00
Denis Vlasenko
a96425fe82
vi: don't use common_bufsiz as read buffer, it can be too small
...
(found by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)
2007-12-09 04:13:43 +00:00
Denis Vlasenko
72cc9641f8
add sed mini-doc
2007-11-13 17:13:31 +00:00
Denis Vlasenko
40276648ab
sed: support GNU-like '\t' escape in substitutions
2007-11-13 16:48:10 +00:00
Denis Vlasenko
6bef3d1d22
fbset: fix buglet where we were using wrong pointer
...
readahead: stop using stdio.h
*: style fixes
2007-11-06 03:05:54 +00:00
Denis Vlasenko
4f95e5aab8
vi: don't wait 50 ms before reading ESC sequences
...
inetd,syslogd: use safe_read instead of open-coded EINTR handling
syslogd: bail out if you see null read from Unix socket
(should never happen, but if it does, spinning forever
and eating 100% CPU is not a good idea)
2007-10-11 10:10:15 +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
Bernhard Reutner-Fischer
d24d5c84c2
- ditch 2 bytes
2007-10-01 18:04:42 +00:00
Denis Vlasenko
6081868ee3
fix "if (p) free(p)" constructs
2007-09-28 22:07:23 +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
5d61e71c3a
introduce safe_poll (fixes a problem in top)
...
function old new delta
safe_poll - 77 +77
svlogd_main 1470 1466 -4
zcip_main 1530 1524 -6
forkexec 1345 1338 -7
decode_format_string 795 788 -7
collect_blk 474 467 -7
buffer_pread 540 532 -8
tftp 1182 1172 -10
microcom_main 763 749 -14
arpping 441 424 -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/9 up/down: 77/-80) Total: -3 bytes
text data bss dec hex filename
770162 1034 10404 781600 bed20 busybox_old
770158 1034 10404 781596 bed1c busybox_unstripped
2007-09-27 10:09:59 +00:00
Denis Vlasenko
6a5377ac14
documentation bits in comments, no code changes
2007-09-25 18:35:28 +00:00
Denis Vlasenko
d9391b15f1
ed: large cleanup
...
function old new delta
bad_nums - 43 +43
skip_blank - 24 +24
getNum 557 578 +21
insertLine 159 163 +4
setCurNum 31 33 +2
lastNum 4 - -4
fileName 4 - -4
dirty 4 - -4
curNum 4 - -4
curLine 4 - -4
bufUsed 4 - -4
bufSize 4 - -4
bufPtr 4 - -4
bufBase 4 - -4
printLines 357 345 -12
findLine 165 152 -13
lines 16 - -16
deleteLines 203 144 -59
readLines 538 473 -65
addLines 163 87 -76
marks 104 - -104
termEdit 140 - -140
ed_main 3125 2654 -471
------------------------------------------------------------------------------
(add/remove: 2/12 grow/shrink: 3/6 up/down: 94/-992) Total: -898 bytes
text data bss dec hex filename
771142 1034 10564 782740 bf194 busybox_old
770265 1034 10404 781703 bed87 busybox_unstripped
# size */ed.o
text data bss dec hex filename
6370 0 156 6526 197e editors.org/ed.o
5505 0 0 5505 1581 editors/ed.o
2007-09-25 11:55:57 +00:00
Bernhard Reutner-Fischer
73f56bb76d
- actually mv microcom.c to miscutils
2007-09-22 21:18:46 +00:00
Denis Vlasenko
0beaff8c19
update Glenn McGrath's email address
2007-09-21 13:16:32 +00:00
Denis Vlasenko
87f3b26b3a
*: replace select-for-one descriptor with poll, it's smaller.
...
$ ./.cmk bloatcheck
function old new delta
readit 406 364 -42
syslogd_main 1249 1206 -43
traceroute_main 4115 4060 -55
mysleep 112 45 -67
arpping 579 441 -138
tftp 1575 1182 -393
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-738) Total: -738 bytes
text data bss dec hex filename
770580 1051 10764 782395 bf03b busybox_old
769820 1051 10764 781635 bed43 busybox_unstripped
2007-09-07 13:43:28 +00:00
Denis Vlasenko
fe7cd642b0
don't pass argc in getopt32, it's superfluous
...
(add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes
text data bss dec hex filename
773469 1058 11092 785619 bfcd3 busybox_old
772644 1058 11092 784794 bf99a busybox_unstripped
2007-08-18 15:32:12 +00:00
Denis Vlasenko
856be770a6
assorted fixes for breakage found by randomconfig
2007-08-17 08:29:48 +00:00
Denis Vlasenko
6a2f7f41cf
whitespace fixes, no code changes
2007-08-16 10:35:17 +00:00
Denis Vlasenko
6ca409e0e4
trylink: produce even more info about final link stage
...
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
2007-08-12 20:58:27 +00:00
Denis Vlasenko
eea72123a3
patch: fix -p -1 handling
...
checkstack.pl: add blackfin (by Alex Landau <landau_alex@yahoo.com>)
2007-08-06 13:34:10 +00:00
Denis Vlasenko
8274e06677
sed: fix 'q' command handling ("Nguyen Thai Ngoc Duy" <pclouds@gmail.com>)
...
add testsuite entry for it. Fix applet order checker. Fix cmp yelling.
trylink: fix error file and map file generation
applets: fix applet order
2007-08-06 03:41:08 +00:00
Denis Vlasenko
fc77eb54e7
patch: fix bad line ending handling ("Nguyen Thai Ngoc Duy" <pclouds@gmail.com>)
2007-08-01 23:30:54 +00:00
Denis Vlasenko
b71c668c57
style fix (stray space before ';')
2007-07-21 15:08:09 +00:00
Denis Vlasenko
091965768d
libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
...
find_pair 164 180 +16
passwd_main 1222 1230 +8
display_speed 91 96 +5
msh_main 1335 1339 +4
qrealloc 38 36 -2
refresh 1190 1182 -8
cut_main 543 532 -11
sendCgi 1807 1794 -13
getopt32 1063 1045 -18
arith 2077 2030 -47
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/6 up/down: 33/-99) Total: -66 bytes
text data bss dec hex filename
781548 1168 11900 794616 c1ff8 busybox_old
781452 1168 11900 794520 c1f98 busybox_unstripped
2007-07-21 13:27:44 +00:00
Denis Vlasenko
2f6ae43b9c
stray trailing tabs removed
2007-07-19 22:50:47 +00:00
Denis Vlasenko
2414a96faa
vi: comment out dead code
2007-07-18 22:03:40 +00:00
Denis Vlasenko
af1bd09625
awk: fix -F 'regex' bug (miscounted fields if last field is empty)
2007-07-18 18:32:25 +00:00
Denis Vlasenko
b78c782c85
awk: style fixes; remove one xstrdup/free pair; testsuite
2007-07-18 18:31:11 +00:00
Denis Vlasenko
91afdf8096
vi: style fixlet
2007-07-17 23:22:49 +00:00
Denis Vlasenko
a3d15c8be7
fix typo in prev commit :(
2007-07-17 23:19:28 +00:00
Denis Vlasenko
27da707d06
vi: s/argv[0]/applet_name/
2007-07-17 23:18:26 +00:00
Denis Vlasenko
eaabf0675f
vi: multiple fixes by Natanael Copa <natanael.copa@gmail.com>
...
* the puzzling message on error is replaced with strerror(errno)
so it should be even more detailed and smaller at the same time.
* merged code in edit_file() and code for ':edit <file>' in colon() into
new func init_text_buffer(). Was horribly duplicate. Moved most of
error/sanity checking to file_insert(). Result is that you get a proper
validation (prevent reading /dev/*) and error messages for ':r <file>'
* renamed 'cfn' to 'current_filename' for improved readability
* merged smallint vi_readonly and readonly into bitfields into
readonly_mode to save space.
* added text_size variable to keep track how big the text buffer is.
This is used to fix a buffer overflow. To reproduce bug:
./busybox vi TODO
:r Makefile
vi segfaults due to no buffer checking is done at all. som redesign is
needed here but i added a check in text_hole_make() to aviod the
segfault at least.
* removed isblnk() and use isblank(3) instead.
* fixed compiler warning by displaying the return code for :!<command>
This makes things bigger than needed but since the patch reduces the
overall size... (see below)
* new func next_tabstop(int) merges some duplicate code. There are more
cuplicode here but i couldnt find a good way to merge them.
* Fix *ANNOYING* placement of cursor on '\t' characters. To reproduce:
echo -e "\thello" > file1
./busybox vi file1
Try to insert some text at the beginning of line. Text will be inserted
but cursor is blinking somewhere else. The patch should make busybox vi
behave more like original vi(m). Costs a few bytes but its worth it
imho.
* new_text() is moved into init_text_buffer()
* the previously added update_ro_status() was moved info file_insert due
to duplication removal mentioned above.
function old new delta
init_text_buffer - 245 +245
file_insert 312 420 +108
next_tabstop - 82 +82
text_hole_make 154 171 +17
do_cmd 5093 5100 +7
static.cmd_mode_indicator - 5 +5
refresh 1248 1253 +5
current_filename - 4 +4
yank_delete 161 164 +3
what_reg 96 99 +3
end_cmd_q 78 81 +3
char_insert 440 442 +2
readonly_mode - 1 +1
vi_readonly 1 - -1
setops 154 153 -1
readonly 1 - -1
vi_setops 4 1 -3
string_insert 161 158 -3
cfn 4 - -4
show_status_line 532 514 -18
readit 519 500 -19
move_to_col 161 138 -23
vi_main 495 433 -62
isblnk 75 - -75
.rodata 4751 4655 -96
edit_file 892 787 -105
new_text 125 - -125
update_ro_status 131 - -131
colon 3848 3667 -181
------------------------------------------------------------------------------
(add/remove: 5/6 grow/shrink: 8/10 up/down: 485/-848) Total: -363
bytes
text data bss dec hex filename
34751 873 4260 39884 9bcc busybox_old
34439 877 4260 39576 9a98 busybox_unstripped
2007-07-17 23:14:07 +00:00
Denis Vlasenko
49a128a156
remove accumulated stray trailing whitespace
2007-07-17 21:42:59 +00:00
Denis Vlasenko
59a1f30450
vi: make status line less confusing when we open non-readable files,
...
require rood to use w! when saving non-writable files.
Patch by Natanael Copa <natanael.copa@gmail.com>
update_ro_status - 73 +73
edit_file 819 822 +3
colon 3440 3425 -15
.rodata 128090 128058 -32
file_insert 288 235 -53
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 76/-100) Total: -24 bytes
text data bss dec hex filename
673344 2740 13968 690052 a8784 busybox_old
673320 2740 13968 690028 a876c busybox_unstripped
2007-07-14 22:43:10 +00:00
Denis Vlasenko
80b8b39899
Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms@bfs.de>)
2007-06-25 10:55:35 +00:00
Denis Vlasenko
3ad5d0cbbe
diff: shrink code (-85 bytes):
...
function old new delta
fiddle_sum 8 - -8
diffreg 2717 2690 -27
prepare 334 284 -50
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-85) Total: -85 bytes
s/ATTRIBUTE_ALWAYS_INLINE/ALWAYS_INLINE/g
2007-06-12 20:54:54 +00:00
Denis Vlasenko
cc5e090f12
move several applets to more correct ex-project. No code changes.
2007-06-12 08:12:33 +00:00
Denis Vlasenko
e8a0788b24
moved biggest stack buffers to malloc space, or made their size configurable
...
(8k of shell line edit buffer is an overkill)
# make ARCH=i386 bloatcheck
function old new delta
read_line_input 3933 3967 +34
ifaddrlist 348 345 -3
do_loadfont 208 191 -17
edit_file 840 819 -21
.rodata 129112 129080 -32
uncompress 1305 1268 -37
loadfont_main 566 495 -71
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 34/-181) Total: -147 bytes
2007-06-10 15:08:44 +00:00
Denis Vlasenko
e16e6e79e4
awk: experimentally modify "global" trick to make code smaller
...
by minimizing data offsets
function old new delta
parse_expr 752 782 +30
syntax_error 23 26 +3
nvfree 151 154 +3
nvalloc 172 175 +3
fsrealloc 111 114 +3
chain_node 99 102 +3
chain_loop 121 124 +3
chain_group 628 631 +3
awk_main 1002 1005 +3
awk_exit 99 102 +3
parse_program 308 310 +2
split_f0 172 170 -2
awk_split 510 507 -3
getvar_s 108 102 -6
awk_sub 643 637 -6
awk_getline 706 700 -6
next_token 943 927 -16
handle_special 470 446 -24
next_input_file 252 213 -39
evaluate 6703 6633 -70
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 11/9 up/down: 59/-172) Total: -113 bytes
# size */*/awk.o
text data bss dec hex filename
18247 0 0 18247 4747 busybox.t0/editors/awk.o
18134 0 0 18134 46d6 busybox.t1/editors/awk.o
2007-06-07 13:14:53 +00:00
Denis Vlasenko
ae5a8aac26
awk: move all data to malloc space
...
function old new delta
evaluate 6448 6728 +280
awk_getline 676 705 +29
parse_expr 726 752 +26
next_token 917 943 +26
next_input_file 237 252 +15
awk_split 498 510 +12
awk_sub 632 643 +11
split_f0 160 170 +10
getvar_s 98 108 +10
...
chain_loop 128 121 -7
nvalloc 179 171 -8
chain_node 107 99 -8
mainseq 12 - -12
endseq 12 - -12
chain_group 640 628 -12
beginseq 12 - -12
awk_exit 112 100 -12
fsrealloc 127 110 -17
static.v 20 - -20
static.rsm 24 - -24
ttt 28 - -28
parse_program 339 311 -28
static.sreg 32 - -32
intvar 76 - -76
static.tspl 84 - -84
rsplitter 84 - -84
fsplitter 84 - -84
------------------------------------------------------------------------------
(add/remove: 0/39 grow/shrink: 16/11 up/down: 439/-685) Total: -246 bytes
2007-06-06 17:01:00 +00:00
Denis Vlasenko
74324c8666
Audit bb_common_bufsiz usage, add script which looks for misuse.
...
tr: stop using globals needlessly.
code: -103 bytes
2007-06-04 10:16:52 +00:00
Denis Vlasenko
0b3b41b62a
vi: move some data to malloc'ed space: ~500 less bss, code
...
size is smaller too (subject to arch differenced I guess)
2007-05-30 02:01:40 +00:00
Denis Vlasenko
4b924f3a5c
whitespace fixes
2007-05-30 00:29:55 +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
d9b5ab868c
awk: fix a trivial bug introduced by me.
...
This is how it goes. I break stuff by doing useless 'cleanups',
people fix the fallout. :(. Thanks rockeychu!
2007-05-18 07:30:43 +00:00
Denis Vlasenko
ffba941d29
awk: make code a bit less obfuscated
2007-05-17 23:03:35 +00:00
Denis Vlasenko
5b34083004
several *.c files:
...
move 'extern environ' up to the location of #includes
2007-05-17 23:02:14 +00:00
Denis Vlasenko
cd5c7866e3
vi: remove two globals
...
awk: some 'lineno' vars were shorts, made them ints (code got smaller)
awk: rename global t to global ttt. still an awful name, but at least
you can grep for it now.
function old new delta
ttt - 28 +28
mysleep 104 120 +16
readit 408 418 +10
lineno 2 4 +2
parse_program 338 339 +1
evaluate 6446 6445 -1
syntax_error 25 23 -2
next_token 917 915 -2
new_node 26 24 -2
tv 16 8 -8
skip_spaces 68 53 -15
t 28 - -28
rfds 128 - -128
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 4/6 up/down: 57/-186) Total: -129 bytes
2007-05-17 16:37:22 +00:00
Denis Vlasenko
389f9d52d5
awk: don't segfault on printf(%*s). Close 1337.
2007-05-09 21:57:23 +00:00
Denis Vlasenko
f71d916b60
awk: guard against empty environment
2007-05-03 22:57:56 +00:00
Denis Vlasenko
945bd3dee8
sed: fix escaped newlines in -f; fix multiple -f and -e
...
(broke when getopt32 was fixed to not reverse the list)
2007-04-12 21:20:25 +00:00
Denis Vlasenko
51742f4bb0
style fixes. No code changes
2007-04-12 00:32:05 +00:00
Denis Vlasenko
99912ca733
audit small applets and mark some of them as NOFORK.
...
Put big scary warnings in relevant places.
2007-04-10 15:43:37 +00:00
Denis Vlasenko
8d9f495d68
getopt32: fix llist_t options ordering. llist_rev is not unused.
...
function old new delta
tar_main 705 695 -10
sort_main 928 918 -10
decode_format_string 886 876 -10
run_parts_main 197 185 -12
ps_main 513 500 -13
wget_main 2764 2750 -14
awk_main 1014 1000 -14
od_main 2886 2866 -20
llist_rev 25 - -25
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/8 up/down: 0/-128) Total: -128 bytes
2007-04-08 15:08:42 +00:00
Denis Vlasenko
1bb552b1d9
libbb: add xunlink()
...
patch: do not try to delete same file twice
2007-04-05 21:25:15 +00:00
Denis Vlasenko
ba2fb719b9
Copyright, help text, whitespace cleanups
2007-04-01 09:39:03 +00:00
Denis Vlasenko
17a1526f9e
sed: a communal variable managed to slip past 'size'
...
('size' happily displays 0 bytes in data and bss,
but in reality sed.o used 180 bytes of it). Oh well.
function old new delta
pipe_putc 67 76 +9
sed_main 627 633 +6
get_next_line 161 166 +5
bbg 180 - -180
(add/remove: 0/1 grow/shrink: 3/0 up/down: 20/-180) Total: -160 bytes
sed: also make sed -i failure message less cryptic
2007-03-26 20:48:46 +00:00
Denis Vlasenko
55f30b05ac
inetd,ed,msh: data/bss reduction (in mss, more than 9k of it)
2007-03-24 22:42:29 +00:00
Denis Vlasenko
219d14d514
random style fixes (extra spaces deleted)
2007-03-24 15:40:16 +00:00
Denis Vlasenko
58875aefe4
assorted fixes uncovered by randomconfig runs
2007-03-22 22:22:10 +00:00
Denis Vlasenko
2a51af2579
vi: fix signed char-induced potential bugs
2007-03-21 22:31:24 +00:00
Denis Vlasenko
afa37cf508
vi: remove Byte typedef and massive amount of casts.
...
also optimize many strlen() calls.
if (strlen(buf) <= 0) goto vc1 - ??!!
2007-03-21 00:05:35 +00:00
Denis Vlasenko
f9234135f8
vi: support $EXINIT and -c
2007-03-21 00:03:42 +00:00
Denis Vlasenko
4b0bb9e0fd
sed: fix very obscure case of escaped newline in sed command
...
(needed for uclibc build, btw). Add testcase for it.
2007-03-16 23:36:58 +00:00
Denis Vlasenko
baca175912
kill superfluous returns at the end of void functions
2007-03-11 13:43:10 +00:00
Denis Vlasenko
be644a81e9
awk: support multiple -v options
2007-03-10 17:22:14 +00:00
Denis Vlasenko
8e858e2700
clean up accumulated whitespace damage
2007-03-07 09:35:43 +00:00
Denis Vlasenko
629563b5d7
awk: fix memory leak (can affect large file processing)
2007-02-24 17:05:52 +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
34c4e5f0b3
silly space saving in sed
2007-01-30 22:25:16 +00:00
Denis Vlasenko
54767db8c7
micro optimization
2007-01-30 01:11:36 +00:00
Denis Vlasenko
9356b5022c
preparatory patch for -Wwrite-strings #7 : sed
...
remaining: shell (rather scary mess in msh.c)
2007-01-29 23:44:38 +00:00
Denis Vlasenko
b6aae0f381
preparatory patch for -Wwrite-strings #2
2007-01-29 22:51:25 +00:00
Denis Vlasenko
a41fdf331a
preparatory patch for -Wwrite-strings #1
2007-01-29 22:51:00 +00:00
Denis Vlasenko
86811803e3
add to testsuite and fix yet another sed corner case
2007-01-29 17:10:19 +00:00
Denis Vlasenko
c562bb7487
disable -Wold-style-definition for gcc 3.x
2007-01-29 17:08:51 +00:00
Denis Vlasenko
fe7a9f1277
sed: fix 2 bugs (one testsuite entry + one newly found)
...
but more importantly make code more understandable
2007-01-29 14:31:47 +00:00
Denis Vlasenko
826c85f382
fix all known regressions with sed and also make it simpler
2007-01-28 23:26:15 +00:00
Denis Vlasenko
4ebaf10742
strdup -> xstrdup
...
sed: de-obfuscate piece of code
2007-01-19 21:33:19 +00:00
Denis Vlasenko
ef44d9d9f2
sed,get_line_from_file: improve comments
2007-01-17 23:16:16 +00:00
Denis Vlasenko
150f402b36
whitespace fixes (leading spaces to tab)
2007-01-13 21:06:21 +00:00
Denis Vlasenko
f7996f3b70
Trailing whitespace removal over entire tree
2007-01-11 17:20:00 +00:00
Denis Vlasenko
e1d3e034a9
awk: style fixes
2007-01-01 23:53:52 +00:00
Denis Vlasenko
6dc6ebbf44
awk: undo locale setting for numbers - or else parsing
...
can act quite mysteriously
date: add if(ENABLE_LOCALE_SUPPORT)
2007-01-01 23:53:12 +00:00
Denis Vlasenko
f782f52c8c
awk: style cleanup. A lot of rw data moved to ro
...
(still has quite a lot of statics etc...).
getopt32-ification.
2007-01-01 23:51:30 +00:00
Denis Vlasenko
6a5dc5d75a
next bunch of fixes for bugs found by randconfig
2006-12-30 18:42:29 +00:00
Denis Vlasenko
666da5e2c6
merge post-1.3.0 fixes
2006-12-26 18:17:42 +00:00
Denis Vlasenko
bf0a201008
style fixes
...
last xcalloc replaced by xzalloc
2006-12-26 10:42:51 +00:00
Denis Vlasenko
4cccc03768
remove useless casts (type*) xzalloc(...)
2006-12-22 18:37:07 +00:00
Denis Vlasenko
b95636c52f
remove casts from xmalloc()
2006-12-19 23:36:04 +00:00
Denis Vlasenko
249fabf1a3
Add option to disable command execution from vi & awk
2006-12-19 00:29:22 +00:00
Denis Vlasenko
0a10da29a7
diff: comment - explain what happens when hunk fails to apply
2006-12-17 00:49:56 +00:00
Denis Vlasenko
f7583d89b0
patch: fix double-free (bug 1120)
2006-12-17 00:33:29 +00:00
Denis Vlasenko
9f739445cd
inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]
2006-12-16 23:49:13 +00:00
Denis Vlasenko
2ea630f9a5
bb_makedev: fix for glibc 2.3.2
...
sed: fix C++ style declaration
2006-12-10 02:52:19 +00:00
Denis Vlasenko
2f8f71b20d
sed: style fixes
2006-12-10 02:09:12 +00:00
Denis Vlasenko
1375bc7b67
sed: fix handling of files not ending in '\n'
2006-12-02 20:12:12 +00:00
Denis Vlasenko
8b22b07bc5
sed: improve handling of NULs
2006-12-02 17:58:10 +00:00
Denis Vlasenko
610c4aa197
ed: convert style to bbox's. No code changes.
2006-11-30 20:57:50 +00:00
Denis Vlasenko
ab24e18c7a
passwd: rework:
...
* do not make backup copy by copying (just retain old file)
* correctly fall back to /etc/passwd if user is not in shadow
* fix bug with overlong passwd entries
* be permissive on some kinds of failures
* reduce stack usage
* code size: -500 bytes
2006-11-30 16:41:15 +00:00
Denis Vlasenko
d9e15f2068
style cleanup: return(a) -> return a, part 2
2006-11-27 16:49:55 +00:00
Denis Vlasenko
079f8afa0a
style cleanup: return(a) -> return a, part 1
2006-11-27 16:49:31 +00:00
Denis Vlasenko
b54b208d90
Fix largefile breakage; advance version to 1.2.2
2006-10-27 09:05:40 +00:00
Denis Vlasenko
621204bbf6
get_terminal_width_height: do not pass insanely large values
2006-10-27 09:03:24 +00:00
Denis Vlasenko
d3d004dd35
last nail into error_msg() (de)capitalization
2006-10-27 09:02:31 +00:00
Denis Vlasenko
ddec5af6b0
rename functions to more understandable names
2006-10-26 23:25:17 +00:00
Denis Vlasenko
8077850330
sed: mostly style fixes, very small changes in actual code
2006-10-25 12:46:46 +00:00
Denis Vlasenko
d18a3a20db
use skip_whitespace where appropriate
2006-10-25 12:46:03 +00:00
Denis Vlasenko
e1a0d486e4
message string changes, mostly for consistency, also -32 bytes in .rodata
2006-10-20 13:28:22 +00:00
Denis Vlasenko
ea62077b85
add open_read_close() and similar stuff
2006-10-14 02:23:43 +00:00
Denis Vlasenko
2d5ca60bfb
bb_get_[chomped]line_from_file wasn't descriptive enough.
...
Renaming...
2006-10-12 22:43:20 +00:00
Denis Vlasenko
a6dbb08a48
small style fixes
2006-10-12 19:29:44 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
890ac9deb2
awk: && -> & in "n->info && OPCLSMASK" - fixes bug 1067
2006-10-07 15:16:19 +00:00
Denis Vlasenko
7d219aab70
build system overhaul
2006-10-05 10:17:08 +00:00
Denis Vlasenko
67b23e6043
getopt_ulflags -> getopt32.
...
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
2006-10-03 21:00:06 +00:00
Denis Vlasenko
40920825d5
rename bb_default_error_retval -> xfunc_error_retval
2006-10-03 20:28:06 +00:00
Denis Vlasenko
9275814a9e
lots of silly indent fixes
2006-10-03 19:56:34 +00:00
Denis Vlasenko
e2016e145b
sed: -e options were handled in reverse order. fix that.
2006-10-01 21:37:40 +00:00
Denis Vlasenko
b97c9842a5
sed: unbreak multiple -e, -f option handling (my fault)
2006-10-01 21:05:12 +00:00
Denis Vlasenko
e175ff252f
several fixes from openWRT project
2006-09-26 17:41:00 +00:00
Denis Vlasenko
099efbf99e
awk: getopt_ulflags'isation
2006-09-22 09:02:30 +00:00
Denis Vlasenko
750fc6d7bb
sed: getopt_ulflags'isation
2006-09-22 08:56:03 +00:00
Rob Landley
e9a7a6212b
Change license statements (and clean up headers) on some of the files that
...
Erik or I are primary copyright holders on.
2006-09-22 02:52:41 +00:00
Denis Vlasenko
9213a9e0f2
whitespace cleanup
2006-09-17 16:28:10 +00:00
Rob Landley
d35c0efddb
Bugfix for: echo '123456789' | sed 's/./|&/5'
2006-09-08 00:01:02 +00:00
Denis Vlasenko
6d655be5df
removed a lot of trailing \n in bb_msg() calls. It is added
...
automatically by function itself.
2006-09-06 19:02:46 +00:00
Rob Landley
88621d7398
Svn 16007 broke the build under gcc 4.0.3. This fixes up some of the damage
...
(the e2fsprogs directory is too twisty and evil to easily fix, but I plan
to rewrite it anyway so I'll just bump that up in priority a bit).
2006-08-29 19:41:06 +00:00
Bernhard Reutner-Fischer
d591a360d3
- merge -r15463:15564 from busybox_scratch branch through these changesets:
...
------------------------------------------------------------------------
r15465 | aldot | 2006-06-21 20:48:06 +0200 (Wed, 21 Jun 2006) | 3 lines
- use CONFIG_BUSYBOX_EXEC_PATH as before it one was broken by a recent revert.
- use xchdir() since all is invain if it fails there anyways, supposedly
------------------------------------------------------------------------
r15466 | aldot | 2006-06-21 20:55:16 +0200 (Wed, 21 Jun 2006) | 2 lines
- adjust docs to take CONFIG_BUSYBOX_EXEC_PATH into account.
------------------------------------------------------------------------
r15467 | aldot | 2006-06-21 21:31:24 +0200 (Wed, 21 Jun 2006) | 18 lines
- partial fallout of my TREE_USED touchup against gcc-4.2: rip unused vars, save
s 144 bytes
text data bss dec hex filename
862434 10156 645924 1518514 172bb2 busybox.old
862322 10156 645892 1518370 172b22 busybox
function old new delta
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
new_text 70 60 -10
ipaddr_list_link 33 23 -10
gzip_main 898 822 -76
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 0/3 up/down: 0/-120) Total: -120 bytes
------------------------------------------------------------------------
r15468 | aldot | 2006-06-21 21:43:05 +0200 (Wed, 21 Jun 2006) | 19 lines
- remove useless global exports
function old new delta
rpm_main 940 1601 +661
rpm_getstring 107 112 +5
rpm_getint 148 153 +5
loop_through_files 103 106 +3
fileaction_dobackup 115 113 -2
fileaction_list 5 - -5
rpm_getcount 42 - -42
extract_cpio_gz 161 - -161
rpm_gettags 504 - -504
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 4/1 up/down: 674/-714) Total: -40 bytes
text data bss dec hex filename
862322 10156 645892 1518370 172b22 busybox.old
862290 10156 645892 1518338 172b02 busybox
------------------------------------------------------------------------
r15555 | aldot | 2006-06-30 14:10:11 +0200 (Fri, 30 Jun 2006) | 22 lines
- shrink syslog a little bit, move a big buffer (for 'line') off the bss, fold s
emaphore stuff into single caller manually.
stats:
function old new delta
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
small 1 - -1
local_logging 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
syslogd_main 1299 1285 -14
static.res 36 16 -20
.rodata 186650 186586 -64
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/5 grow/shrink: 2/3 up/down: 48/-1136) Total: -1088 bytes
cow@s37:~/src/busybox_scratch$ size sysklogd/syslogd.o{.orig,}
text data bss dec hex filename
3723 348 5242 9313 2461 sysklogd/syslogd.o.orig
3697 348 4188 8233 2029 sysklogd/syslogd.o
==============================================================================
Overall bloatcheck for the changeset mentioned above:
function old new delta
rpm_main 953 1608 +655
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
rpm_getstring 107 110 +3
rpm_getint 148 151 +3
loop_through_files 103 104 +1
small 1 - -1
fileaction_dobackup 115 113 -2
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
local_logging 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
fileaction_list 5 - -5
new_text 70 60 -10
ipaddr_list_link 33 23 -10
clear_bufs 31 21 -10
syslogd_main 1287 1273 -14
builtin_help 190 176 -14
static.res 36 16 -20
builtin_source 229 199 -30
rpm_getcount 42 - -42
gzip_main 842 786 -56
.rodata 227176 227112 -64
lash_main 609 527 -82
busy_loop 3883 3739 -144
extract_cpio_gz 155 - -155
rpm_gettags 501 - -501
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/15 grow/shrink: 6/12 up/down: 710/-2221) Total: -1511 bytes
2006-08-20 17:35:13 +00:00
Rob Landley
d921b2ecc0
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
...
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes... General cleanup pass. What I've
been doing for the last couple days.
And it conflicts! I've removed httpd.c from this checkin due to somebody else
touching that file. It builds for me. I have to catch a bus. (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
Rob Landley
4795e4e011
Rich Filker spotted that sed -e 's/xxx/[/' didn't work right. Did a smaller
...
fix than his, and shrank the code a bit on top of that so the net size is
smaller, and added a test to the test suite for this case. Plus I cleaned up
the #includes and removed unnecessary "const"s while I was there.
2006-07-26 17:25:08 +00:00
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +00:00
"Robert P. J. Day"
68229837ff
Remove all usage of the "register" storage class specifier.
2006-07-01 13:08:46 +00:00
Rob Landley
ea7c18514b
Fix http://bugs.busybox.net/view.php?id=826 in which "(echo; echo) | sed x"
...
crashes because the empty state of the hold space is NULL but the empty
state of the pattern space is "".
2006-06-28 13:50:59 +00:00
Rob Landley
768945b762
A few patches from Erik Hovland, turning strncpy() into safe_strncpy() and
...
removing some unnecessary code.
2006-06-25 00:34:52 +00:00
Rob Landley
e5e1a10cd3
Remove pointless "inline" wrapper around get_terminal_width_height().
2006-06-21 01:15:36 +00:00
Rob Landley
2d6af16035
Zubicaray reported a bug in vi that causes it to eat 100% cpu when you close
...
an xterm it's running in. The vi signal behavior would catch and restarts lots
of signals, like SIGHUP, that should just kill the thing. (Leftover behavior
from when it would segfault all the time.) Filtered out the more obviously
bad ones. If it segfaults, we should find and fix the problem.
2006-06-21 00:52:31 +00:00
Bernhard Reutner-Fischer
1e23b6fdb5
- make sure that we see string_insert only if we need it.
2006-06-09 07:12:27 +00:00
Bernhard Reutner-Fischer
19008b8373
- reuse strings and messages. Saves about 600B
2006-06-07 20:17:41 +00:00
Rob Landley
12d87550a3
Confirming it's not needed.
2006-06-05 17:32:44 +00:00
Bernhard Reutner-Fischer
a3d4bf38b0
- use bb functions instead of handrolling stuff.
...
- add XXX question about supposedly superfluous else clause
text data bss dec hex filename
5918 0 0 5918 171e editors/sed.o.orig
5901 0 0 5901 170d editors/sed.o
2006-06-03 21:40:11 +00:00
Rob Landley
299a6b4d7b
Consolidate #include <sys/time.h> so libbb.h does it.
2006-05-27 21:42:58 +00:00
Rob Landley
8bb50782a5
Change llist_add_* to take the address of the list rather than returning the new
...
head, and change all the callers.
2006-05-26 23:44:51 +00:00
Rob Landley
5fc467e758
Yann Morin spotted some leftover flotsam from halfway through the recent
...
llist.c interface change that accidentally got checked in. My bad.
2006-05-24 17:45:47 +00:00
Rob Landley
9ffd42317b
Minor cleanups: Convert a few calloc() calls to xzalloc, remove unnecessary
...
memset, collate variable declarations...
2006-05-21 18:30:35 +00:00
Bernhard Reutner-Fischer
a254065e63
- remove SIGIOT as suggested by landley.
2006-05-19 17:54:05 +00:00
Bernhard Reutner-Fischer
4009ed91f7
- Rich Felker writes:
...
SIGIOT is not defined in any standard i can find and it seems to be
useless (alias for SIGABRT) on linux. i put it in #ifdef but it's
probably best just to remove it and cut down the size a bit.
2006-05-19 12:41:13 +00:00
Bernhard Reutner-Fischer
d9ed35c8b9
- remove superfluous legacy includes.
...
This applet should be converted to use llist; __NEED_DLLIST
2006-05-19 12:38:30 +00:00
Bernhard Reutner-Fischer
a2a647dfc1
- include strings.h
...
Thanks to Rich Felker for pointing this out.
2006-05-19 12:30:00 +00:00
Mike Frysinger
39440e520c
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:09 +00:00
Rob Landley
e3f5a3fd82
Convert sed's static variables to a single global structure.
2006-05-09 03:53:55 +00:00
Rob Landley
0b65628395
Move sed over to the generic llist_t for append. Saves about 90 bytes.
2006-05-08 22:17:23 +00:00
Rob Landley
baa89b398d
Patch to fix bug 868, and some related cleanup while I was in the area.
...
A tab is now taken as the end of filename if it's there, but if it isn't
(because the timestamp isn't there) we continue with the existing untruncated
line as the filename.
2006-05-07 21:10:06 +00:00
Rob Landley
a389651115
Remove bb_strlen() in favor of -fno-builtin-strlen. Saves as many bytes
...
as the old optimization did (actually does slightly better under gcc 4.0), and
simplifies the code.
2006-05-07 20:20:34 +00:00
Rob Landley
3b89039c25
It was sitting there, in the patches directory, for years. It was delete it
...
or apply it. It's small, simple, evil, part of SUSv3, and we can switch it
off.
2006-05-04 20:56:43 +00:00
Mike Frysinger
4b7b8a58a1
touchup comment
2006-04-16 05:55:15 +00:00
Rob Landley
2ec922eed5
Patch from Robert P Day: let menuconfig indent stuff for us, we don't have
...
to do it in Config.in.
2006-04-13 23:22:16 +00:00
Paul Fox
b7b24d61e0
adjust ifdefs for inclusion of string_insert() routine
2006-04-05 14:17:24 +00:00
Paul Fox
f0305b7f75
fix behavior of ZZ, with respect to readonly mode(s). original
...
patch and report from Alexander Griesser.
2006-03-28 14:18:21 +00:00
Paul Fox
9360f42d32
add support for :wn (initial patch from Alexander Griesser)
2006-03-27 21:51:16 +00:00
Paul Fox
dbf935dae6
drop obsolete version string in favor of actual BB version (from
...
Bernhard Fischer)
2006-03-27 20:29:33 +00:00
Bernhard Reutner-Fischer
df10094870
- revert back to r14406
2006-03-13 19:04:00 +00:00
Rob Landley
bc68cd14cc
Patch from Denis Vlasenko turning static const int (which gets emitted into
...
the busybox binary) into enums (which don't).
2006-03-10 19:22:06 +00:00
Rob Landley
1f305dc0fd
Portability patch from rfelker. The bb_asprintf.c thing needs an eventual
...
follow up in platform.h to set the #ifdef, but the workaround works for
everybody, so...
2006-03-09 22:21:20 +00:00
Bernhard Reutner-Fischer
07a79e75f5
- backout using features which are not available with the previous stable
...
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Rob Landley
dfba741457
Robert P. Day removed 8 gazillion occurrences of "extern" on function
...
definitions. (That should only be on prototypes.)
2006-03-06 20:47:33 +00:00
Bernhard Reutner-Fischer
022eb311d5
- use absolute path for top_builddir and top_srcdir.
...
Fixes make trying to include the very same file in an endless loop.
2006-03-02 17:33:25 +00:00
Bernhard Reutner-Fischer
c0bb308389
- silence warning about "'free_and_close_stuff' used but never defined"
2006-03-02 10:06:22 +00:00
Bernhard Reutner-Fischer
5d26126b9e
- fixes parallel builds (make -j)
...
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Bernhard Reutner-Fischer
b7f39732f8
- fix compilation of sed.
...
error: static declaration of 'free_and_close_stuff' follows non-static declaration
Tiny whitespace cleanup while at it,
also make sure that we don't use CONFIG_ anymore.
Rob, hope this is ok w/ you..
2006-03-01 20:14:16 +00:00
Rob Landley
e7c43b66d7
Cleanup patch from Denis Vlasenko. Mostly variants of removing the if(x)
...
from before "if(x) free(x)".
2006-03-01 16:39:45 +00:00
Rob Landley
2b26fd5570
A few changes falling out from the effort to make sed handle embedded NUL bytes.
...
Checking in to reduce the diff between my tree and svn...
2006-02-24 02:30:39 +00:00
Rob Landley
d6e14d8bee
Don't build directory libraries unless we're building an applet that needs it.
...
Cherry-picked from Devin Bayer's big MacOS X patch.
2006-02-21 19:11:35 +00:00
Rob Landley
46e351d478
Patch from awk maintainer (Dmitry Zakhrov) to fix bugs 642, 663, and 667.
2006-02-14 16:05:32 +00:00
Mike Frysinger
b38673fb9f
make the build system puuuuuuuuuuurty
2006-02-02 01:41:53 +00:00
"Vladimir N. Oleynik"
dfe6e74157
changed strange mix signed<->unsigned
2006-01-31 09:44:04 +00:00
Eric Andersen
a68ea1cb93
fix up yet more annoying signed/unsigned and mixed type errors
2006-01-30 22:48:39 +00:00
Eric Andersen
5e678873f9
clean up yet more annoying signed/unsigned mismatches and fixup
...
yet more incorrect types
2006-01-30 19:48:23 +00:00
"Vladimir N. Oleynik"
cd473dd0c1
removed warning "comparison between signed and unsigned". Added ATTRIBUTE_UNUSED. Whitespace
2006-01-30 13:41:53 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Bernhard Reutner-Fischer
86f5c9906b
- add platform.h.
...
- use shorter boilerplate while at it.
2006-01-22 22:55:11 +00:00
Bernhard Reutner-Fischer
7ca61b6f33
- shared libbusybox.
...
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
Rob Landley
5184336647
Bug 112, return value of awk should be /256. In reality, we should probably
...
be using WEXITSTATUS(), but until I can figure out why the heck that would
want to do (*(int *) &(status)) on the value, I'm happy just fixing the bug we
actually see.
2006-01-09 05:26:58 +00:00
Paul Fox
d957b9537e
fix bug #474 :
...
0000474: vi crashes often
problem was that the buffer used for "." command ("last_modifying_cmd")
wasn't being maintined correctly -- the recording code was walking back
over the front of that buffer when a repeatable insert command
included backspacing (e.g. "i\b\b\bfoo"). the fix is to simply
record the backspaces along with the rest of the command.
also, cleaned up start_new_cmd_q() slightly.
2005-11-28 18:07:53 +00:00
Rob Landley
fae1dc8620
Support # comments after s/// option list.
2005-11-20 07:44:35 +00:00
Rob Landley
c63fe9137f
\0 is a synonym for &. Our own "make allbaseconfig" breaks without this.
2005-10-30 10:08:13 +00:00
Bernhard Reutner-Fischer
ee9cf48620
- correct boilerplate
...
- use bb_xgetlarg for the patch_level to catch invalid arguments.
2005-10-27 06:59:05 +00:00
"Vladimir N. Oleynik"
5cf9a03b3f
more const, attribute_noreturn saved 200 bytes
2005-10-19 09:21:51 +00:00
Bernhard Reutner-Fischer
bb20462cb3
- consume space between functionname and opening brackets
...
Fixes Rob's issue using busybox awk for building gcc-4_0 optionlist (http://busybox.net/lists/busybox/2005-October/016659.html )
2005-10-17 14:21:06 +00:00
"Vladimir N. Oleynik"
6f347ef9dc
common BUFSIZ BSS buffer, small reduce code, data and bss
2005-10-15 10:23:55 +00:00
Bernhard Reutner-Fischer
554a9ff7ea
- do not use bb_xgetularg10_bnd as a lower value of -1 doesn't work due to lowe
...
being unsigned.
- minor correction: use stdin only when no file was given via -i.
- use shorter boilerplate.
2005-10-10 13:34:19 +00:00
Paul Fox
61e45dbb2f
catch and report errors from file_write()
2005-10-09 14:43:22 +00:00
Paul Fox
90372ed51a
make Hit_Return() available when CONFIG_FEATURE_VI_COLON is off. it's
...
needed elsewhere as well now.
2005-10-09 14:26:26 +00:00
"Vladimir N. Oleynik"
ba248206fe
change strange depend to libbb.h, but require busybox.h
2005-10-06 15:18:09 +00:00
Mike Frysinger
f87b3e30a7
as pointed out in Bug 17, use uint32_t instead of unsigned long since the code expects the size of the info variables to be 32bits and sizeof(long) on 64bit hosts is not 32bits
2005-09-27 04:16:22 +00:00
Mike Frysinger
de2b93859c
eat misappropriated whitespace
2005-09-27 03:18:00 +00:00
Mike Frysinger
10a11e23ba
uncuddle function scope brackets
2005-09-27 02:23:02 +00:00
Mike Frysinger
62f18e1f20
use the shorter license header
2005-09-24 07:16:29 +00:00
Mike Frysinger
0d4ee68be5
use brief license line
2005-09-24 06:01:57 +00:00
Paul Fox
c350485b18
initialize a couple of vars whose warnings were suppressed because
...
i was building w/ debug on before, which suppresses optimization.
2005-09-16 12:48:18 +00:00
Paul Fox
8552aec7fd
some combinations of status line and screen refresh don't give a
...
correct screen, and bug 215 reports trouble with the status line
on small screens.
with this change a) the status line should always be refreshed
properly, b) the status line is a little shorter than it used to
be ("I" instead of "--INSERT--"), c) the status line will be
truncated if it doesn't fit on the screen, and d) if the screen
is too narrow for an error or transient status message (from
psb() or psbs()), then that message will be followed by a "Hit
Return" prompt. (it wasn't until i did this last bit that the
size grew. with this, these changes add about 150 bytes.)
- pgf
2005-09-16 12:20:05 +00:00
"Vladimir N. Oleynik"
23f62fc6f3
split libbb: moved xregcomp separatelly for speed up recompile
2005-09-14 16:59:11 +00:00
"Vladimir N. Oleynik"
b4f3cff6f5
removed strange extern void xregcomp(... from some applets, but declared from libbb.h
2005-09-14 16:22:50 +00:00
Paul Fox
f2de0b7ae4
allow either backspace or DEL, in addition to the user's erase
...
char, to be used in get_input_line()
2005-09-13 22:20:37 +00:00
Rob Landley
babd3fbba6
Missing break was screwing up 'y//' command. Bug #248 .
2005-09-02 00:10:06 +00:00
Rob Landley
078bacf1e9
Patch -i support from Berhnard Fischer.
2005-09-01 03:02:23 +00:00
Mike Frysinger
4d00896d05
use toplevel ARFLAGS and update default ARFLAGS to be quiet
2005-07-27 01:09:24 +00:00
Paul Fox
18433aadf6
applying fix for:
...
0000118: vi join command does not mark file as modified for certain lines.
2005-07-20 17:39:52 +00:00
Paul Fox
d13b90b9e8
allow both ^H and DEL to backspace in insert mode (bug #23 )
2005-07-18 22:17:25 +00:00
Eric Andersen
0ef24c672a
Fix vi so that error messages, insert mode messages, etc are
...
all actually displayed in the status line as expected
2005-07-18 10:32:59 +00:00
Rob Landley
ed830e8693
Patch from Dmitry Zakharov:
...
Charlie Brady wrote:
> Here's another awk parsing problem - unary post increment - pre is fine:
>
>bash-2.05a$ echo 2,3 | gawk -F , '{ $2++ }'
>bash-2.05a$ echo 2,3 | /tmp/busybox/busybox awk -F , '{ $2++ }'
>awk: cmd. line:1: Unexpected token
>
Here's a fix for this. There is another problem with constructions like
"print (A+B) ++C", I don't
know whether somebody uses such constructions (fixing both these
problems would require very
serious change in awk code).
2005-06-07 02:43:52 +00:00
Rob Landley
93850a56b2
Patch from Colin Watson (mangled slightly by Rob Landley):
...
This patch implements the 'T' command in sed. This is a GNU extension,
but one of the udev hotplug scripts uses it, so I need it in busybox
anyway.
Includes a test; 'svn add testsuite/sed/sed-branch-conditional-inverted'
after applying.
2005-05-18 06:34:37 +00:00
Rob Landley
5797c7f0ef
Doug Swarin pointed out a security bug in the -i option of sed.
...
While the permissions on the temp file are correct to prevent it from being
maliciously mangled by passing strangers, (created with 600, opened O_EXCL,
etc), the permissions on the _directory_ might not be, and we re-open the
file to convert the filehandle to a FILE * (and automatically get an error
message and exit if the directory's read-only or out of space or some such).
This opens a potential race condition if somebody's using dnotify on the
directory, deletes/renames the tempfile, and drops a symlink or something
there. Somebody running sed -i as root in a world writeable directory could
do damage.
I dug up notes on an earlier discussion where we looked at the security
implications of this (unfortunately on the #uclibc channel rather than email;
I don't have a transcript, just notes-to-self) which pointed out that if the
permissions on the directory allow other people's files to be deleted/renamed
then the original file is vulnerable to sabotage anyway. However, there are
two cases that discussion apparently didn't take into account:
1) Using another user's permissions to damage files in other directories you
can't access (standard symlink attack).
2) Reading data another user couldn't otherwise access by having the new file
belong to that other user.
This patch uses fdopen to convert the filehandle into a FILE *, rather than
reopening the file.
2005-05-18 05:56:16 +00:00
Eric Andersen
14f5c8d764
Patch from Bernhard Fischer to make a bunch of symbols static
...
which were otherwise cluttering the global namespace.
2005-04-16 19:39:00 +00:00
Mike Frysinger
4e5936ef95
In Bug 208, bernhardf writes:
...
On machines with only ANSI compliant compilers, not explitily delcaring
an empty parameter list 'void' causes failure.
2005-04-16 04:30:38 +00:00
Rob Landley
dcc286607c
Hiroshi found another bug. Currently sed's $ triggers at end of every file,
...
and with multiple files SuSv3 says it should only trigger at the end of the
LAST file.
The trivial fix I tried first broke if the last file is empty. Fixing this
properly required restructuring things to create a file list (actually a
FILE * list), and then processing it all in one go. (There's probably a
smaller way to do this, merging with append_list perhaps. But let's get
the behavior correct first.)
Note that editing files in place (-i) needs the _old_ behavior, with $
triggering at the end of each file.
Here's a test of all the things this patch fixed. gnu and busybox seds produce
the same results with this patch, and different without it.
echo -n -e "1one\n1two\n1three" > ../test1
echo -n > ../test2
echo -e "3one\n3two\n3three" > ../test3
sed -n "$ p" ../test1 ../test2 ../test3
sed -n "$ p" ../test1 ../test2
sed -i -n "$ p" ../test1 ../test2 ../test3
2004-11-25 07:21:47 +00:00
Rob Landley
ce4f0e982b
Hiroshi Ito found some bugs. The 'c' command (cut and paste) was hardwired
...
to not put a newline at the end (which was backwards, it should have been
hardwired _to_ put a newline at the end, whether or not the input line
ended with a newline). Test case for that:
echo | sed -e '$ctest'
And then this would segfault:
echo | sed -e 'g'
Because pattern_space got freed but the dead pointer was only overwritten
in an if statement that didn't trigger if the hold space was empty. Oops.
While debugging it, I found out that the hold space is persistent between
multiple input files, so I promoted it to a global and added it to the
memory cleanup. The relevant test case (to compare with That Other Sed) is:
echo -n woo > woo
sed -e h -e g woo
echo "fish" | sed -e '/woo/h' -e "izap" -e 's/woo/thingy/' -e '/fish/g' woo -
And somebody gratuitously stuck in a c99 int8_t type for something that's just
a flag, so I grouped the darn ints.
2004-10-30 06:54:19 +00:00
Eric Andersen
7daa076d3e
egor duda writes:
...
Hi!
I've created a patch to busybox' build system to allow building it in
separate tree in a manner similar to kbuild from kernel version 2.6.
That is, one runs command like
'make O=/build/some/where/for/specific/target/and/options'
and everything is built in this exact directory, provided that it exists.
I understand that applyingc such invasive changes during 'release
candidates' stage of development is at best unwise. So, i'm currently
asking for comments about this patch, starting from whether such thing
is needed at all to whether it coded properly.
'make check' should work now, and one make creates Makefile in build
directory, so one can run 'make' in build directory after that.
One possible caveat is that if we build in some directory other than
source one, the source directory should be 'distclean'ed first.
egor
2004-10-08 07:46:08 +00:00
Glenn L McGrath
ca29ffc206
Patch from Dmitry Zakharov to fix a bug triggered by freeswan's scripts.
2004-09-24 09:24:27 +00:00
Eric Andersen
a9eb33ddc7
regularly update the status line display
...
-Erik
2004-08-19 19:15:06 +00:00
Eric Andersen
67776bef59
Simon Poole reports that awk segfaults when environment variables
...
with no value exist, i.e.
$ export BOB=''
% ./busybox awk
Segmentation fault
This patch teaches awk to not blow chunks on empty env variables.
-Erik
2004-07-30 23:52:08 +00:00
Glenn L McGrath
1fbc909570
Patch from Dmitry Zakharov to fix a bug discovered via the freeswap
...
script.
2004-07-23 02:11:25 +00:00
Eric Andersen
165e8cbf34
Assign 'forced' before the goto to avoid a warning
2004-07-20 06:44:46 +00:00
Eric Andersen
9855548a77
Rob Landley writes:
...
add sed -r support.
I bumped into a couple of things that want to use extended regular expressions
in sed, and it really isn't that hard to add. Can't say I've extensively
tested it, but it's small and isn't going to break anything that doesn't use
it, so...
Rob
2004-05-26 10:03:33 +00:00
Glenn L McGrath
21d7d61de1
Use int instead of char for return type, in theory avoiding a cast
2004-05-16 02:35:49 +00:00
Glenn L McGrath
5d2edbf16d
Fix for debian bug #248106 , should use int for returned getopt value.
2004-05-10 08:59:17 +00:00
Glenn L McGrath
c6992feee3
Update my email address, document some of my tasks in the AUTHORS file
2004-04-25 05:11:19 +00:00
Eric Andersen
b94669543d
This sed patch can only be described as "duh". Stat the source file, chmod
...
the _destination_ file. (Ah hah! That works _much_ better...) I
implemented the behavior, I just forgot to test this corner of it. My fault,
sorry...
No, gnu sed -i doesn't preverve ownership information. I checked.
Permissions, yes, ownership info, no.
Rob
2004-04-21 00:57:14 +00:00
Eric Andersen
faa7d863fc
So I'm building a linux from scratch system, using a working script to do this
...
that the _only_ change to is that gnu sed has been replaced with busybox sed.
And ncurses' install phase hangs. I trace it down, and it's trying to run
gawk. (Insert obligatory doubletake, but this is FSF code we're talking
about, so...)
It turns out gawk shells out to sed, ala "sed -f /tmp/blah file.h". The
/tmp/blah file is basically empty (it contains one character, a newline). So
basically, gawk is using sed as "cat". With gnu sed, it works like cat,
anyway.
With busybox sed, it tests if its command list is empty after parsing the
command line, and if the list is empty it takes the first file argument as a
sed command string, and if that leaves the file list empty it tries to read
the data to operate on from stdin. (Hence the hang, since nothing's coming
in on stdin...)
It _should_ be testing whether there were any instances of -f or -e, not
whether it actually got any commands. Using sed as cat may be kind of
stupid, but it's valid and gawk relies on this behavior.
Here's a patch to fix it, turning a couple of ints into chars in hopes of
saving a bit of the space this adds. Comments?
Rob
2004-04-21 00:56:22 +00:00
Eric Andersen
aff114c33d
Larry Doolittle writes:
...
This is a bulk spelling fix patch against busybox-1.00-pre10.
If anyone gets a corrupted copy (and cares), let me know and
I will make alternate arrangements.
Erik - please apply.
Authors - please check that I didn't corrupt any meaning.
Package importers - see if any of these changes should be
passed to the upstream authors.
I glossed over lots of sloppy capitalizations, missing apostrophes,
mixed American/British spellings, and German-style compound words.
What is "pretect redefined for test" in cmdedit.c?
Good luck on the 1.00 release!
- Larry
2004-04-14 17:51:38 +00:00
Rob Landley
25d82397f7
The last patch broke:
...
sed -i "/^boo/a fred" ipsec.conf
Which works in gnu sed. (And is _supposed_ to strip all the whitespace before
"fred".)
It also broke:
sed -i -e "/^boo/a \\" -e " fred" ipsec.conf
I.E. there can legally be spaces between the a and the backslash at the end of
the line.
And strangely enough, gnu sed accepts the following syntax as well:
sed -i "/^boo/a \\ fred" ipsec.conf
Which is a way of having the significant whitespace at the start of the line,
all on one line. (But notice that the whitespace BEFORE the slash is still
stripped, as is the slash itself. And notice that the naieve placement of
"\n" there doesn't work, it puts an n at the start of the appended line. The
double slashing is for shell escapes because you could escape the quote, you
see. It's turned into a single backslash. But \n there is _not_ turned into
a newline by the shell. So there.)
This makes all three syntaxes work in my tests. I should probably start
writing better documentation at some point. I posted my current sedtests.py
file to the list, which needs a lot more tests added as well...
2004-04-01 09:23:30 +00:00
Eric Andersen
46390ed829
Junio Hamano, junio at twinsun dot com writes:
...
The sed command in busybox 1.0.0-pre8 loses leading whitespace
in 'a' command ('i' and 'c' commands are also affected). A
patch to fix this is attached at the end of this message.
The following is a transcript that reproduces the problem. The
first run uses busybox 1.0.0-pre3 as "/bin/sed" command, which
gets the expected result. Later in the test, /bin/sed symlink
is changed to point at busybox 1.0.0-pre8 and the test script is
run again, which shows the failure.
=== reproduction recipe ===
* Part 1. Use busybox 1.0.0-pre3 as sed; this works.
root# cd /tmp
root# cat 1.sh
#!/bin/sh
cd /tmp
rm -f ipsec.conf ipsec.conf+
cat >ipsec.conf <<\EOF
version 2.0
config setup
klipsdebug=none
plutodebug=none
plutostderrlog=/dev/null
conn %default
keyingtries=1
...
EOF
sed -e '/^config setup/a\
nat_traversal=yes' ipsec.conf >ipsec.conf+
mv -f ipsec.conf+ ipsec.conf
root# sh -x 1.sh
+ cd /tmp
+ rm -f ipsec.conf ipsec.conf+
+ cat
+ sed -e /^config setup/a\
nat_traversal=yes ipsec.conf
+ mv -f ipsec.conf+ ipsec.conf
root# cat ipsec.conf
version 2.0
config setup
nat_traversal=yes
klipsdebug=none
plutodebug=none
plutostderrlog=/dev/null
conn %default
keyingtries=1
...
root# sed --version
sed: invalid option -- -
BusyBox v1.00-pre3 (2004.02.26-18:47+0000) multi-call binary
Usage: sed [-nef] pattern [files...]
* Part 2. Continuing from the above, use busybox 1.0.0-pre8
as sed; this fails.
root# ln -s busybox-pre8 /bin/sed-8
root# mv /bin/sed-8 /bin/sed
root# sed --version
This is not GNU sed version 4.0
root# sed --
BusyBox v1.00-pre8 (2004.03.30-02:44+0000) multi-call binary
Usage: sed [-nef] pattern [files...]
root# sh -x 1.sh
+ cd /tmp
+ rm -f ipsec.conf ipsec.conf+
+ cat
+ sed -e /^config setup/a\
nat_traversal=yes ipsec.conf
+ mv -f ipsec.conf+ ipsec.conf
root# cat ipsec.conf
version 2.0
config setup
nat_traversal=yes
klipsdebug=none
plutodebug=none
plutostderrlog=/dev/null
conn %default
keyingtries=1
...
root#
=== reproduction recipe ends here ===
This problem was introduced in 1.0.0-pre4. The problem is that
the command argument parsing code strips leading whitespaces too
aggressively. When running the above example, the piece of code
in question gets "\n\tnat_traversal=yes" as its argument in
cmdstr variable (shown part in the following patch). What it
needs to do at this point is to strip the first newline and
nothing else, but it instead strips all the leading whitespaces
at the beginning of the string, thus losing the tab character.
The following patch fixes this.
2004-03-31 11:42:40 +00:00
Eric Andersen
90fb65f7a6
Patch from Thomas Winkler -- vi -R did not work
2004-03-31 11:12:51 +00:00
Eric Andersen
c7bda1ce65
Remove trailing whitespace. Update copyright to include 2004.
2004-03-15 08:29:22 +00:00
Glenn L McGrath
4bded58207
Patch from Dmitry Zakharov, this line was missedfrom the last patch
2004-02-22 11:55:09 +00:00
Rob Landley
53302f80da
Add -i option to sed, to edit files in-place.
2004-02-18 09:54:15 +00:00
Eric Andersen
5cc90eade5
Richard Kojedzinszky writes:
...
Hi All,
I aplogoize for the mistake, but i have just recognized that somehow the
last patch I sent in was wrong, and a '0' was instead of a '-1'. Because
of this, vi does behave the wrong way. So again, it should be the last
patch for vi. This is for pre7.
2004-02-06 10:36:08 +00:00
Eric Andersen
aeea32ca69
Richard Kojedzinszky writes:
...
Hi,
I've noticed the bug also, and here is another patch for it. I hope it'll
not introduce more bugs. Not too nice, but works for me.
Here it is for busybox-1.00-pre6
2004-02-04 11:19:44 +00:00
Eric Andersen
c06f568dda
Rob Landley writes:
...
While building glibc with busybox as part of the development environment, I
found a bug in glibc's regexec can throw sed into an endless loop. This
fixes it. Should I put an #ifdef around it or something? (Note, this patch
also contains the "this is not gnu sed 4.0" hack I posted earlier, which is
also needed to build glibc...)
2004-02-04 10:57:46 +00:00
Glenn L McGrath
ee829065cb
Patch by Richard Kojedzinszky, when using END at end of lines it was
...
skipping to next line, cw command was leaving one char in buffer
2004-01-21 10:59:45 +00:00
Rob Landley
40ec4aeb8e
Thinko in s//options. (Whitespace skipping in the wrong place.)
2004-01-04 06:42:14 +00:00
Eric Andersen
d10f36fe2e
Match changes made to cmdedit
2003-12-23 20:45:14 +00:00
Eric Andersen
52a3c2726e
Patch from Matt Kraai:
...
sed is broken:
busybox sed -n '/^a/,/^a/p' >output <<EOF
a
b
a
b
EOF
cmp -s output - <<EOF
a
b
a
EOF
The attached patch fixes it.
2003-12-23 08:53:51 +00:00
Glenn L McGrath
00ed36fd52
Patch from Dmitry Zakharov,
...
Fixes two bugs:
- END block didn't execute after an exit() call
- huge memory consumption and performance degradation on large input
(now performance is comparable to gawk)
2003-10-30 13:36:39 +00:00
Eric Andersen
88c916bdec
Andreas Mohr writes:
...
the busybox menuconfig triggered my "inacceptable number of spelling mistakes"
upper level, so I decided to make a patch ;-)
I also improved some wording to describe some things in a better way.
Many thanks for an incredible piece of software!
Andreas Mohr, random OSS developer
2003-10-22 09:58:56 +00:00
Eric Andersen
638da75f4b
Fix some warnings that have crept in recently
2003-10-09 08:18:36 +00:00
Glenn L McGrath
586d86cc8c
Comaptability with gcc-2.95
2003-10-09 07:22:59 +00:00
Glenn L McGrath
42c25735e6
Patch from Rob Landley;
...
Moving on to building diffutils, busybox sed needs this patch to get
past the first problem. (Passing it a multi-line command line argument
with -e works, but if you don't use -e it doesn't break up the multiple
lines...)
2003-10-04 05:27:56 +00:00
Glenn L McGrath
0ad4daa54e
Patch from Rob Landley to fix backrefs
2003-10-01 10:26:23 +00:00
Glenn L McGrath
738fb33994
Patch by Rob Landley, fix "newline after edit command"
2003-10-01 06:45:11 +00:00
Glenn L McGrath
aa5a602689
Patch by Rob Landley, work in progress update, fixes lots of bugs,
...
introduces a few others (but they are being worked on)
2003-10-01 03:06:16 +00:00
Glenn L McGrath
761ec20f81
Fix some typo's, remove some extra free statements
2003-09-24 10:23:39 +00:00
Glenn L McGrath
2570b43e82
Configuration option to define wether to follows GNU sed's behaviour
...
or the posix standard.
Put the cleanup code back the way it was.
2003-09-16 05:25:43 +00:00
Glenn L McGrath
204ff1cea4
Fix a bug that creapt in recently with substitution subprinting, and add
...
a test for it.
2003-09-16 01:46:36 +00:00
Glenn L McGrath
977451ef44
Fix a simple mistake with pattern space, and add a test for it
2003-09-15 12:07:48 +00:00
Glenn L McGrath
e3e28d3bb6
Fix some memory allocation problems
...
----------------------------------------------------------------------
2003-09-15 09:22:04 +00:00
Eric Andersen
8efe967018
Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
...
to ensure proper fallback behavior on, i.e. serial consoles.
-Erik
2003-09-15 08:33:45 +00:00
Glenn L McGrath
2eed0e2d47
Add a test for the 'P' command and fix current implementation so it
...
doesnt permanently modify the pattern space.
2003-09-15 06:28:45 +00:00
Glenn L McGrath
6e5687abc3
A test and fix for the sed 'n' command
2003-09-15 06:12:53 +00:00
Glenn L McGrath
73116311e5
Fix for the sed-append-next-line test
2003-09-15 05:42:05 +00:00
Glenn L McGrath
640c1f547f
Fix recursion problem
2003-09-15 04:55:29 +00:00
Glenn L McGrath
294d113adb
Memory cleanups and fix for echo "foo" | sed 's/foo/bar/;H;q'
2003-09-14 16:28:08 +00:00
Glenn L McGrath
8417c8c38b
Cleanup memory usage
2003-09-14 15:24:18 +00:00
Glenn L McGrath
edc388cf4e
The previous fix for 's/a/1/;s/b/2/;t one;p;:one;p' broke the case of
...
echo fooba | ./busybox sed -n 's/foo//;s/bar/found/p'
I really need to start adding these tests to the testsuite.
keep the substituted and altered flags seperate
2003-09-14 08:52:53 +00:00
Glenn L McGrath
3fe475677a
Preserve substitution flag value within the current line.
...
Fixed the following testcase
# cat strings |./busybox sed -n -f test3.sed
1
1
2
c
c
# cat strings
a
b
c
2003-09-14 07:59:28 +00:00
Glenn L McGrath
f4523562b6
Fix branching commands.
...
If a label isnt specified, jump to end of script, not the last command
in the script.
Print an error and exit if you try and jump to a non-existant label
Works for the following testcase
# cat strings
a
b
c
d
e
f
g
# cat strings | ./busybox sed -n '/d/b;p'
a
b
c
e
f
g
2003-09-14 06:01:14 +00:00
Glenn L McGrath
8aac05bfe5
Patch from Rob Landley
...
Fixed a memory leak in add_cmd/add_cmd_str by moving the allocation
of sed_cmd down to where it's actually first needed.
In get_address, if index_of_next_unescaped_regexp_delim ever failed, we
wouldn't notice because the return value was added to idx, which was
already guaranteed to be > 0. (This is buried in the changes made when
I redid get_address to be based on pointer arithmetic, because all the tests
were gratuitously dereferencing with a constant zero, which wasn't obvious.)
Comment in parse_regex_delim was wrong: 's' and 'y' both call it.
The reason "sed_cmd->num_backrefs = 0;" isn't needed is that sed_cmd was
allocated with cmalloc, which zeroes memory.
Different handling of space after \ in i...
Different handling of pattern "s/a/b s/c/d"
Cool, resursive reads don't cause a crash. :)
Fixed "sed -f blah filename - < filename" since GNU sed was handling
both - and filenames on the same line. (You can even list - more than
once, although it's immediate EOF...)
2003-09-14 04:06:12 +00:00
Glenn L McGrath
7c59a83a77
Stupid typo
2003-09-14 02:37:46 +00:00
Glenn L McGrath
4dc1d25a30
Fix some memory allocation problems
2003-09-14 01:25:31 +00:00
Glenn L McGrath
f36635cec6
Fix the following testcase by disabling global substitution if the regex
...
is anchored to the start of line, there can be only one subst.
echo "aah" | sed 's/^a/b/g'
2003-09-13 15:12:22 +00:00
Glenn L McGrath
c18ce373a2
Fix the following testcase by storing the state of the adress match with
...
the command.
# cat strings
a
b
c
d
e
f
g
# ./busybox sed '1,2d;4,$d' <strings
c
# ./busybox sed '4,$d;1,2d' <strings
# sed '4,$d;1,2d' <strings
c
# sed '1,2d;4,$d' <strings
c
2003-09-13 06:57:39 +00:00
Glenn L McGrath
9b04f1841e
Fix the substitution print subcommand, it should only print if its
...
own substitution matched, not previous ones.
e.g
echo fooba | sed -n 's/foo//;s/bar/found/p'
shouldnt print anything
2003-08-30 04:35:07 +00:00
Eric Andersen
9c3c38da55
Patch from Terje Kvernes adding quite a lot of missing documentation
2003-07-22 09:59:34 +00:00
Eric Andersen
cb81e6484d
Update a bunch of docs. Run a script to update my email addr.
2003-07-14 21:21:08 +00:00
Eric Andersen
e5642119ee
Patch from Thomas Cameron:
...
Hello all,
This patch adds more "Help" text to the config system. Almost
all applets now have a help entry. Also, I cleaned up the spacing of
the existing text so that things are consistent. This patch is against
this morning's CVS.
Thomas Cameron
CEI Systems, Inc.
2003-07-14 19:37:08 +00:00
Eric Andersen
65e20a33c2
Patch from Kent Robotti adding a bunch of needed docs!
...
-Erik
2003-07-05 07:52:35 +00:00
Glenn L McGrath
655d814d75
New applet: patch, applies a unified diff
2003-06-22 15:32:41 +00:00
Glenn L McGrath
91e1978ff0
New commands, 'G' and 'H'
2003-04-26 07:40:07 +00:00
Glenn L McGrath
fc4cb4dbb5
Fix logic error in grouped commands
2003-04-12 16:10:42 +00:00
Glenn L McGrath
d4185b0e15
Fix up indenting
2003-04-11 17:10:23 +00:00
Glenn L McGrath
d7fe39b587
Really fix the 'r' command
2003-04-09 15:52:32 +00:00
Glenn L McGrath
d87a7ac269
Fix the sed 'r' command
2003-04-09 15:26:14 +00:00
Glenn L McGrath
2410386611
fix substitution when replacing with &, we shouldnt check for an escape charcter. Its already been taken care of _somewhere_ else
2003-04-09 07:51:43 +00:00
Glenn L McGrath
bd9b32bc0d
Label ends at a newline, update comments, rename linked list field
2003-04-09 01:43:54 +00:00
Glenn L McGrath
8d6395d41a
Run through indent
2003-04-08 11:56:11 +00:00
Glenn L McGrath
c1d95076f0
Fixes block commands to correctly identify end of block, recognise the #n directive, fix substitue command when regex isnt specified
2003-04-08 06:42:45 +00:00
Glenn L McGrath
7ce9e247f0
Add hold space commands 'g', 'h', 'x'
2003-04-07 16:04:14 +00:00
Glenn L McGrath
c6adada158
Rename "line" to pattern_space to be more descriptive and closer to the POSIX description
2003-04-07 12:24:44 +00:00
Glenn L McGrath
9a52bb6878
Group common string
2003-03-30 09:38:40 +00:00
Glenn L McGrath
30b47df86b
Small fix for sed 'y' command
2003-03-30 08:40:09 +00:00
Glenn L McGrath
f01b46d7dd
sed 'y' command, simplify some other code
2003-03-30 08:02:18 +00:00
Glenn L McGrath
0c51832b60
Experimental support for embeded newline. (im evil)
...
Fix segfault when using 'N' with an odd number of lines.
2003-03-30 03:41:53 +00:00
Glenn L McGrath
a0f0f0cf76
Still fine tunning the printing of the substitute command
2003-03-28 14:11:34 +00:00
Glenn L McGrath
595a6a4199
sed 't' branching command
2003-03-28 08:36:52 +00:00
Glenn L McGrath
ccd43a8301
Fix sed 's' command's 'p' flag, so it can print line twice
2003-03-28 07:44:03 +00:00
Glenn L McGrath
b08e3e8c2e
fix q command
2003-03-28 04:57:52 +00:00
Glenn L McGrath
961c6c19da
Add basic branching support, sed ':' and 'b' commands
2003-03-28 04:43:39 +00:00
Glenn L McGrath
56c633c139
make sed cleanup use linked list
2003-03-28 04:23:23 +00:00
Glenn L McGrath
c949bfa555
Use a linked list for sed commands in preparation for branching support
2003-03-28 03:53:31 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
e01f9662a5
Match newlines, this fixes matching of ^ or $ when there is a '\n' in the pattern being matched. This fixes cases when the N command is used.
2003-03-18 08:37:57 +00:00
Glenn L McGrath
2971ef1730
Fix a bug that corrupted the string followed commands that had no arguments ( Closes #1304 )
2003-03-18 01:19:23 +00:00
Glenn L McGrath
4157a8a71e
fix n, add N, P
2003-03-10 04:12:35 +00:00
Glenn L McGrath
ff724fb076
add the 'n' command
2003-03-10 02:56:56 +00:00
Glenn L McGrath
bed4033e96
Add the q (quit) option
2003-03-10 02:21:14 +00:00
Glenn L McGrath
f3bd7c4631
Fix a delimiter matching bug i introduced.
2003-03-09 15:40:40 +00:00
Glenn L McGrath
f50ce3135f
Support grouped commands, i.e. {cmd1;cmd2}
2003-03-09 15:12:24 +00:00
Glenn L McGrath
4c6523a90b
alloc array for commands, use string ptr in parse_command_string()
2003-03-09 11:06:38 +00:00
Glenn L McGrath
e7a8bc949b
use typedef for struct sed_cmd
2003-03-09 10:23:57 +00:00
Glenn L McGrath
1fb446795d
redo get_addres(). save some space. possible fix a bug where the command might be set to 0 if no second address is given. dont parse sed_cmd struct to get_address, we only need the delim field.
2003-03-09 08:44:49 +00:00
Glenn L McGrath
2f8a401772
Woops, remove the code i didnt mean to commit
2003-03-09 02:44:49 +00:00
Glenn L McGrath
d5eadea970
Mention the opengroup sed reference, add a check which is disabled at present.
2003-03-09 02:39:29 +00:00
Glenn L McGrath
505bd0f15a
Fix matching for the $ address (last line)
2003-03-08 05:21:02 +00:00
Glenn L McGrath
0a65e190f4
Support the '=' command
2002-12-23 10:16:12 +00:00
Eric Andersen
c9f20d9fb9
Yet another major rework of the BusyBox config system, using the considerably
...
modified Kbuild system I put into uClibc. With this, there should be no more
need to modify Rules.mak since I've moved all the interesting options into the
config system. I think I've got everything updated, but you never know, I may
have made some mistakes, so watch closely.
-Erik
2002-12-05 08:41:41 +00:00
Glenn L McGrath
7127b58baa
Fix crashme code, by Jim Treadway
2002-12-03 21:48:15 +00:00
Glenn L McGrath
09adaca37d
last_patch_69, 8 bit clean and other fixes from Vladimir N. Oleynik
2002-12-02 21:18:10 +00:00
Aaron Lehmann
a170e1c858
Change if(x)free(x); to free(x);
2002-11-28 11:27:31 +00:00
Glenn L McGrath
d4036f86e5
Use erorr_msg( isntead of fprintf(stderr,
2002-11-28 09:30:40 +00:00
Glenn L McGrath
545106f8db
Move awk from textutils to editors. Cleanup run-parts, saves 200 bytes, moves the guts of run_parts to libbb to be used by ifupdown.
2002-11-11 06:21:00 +00:00
Eric Andersen
fda2b7ff47
A patch from Jouni Malinen to avoid some buffer overflows in vi,
...
closing bug #1270
2002-10-26 10:19:19 +00:00
Aaron Lehmann
6fdacc74f0
vi inlining
2002-08-21 13:02:24 +00:00
Robert Griebl
00f5ecb141
Somehow I applied an old patch for the last commit - this one works now:
...
- Added \CregexC support to sed (sed testsuite reported no errors, btw)
2002-08-06 23:13:31 +00:00
Robert Griebl
7940147e25
Added the \CregexpC syntax as an alternative for /regexp/ (like GNU sed)
2002-08-06 21:07:17 +00:00
Robert Griebl
a71389bfe8
Applied a patch from Philip Blundell <pb@nexus.co.uk>:
...
Added support for ":x" as an alias for ":wq" to vi
2002-07-31 21:22:21 +00:00
Eric Andersen
2276d83639
Fixup warnings and undefined operations that show up in gcc-3.1
...
-Erik
2002-07-11 11:11:56 +00:00
Robert Griebl
47abc49c4a
Patch from Simon Krahnke:
...
I wrote a patch for busybox for our company's (www.lisa.de)
private use. [...] To sed it adds the '!'-inversion of addresses.
2002-06-11 23:43:27 +00:00
Tim Riker
86c76a9c2a
fix from kergoth
2002-04-26 07:41:22 +00:00
Eric Andersen
85208e2ab9
Completely rework the config system so that it no longer annoys me to work on
...
the busybox development tree. This eliminates the use of recursive make, and
once again allows us to run 'make' in a subdirectory with the expected result.
And things are now much faster too. Greatly improved IMHO...
-Erik
2002-04-12 12:05:57 +00:00
Matt Kraai
5c69cd84ff
* editors/sed.c (process_file): Stop processing deleted lines.
...
* testsuite/sed/sed-does-not-substitute-in-delete-line: New.
2002-04-01 16:17:37 +00:00
Matt Kraai
9eaf059d28
* editors/sed.c (parse_cmd_str): Remove redundant code to skip initial
...
whitespace.
2002-01-03 21:19:19 +00:00
Matt Kraai
5ed78adca5
* editors/sed.c (parse_edit_cmd): Rewrite.
...
* testsuite/sed/sed-splits-edit-commands-on-command-line: New.
2002-01-03 21:12:34 +00:00
Matt Kraai
d21735de2d
* editors/sed.c (parse_edit_command): Require a newline after the backslash
...
after an edit command.
* testsuite/sed/sed-requires-newline-after-edit-command: New.
2002-01-02 17:56:38 +00:00
Matt Kraai
70624846fd
Ignore blanks before the first address and before the command.
2001-12-21 16:04:12 +00:00
Matt Kraai
1f0c43668a
Remove == TRUE' tests and convert
!= TRUE' and `== FALSE' tests to use !.
2001-12-20 23:13:26 +00:00
Matt Kraai
0c390a76fe
Eliminate warning.
2001-11-20 16:00:19 +00:00
Eric Andersen
9c6b5fcb0a
Minor warning cleanups
2001-11-17 07:23:46 +00:00
Eric Andersen
bff7a60f63
Patch from "Andrew Tipton" <andrew@cadre5.com> to enable vi cursor
...
keys while editing.
2001-11-17 07:15:43 +00:00
Eric Andersen
80f5ac7016
Patch from Steve Merrifield <steve@labyrinth.net.au> to make vi
...
use xmalloc
2001-11-17 06:57:42 +00:00
Matt Kraai
c8227639db
Change strdup calls to xstrdup (patch from Steve Merrifield).
2001-11-12 16:57:27 +00:00
Matt Kraai
a5f09c668e
Use fopen wrapper.
2001-11-12 16:44:55 +00:00
Eric Andersen
c52a6b0f10
|2001-10-08 Rodney Brown <rbrown64@csc.com.au>
...
|
| * editors/sed.c: Fix multiline [aic] commands. Make # an endline
| comment for compatibility. Codespace reduction.
| * tests/testcases: Cope with move to subdirectories.
| * testsuite/sed/sed-aic-commands: Add.
|
| text data bss dec hex filename
| 3772 16 0 3788 ecc editors/sed.o
| 4516 16 0 4532 11b4 editors/sed.o.bu
2001-11-10 10:49:42 +00:00
Eric Andersen
882cbcdfa1
more config.in entries from Giulio Orsero <giulioo@pobox.com>
...
with some minor edits by me.
2001-11-10 10:43:09 +00:00
Eric Andersen
7131213460
config.in features patch from Giulio Orsero <giulioo@pobox.com>
...
with some minor edits from me
2001-11-10 09:53:23 +00:00
Eric Andersen
bdfd0d78bc
Major rework of the directory structure and the entire build system.
...
-Erik
2001-10-24 05:00:29 +00:00
Matt Kraai
8470b9a85c
Fix empty line substitutions (noted by Joshua Hudson).
2001-10-23 21:12:07 +00:00
Matt Kraai
a0065d5955
Fix s/[/]// handling (noted by Dumas Patrice).
2001-08-24 14:45:50 +00:00
Eric Andersen
b76cb68979
A patch from Shu-Hao Chang <shuhao_chang@trend.com.tw> to
...
fixed sed handling of multiple -e commands
2001-08-22 05:58:16 +00:00
Matt Kraai
a3e4f455ac
Fix a problem with unsatisfied backrefs (noted by Martin Bene).
2001-08-20 21:21:06 +00:00
Eric Andersen
fdbac35b33
Patch from Robert J. Osborne <rj@resourceinternational.com> that fixes
...
a bug in vi where the beginning of the text space was not checked
before dot is decremented for delete and escape sequences on an empty
file.
2001-08-02 05:26:41 +00:00
Matt Kraai
51038a3f42
Don't save and restore readonly flag if BB_FEATURE_VI_READONLY isn't enabled.
2001-07-31 15:01:12 +00:00
Matt Kraai
547e102082
Preserve whether or not the line was previously altered when running a
...
subst command (discovery and patch by Jim Gleason).
2001-07-30 14:05:58 +00:00
Eric Andersen
20aab260e2
Some adjustments, mostly from David McCullough <davidm@lineo.com> to
...
make busybox be more uClinux friendly. I also adjusted Config.h for
uClinux so it will automagically disable apps the arn't going to
work without fork() and such.
-Erik
2001-07-19 22:28:02 +00:00
Eric Andersen
044228d5ec
This is vodz' latest patch. Sorry it took so long...
...
1) ping cleanup (compile fix from this patch already applied).
2) traceroute call not spare ntohl() now (and reduce size);
3) Fix for functions not declared static in insmod, ash, vi and mount.
4) a more simple API cmdedit :))
5) adds "stopped jobs" warning to ash on Ctrl-D and fixes "ignoreeof" option
6) reduce exporting library function index->strchr (traceroute), bzero->memset (syslogd)
2001-07-17 01:12:36 +00:00
Matt Kraai
5009f90ea2
Removed obsolete function, strdup_substr.
2001-07-05 19:00:47 +00:00
Eric Andersen
dd8500bce7
Cleanups and sinze reduction for the vi applet from Aaron Lehmann
...
<aaronl@vitelus.com>
2001-07-02 18:06:14 +00:00
Glenn L McGrath
78b0e379d7
Vladimir's last_patch_15
2001-06-26 02:06:08 +00:00
Eric Andersen
e0c0757d09
These were broken when using dmalloc due to include file ordering
...
problems. busybox.h must be last.
-Erik
2001-06-23 13:49:14 +00:00
Matt Kraai
ceeff73819
Rewrote mkdir (and touched lots of things in the process).
2001-06-21 19:41:37 +00:00
Matt Kraai
02c40a72b8
Always apply commands with no specified range.
2001-06-21 13:57:51 +00:00
Mark Whitley
0915c4b985
- Fixed bug where you couldn't mix line number and regexes in two-address cmds
...
- Fixed bug where you couldn't use two addresses for a 'c' cmd
- Moved the do_sed_cmd function into process_file to simplify some things
- Reduced a buncha lines of code in the process
2001-06-11 23:50:06 +00:00
Matt Kraai
6e9e136fcb
Use safe_strncpy.
2001-05-27 14:11:52 +00:00
Eric Andersen
77d9268892
Patch from larry to fix some grammar errors.
2001-05-23 20:32:09 +00:00
Matt Kraai
233817437d
Always print a newline after a matching substitution.
2001-05-17 01:02:58 +00:00
Mark Whitley
d928accbbd
...Need to print just a few more newlines.
2001-05-14 20:44:26 +00:00
Mark Whitley
dd527d3c62
...And now that we're chomping lines, we need to re-add the newline later...
2001-05-14 19:53:08 +00:00
Mark Whitley
9de2659264
We will chomp() lines so REG_NEWLINE does not break stuff. Thanks, Matt.
2001-05-14 19:44:44 +00:00
Mark Whitley
452cc1f293
Added REG_NEWLINE as cflags to xregcomp for normal addresses so EOL $ will work
2001-05-14 19:23:02 +00:00
Eric Andersen
ddb00545b7
A patch from Aaron Lehmann <aaronl@vitelus.com> to fix a
...
crash on a broken regexp.
2001-05-13 00:48:09 +00:00
Mark Whitley
1f3b9f297e
Added support for 'r' command in sed.
2001-05-11 22:27:13 +00:00
Eric Andersen
c33ebc9741
A patch from Vladimir to use last_char_is(), and a patch from
...
Larry to fix a silly bug when BB_FEATURE_VI_OPTIMIZE_CURSOR
is not defined.
2001-05-07 22:57:47 +00:00
Eric Andersen
822c3837f9
Another vi update from Sterling Huxley:
...
- All of the ESC sequences are now in variables. This should make
re-targeting for other terminals easier.
- The initial screen draw does not force out every single column.
Should be faster.
- The place_cursor() routine trys to be smarter about moving the
cursor. This is optional based on BB_FEATURE_VI_OPTIMIZE_CURSOR.
- The 't' and 'f' intra-line positioning commands were added.
They can now be used as targets in 'c' and 'd' commands, i.e.,
dfx - delete from dot to next 'x'
dtx - delete from dot to the char before next 'x'
- show_status_line() uses a static int checksum to remember what
is currently displayed on the screen and not re-draw the status
line unless it has changed.
- Some of the code in refresh() was moved out to format_line().
refresh() trys to send out the smallest segment containing
the changed chars rather than the whole line.
- Added "flash" to the :set command to specify if error indication
should be by flashing the screen or ringing the bell.
- Changed the rawmode() routine so that it turns off the
NL -> CR NL translation. On output of a NL, the OS will not add
a CR.
- If vi was started as "view", with global read-only mode,
and another file is opened, the file is opened read-only
rather than read+write.
2001-05-07 17:37:43 +00:00
Eric Andersen
c1bdffe99b
Another nice cleanup from Larry. This adds a new last_char_is() function and
...
uses it to avoid possible buffer underruns whn strlen is zero, and avoid the
possible space-hogging inline of strlen() in several cases.
-Erik
2001-04-26 15:56:47 +00:00
Mark Whitley
56c14a6473
Fixed a buglet where an extra newline was being added after an insert command
...
in some cases.
2001-04-20 23:41:44 +00:00
Mark Whitley
497ef46587
Made a correction to a bad test expression. Props to Larry Doolittle for
...
spotting this one.
2001-04-20 23:27:17 +00:00
Eric Andersen
1c0d311ff4
Several fixes from Sterling Huxley for the vi applet.
2001-04-16 15:46:44 +00:00
Eric Andersen
4fd382ea29
Remove unused optarg variable
2001-04-04 19:33:32 +00:00
Eric Andersen
d402edfd63
Some cleanups for libc5 support
2001-04-04 19:29:48 +00:00
Eric Andersen
3f98040554
I said no new features till after the 0.51 release. Well, I lied. This is a
...
vi editor for busybox, contributed by Sterling Huxley <sterling@europa.com>.
It adds 22k to the busybox binary when enabled. Quite impressive!
2001-04-04 17:31:15 +00:00
Mark Whitley
af633757d3
Applied patch from Anthony Towns that he posted to Debian bug tracking.
2001-03-26 16:47:57 +00:00
Mark Whitley
038c8eb5a9
Applied patch from Erik Habbinga to fix a problem with an uninitialized
...
substitution delimiter.
2001-03-14 21:11:49 +00:00
Eric Andersen
b50da53e0c
Get rid of long stale usage message code.
...
-Erik
2001-02-17 16:52:35 +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
Matt Kraai
05e782ddd3
Fix wget error message and add (and use) chomp library function.
2001-02-01 16:49:30 +00:00
Matt Kraai
dd19c69904
Removed trailing \n from error_msg{,_and_die} messages.
2001-01-31 19:00:21 +00:00
Eric Andersen
8ec10a9483
Fix up copyright msgs. Bump version to 0.49 in preparation for
...
a release. Update the website with release details.
-Erik
2001-01-27 09:33:39 +00:00
Eric Andersen
ed3ef50c23
Fix header file usage -- there were many unnecessary header files included in
...
busybox.h which slowed compiles. I left only what was needed and then fixed up
all the apps to include their own header files. I also fixed naming for pwd.h
and grp.h functions. Tested to compile and run with libc5, glibc, and uClibc.
-Erik
2001-01-27 08:24:39 +00:00
Mark Whitley
6c6ea6cba2
Changed email address to codepoet.org, updated list of applets / docs I
...
maintain in AUTHORS.
2001-01-04 22:21:13 +00:00
Eric Andersen
28b3c53f0d
I just whipped up support for arbitrary regex delimiters, so
...
now things such as
$ echo foo | sed 'sxfooxb\arx'
bar
will work as expected (and so doogie can stop complaining).
-Erik
2001-01-02 11:01:31 +00:00
Matt Kraai
a9819b2908
Use busybox error handling functions wherever possible.
2000-12-22 01:48:07 +00:00
Matt Kraai
1fa1adea2a
Change calls to error_msg.* and strerror to use perror_msg.*.
2000-12-18 03:57:16 +00:00
Mark Whitley
f57c944e09
Changed names of functions in utility.c and all affected files, to make
...
compliant with the style guide. Everybody rebuild your tags file!
2000-12-07 19:56:48 +00:00
Eric Andersen
f61caf0411
Remove unneeded junk
2000-11-14 20:31:45 +00:00
Mark Whitley
eb69ead091
Removed REG_NEWLINE from regcomp to fix the same bug found in grep where it
...
would not match blank lines (bug #1064 ). Followed Matt Kraii's suit on his
1.42 revision of grep. Tested it, works.
2000-11-03 20:23:49 +00:00
Mark Whitley
e7ff2842dd
Now, what was that logic block doing up there?
2000-11-03 20:02:35 +00:00
Mark Whitley
2dc192fd99
Re-worked the support for s///p, fixed a backref limit buglet, and cleaned up
...
a few other ugly places (do_subst_command got a much-needed overhaul). Also
took out BB_FEATURE_SED_PATTERN_SPACE from Config.h[.Hurd] as the 'p' is now a
standard feature (adds almost no bloat).
2000-11-03 19:47:00 +00:00
Matt Kraai
bbaef66b3f
Consolidate handling of some fopen failures.
2000-09-27 02:43:35 +00:00
Eric Andersen
3570a34de4
Renamed "internal.h" to the more sensible "busybox.h".
...
-Erik
2000-09-25 21:45:58 +00:00
Matt Kraai
322ae93a5e
Fix calls to {m,c,re}alloc so that they use x{m,c,re}alloc instead of
...
segfaulting or handling errors the same way themselves.
2000-09-13 02:46:14 +00:00
Mark Whitley
0e4cec0be8
Applied patch from Mark Ferrell <mferrell@mvista.com> to use the 'p' option in
...
substitution expressions.
2000-08-21 21:29:20 +00:00
Mark Whitley
40406e6bad
Applied patch from Mark Ferrell <mferrell@mvista.com> to fix sed '1,$p' where
...
sed was only printing the first line and then exiting.
2000-08-10 00:09:47 +00:00
Mark Whitley
83e85f6a08
Modified print_subst_w_backrefs() so it will print backslash escaped
...
characters properly, just like GNU sed.
2000-07-25 20:48:44 +00:00
Eric Andersen
b040d4f3da
Use BB_FEATURE_CLEAN_UP where appropriate
...
-Erik
2000-07-25 18:01:20 +00:00
Mark Whitley
1f45b268cb
As per a discussion on the mailing list between Matt and Pavel. I have removed
...
the -V (version) flag from busybox sed. It is unnecessary because sed is not a
standalone and should therefore be independently reporting a version number.
Moreover, it is extra code that we just don't need.
2000-07-20 23:08:40 +00:00
Matt Kraai
27a804246a
Centralize handling of --help.
2000-07-19 19:24:01 +00:00
Pavel Roskin
9c5fcc3408
New message added to messages.c: full_version
...
Used where possible
2000-07-17 23:45:12 +00:00
Mark Whitley
97562bd9d7
- Added support for backreferences in substitution expressions up to nine
...
(\1, \2...\9). This touched a lot of places in this file and I added a new
function 'print_subst_w_backrefs' in order to keep 'do_subst_command' a
little more tidy.
* I tested this good 'n hard, but will always appreciate more testing from
other, willing folks.
- Noticed that the index_of_next_unescaped_slash was subtly wrong so I
changed both the functionality and behavior (it used to skip over the first
char in the string you passed it, assuming it was a leading '/'--this
assumption is no longer made) this necessitated changing the lines that
call this function just slightly.
2000-07-17 20:06:42 +00:00
Matt Kraai
bf181b9338
Extract usage information into a separate file.
2000-07-16 20:57:15 +00:00
Mark Whitley
464c5de00d
Fixed a couple of buglets:
...
- add_cmd_str: segv's were being generated if there was a '# comment' line
(and probably other kinds of lines, too) that was not followed by a
semi-colon or whitespace
- parse_edit_cmd: was returning a wrong number (too low) for the index; it
was not accounting for backslashes eaten, for the fact that we start at the
3rd index in the string, or for the fact that we add an extra newline.
- parse_cmd_str: was returning a wrong number (again, too low) for the index
in the case of single-letter commands (p,d). There was some
over-compensation for this in the 'return' stmt at the end which also
needed some help.
- load_cmd_file: was not eating trailing newlines off the line read from the
command file. This had the deleterious effect of printing an extra newlines
after text displayed from edit (i,a,c) commands.
2000-07-14 23:24:00 +00:00
Mark Whitley
70705d7c96
- Added support for semicolon delimited command lines. (woo-hoo!)
...
- Obsoleted the trim_str function (#if 0'ed out -- maybedelete later) in
favor of strrspn.
- Obsoleted the strrspn function (#if 0'ed out as well) as soon as I
discovered that it wasn't needed either.
- Fixed a subtle bug in parse_subst_cmd where it would choke with an error if
there was any trailing space after the s/match/replace/ expression.
2000-07-14 19:06:30 +00:00
Matt Kraai
d537a95fdb
Use errorMsg rather than fprintf.
2000-07-14 01:51:25 +00:00
Mark Whitley
34623db618
It dawned on me that I would need to grow a char buffer one extra char bigger
...
to accomodate a trailing '\n'ewline that I append to it later one. This is
only necessary for the case of one inserted, appended, or changed line, but
it's still necessary.
2000-07-14 00:49:59 +00:00
Mark Whitley
02008346c0
Added error checking for edit commands; only a beginning address can be
...
specified.
2000-07-14 00:13:52 +00:00
Mark Whitley
94074a980c
Added support for (a)ppend, (i)nsert, and (c)hange commands to sed.
2000-07-14 00:00:15 +00:00
Mark Whitley
496e33feeb
Fixed bug where sed '/foo/p' was printing "invalid command".
2000-07-13 22:52:02 +00:00
Mark Whitley
4f7fe77d07
(Something I should have done in the previous checkin...) Also broke out
...
substitution command execution from do_sed_command() and put it in it's own
do_subst_command() function.
2000-07-13 20:01:58 +00:00
Mark Whitley
06f3529ada
Minor code reorg: Changed the interface to index_of_next_unescaped_slash to an
...
interface that seems a little more sensible to me. Also broke out s///
expression parsing into it's own subroutine.
2000-07-13 19:58:04 +00:00
Mark Whitley
c41e8c840f
Changed bb_regcomp to xregcomp and #if 0'ed out destroy_cmd_strs in sed.c
...
(maybe I'll remove it later).
2000-07-12 23:35:21 +00:00
Matt Kraai
be84cd4ef6
Always report the applet name when doing error reporting.
2000-07-12 17:02:35 +00:00
Mark Whitley
858c1adf2b
Applied patch from Matt Kraai to call destroy_cmd_strs in atexit(), rather
...
than peppering it throughout the code.
2000-07-11 21:38:47 +00:00
Mark Whitley
df5f6ba115
Applied patch from Matt Kraai which does the following:
...
- adds case-insensitive matching in sed s/// epxressions
- consolodates common regcomp code in grep & sed into bb_regcomp and put in
utility.c
- cleans up a bunch of cruft
2000-07-11 16:53:56 +00:00
Mark Whitley
6315ce603b
Brand, new sed that uses libc regex routines.
...
There is some common code used by both sed & grep that should be put into
utility.c as per Mat Kraai's suggestions/patch on the mailing list.
Specifically, a common regex_compile() and a regex_subst() function need to be
made.
2000-07-10 22:55:51 +00:00
Eric Andersen
b610615be9
Updates to a number of apps to remove warnings/compile errors under libc5.
...
Tested under both libc5 and libc6 and all seems well with these fixes.
-Erik
2000-06-19 17:25:40 +00:00
Eric Andersen
74c66ad06e
Fix some spelling errors in the source as well.
...
-Erik
2000-06-16 19:57:44 +00:00
Erik Andersen
7ab9c7ee52
Lots of updates. Finished implementing BB_FEATURE_TRIVIAL_HELP
...
which lets you compile out most of the "--help" output, saving
up to 17k.
Renamed mnc to nc.
-Erik
2000-05-12 19:41:47 +00:00
Erik Andersen
61677feff7
Upates to include copyright 2000 to everything
...
-Erik
2000-04-13 01:18:56 +00:00
Erik Andersen
e916d24805
Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a -e)
...
would go into an infinite loop.
-Erik
2000-03-06 19:20:35 +00:00
Erik Andersen
4d0543138e
More minor touchups.
...
-Erik
2000-02-10 07:31:15 +00:00
Erik Andersen
e49d5ecbbe
Some formatting updates (ran the code through indent)
...
-Erik
2000-02-08 19:58:47 +00:00
Erik Andersen
7dc160721e
Bunches of fixes. Typos, bugs, etc.
...
Added 'gunzip -t'. inittab support _almost_ works (but it isn't
ready for prime time useage yet).
-Erik
2000-01-04 01:10:25 +00:00
Erik Andersen
1266a13e1f
* sed now supports addresses (numeric or regexp, with negation) and
...
has an append command, thanks to Marco Pantaleoni <panta@prosa.it>
* Fixed dmesg. It wasn't parsing its options (-n or -s) properly.
* Some cosmetic fixes to ls output formatting to make it behave more
like GNU ls.
-Erik
1999-12-29 22:19:46 +00:00
Eric Andersen
d73dc5b073
Updates to usage, and made tar work.
...
-Erik
1999-11-10 23:13:02 +00:00
Eric Andersen
50d6360771
Stuff
1999-11-09 01:47:36 +00:00
Eric Andersen
7f1acfdb89
More stuf. sed works.
1999-10-29 23:09:13 +00:00
Eric Andersen
24d8e7d787
Stuf
1999-10-29 06:50:17 +00:00
Eric Andersen
c1525e84dd
Stuff
1999-10-29 00:07:31 +00:00
Eric Andersen
6b6b3f6ef2
Stuf
1999-10-28 16:06:25 +00:00