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
4c9e9c4314
vi: handle chars 0x80, 0x81... correctly
2008-10-20 08:59:03 +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
7b54dc788c
vi: using array data after it fell out of scope is stupid.
2008-07-17 21:32:32 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +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
70685bd022
vi: fix yet another vda's thinko
2008-06-24 14:10:41 +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
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
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
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
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
574f2f4394
*: add optimization barrier to all "G trick" locations
2008-02-27 18:41:59 +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
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
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
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
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
Bernhard Reutner-Fischer
73f56bb76d
- actually mv microcom.c to miscutils
2007-09-22 21:18:46 +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
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
b71c668c57
style fix (stray space before ';')
2007-07-21 15:08:09 +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
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
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
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
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
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
51742f4bb0
style fixes. No code changes
2007-04-12 00:32:05 +00:00
Denis Vlasenko
ba2fb719b9
Copyright, help text, whitespace cleanups
2007-04-01 09:39:03 +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
baca175912
kill superfluous returns at the end of void functions
2007-03-11 13:43:10 +00:00
Denis Vlasenko
8e858e2700
clean up accumulated whitespace damage
2007-03-07 09:35:43 +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
6a5dc5d75a
next bunch of fixes for bugs found by randconfig
2006-12-30 18:42:29 +00:00
Denis Vlasenko
bf0a201008
style fixes
...
last xcalloc replaced by xzalloc
2006-12-26 10:42:51 +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
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
621204bbf6
get_terminal_width_height: do not pass insanely large values
2006-10-27 09:03:24 +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
9275814a9e
lots of silly indent fixes
2006-10-03 19:56:34 +00:00
Denis Vlasenko
9213a9e0f2
whitespace cleanup
2006-09-17 16:28:10 +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
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +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
Rob Landley
299a6b4d7b
Consolidate #include <sys/time.h> so libbb.h does it.
2006-05-27 21:42:58 +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
a2a647dfc1
- include strings.h
...
Thanks to Rich Felker for pointing this out.
2006-05-19 12:30:00 +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
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
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
Eric Andersen
a68ea1cb93
fix up yet more annoying signed/unsigned and mixed type errors
2006-01-30 22:48:39 +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
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
"Vladimir N. Oleynik"
6f347ef9dc
common BUFSIZ BSS buffer, small reduce code, data and bss
2005-10-15 10:23:55 +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
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
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
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
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
Eric Andersen
a9eb33ddc7
regularly update the status line display
...
-Erik
2004-08-19 19:15:06 +00:00
Eric Andersen
165e8cbf34
Assign 'forced' before the goto to avoid a warning
2004-07-20 06:44:46 +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
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
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
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
Eric Andersen
d10f36fe2e
Match changes made to cmdedit
2003-12-23 20:45:14 +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
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +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
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
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
Tim Riker
86c76a9c2a
fix from kergoth
2002-04-26 07:41:22 +00:00
Matt Kraai
1f0c43668a
Remove == TRUE' tests and convert
!= TRUE' and `== FALSE' tests to use !.
2001-12-20 23:13:26 +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
Eric Andersen
bdfd0d78bc
Major rework of the directory structure and the entire build system.
...
-Erik
2001-10-24 05:00:29 +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
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
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
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
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
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