Age | Commit message (Collapse) | Author |
|
It seems to be designed to reduce overhead of malloc's auxiliary data,
by allocating at least 64 variables as a block.
With "struct var" being about 20-32 bytes long (32/64 bits),
malloc overhead for one temporary indeed is high, ~33% more memory used
than needed.
function old new delta
evaluate 3137 3145 +8
modprobe_main 798 803 +5
exec_builtin 1414 1419 +5
awk_printf 476 481 +5
as_regex 132 137 +5
EMSG_INTERNAL_ERROR 15 - -15
nvfree 169 116 -53
nvalloc 145 - -145
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 5/1 up/down: 28/-213) Total: -185 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
modprobe_main 798 803 +5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
hash_find(): do not caclculate hash twice. Do not divide - can use
cheap multiply-by-8 shift.
nextword(): do not repeatedly increment in-memory value, do it in register,
then store final result.
hashwalk_init(): do not strlen() twice.
function old new delta
hash_search3 - 49 +49
hash_find 259 281 +22
nextword 19 16 -3
evaluate 3141 3137 -4
hash_search 54 28 -26
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 71/-33) Total: 38 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
hash_clear - 90 +90
awk_main 827 849 +22
clear_array 90 - -90
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 112/-90) Total: 22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
We can free them after they are no longer needed.
(Currently, being a NOEXEC applet is much larger waste of memory
for the case of long-running awk script).
function old new delta
awk_main 831 827 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
next_token 812 825 +13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
parse_expr 948 945 -3
chain_expr 65 62 -3
chain_group 655 649 -6
parse_program 310 303 -7
rollback_token 10 - -10
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/4 up/down: 0/-29) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
next_token 791 812 +21
awk_main 886 831 -55
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 21/-55) Total: -34 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
...like we do for array references.
function old new delta
parse_expr 938 948 +10
next_token 788 791 +3
parse_program 313 310 -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 13/-3) Total: 10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
exec_builtin 1400 1414 +14
evaluate 3132 3141 +9
getvar_s 121 125 +4
awk_main 902 886 -16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 27/-16) Total: 11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
parse_program 328 313 -15
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Confusion with "simple" classes was the cause of a bug fixed by previous commit
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
next_token 784 790 +6
next_input_file 219 216 -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 6/-3) Total: 3 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
next_token 785 784 -1
parse_program 337 328 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-10) Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
The same stored search pattern applies to both search ('/') and
search/replace (':s') operations.
A search/replace operation with an empty "find" string (':s//abc/')
should use the last stored search pattern, if available, and issue an
error message if there is none.
If the "find" string is not empty it should replace the stored search
pattern.
function old new delta
colon 3952 4024 +72
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 72/0) Total: 72 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
awk_main 890 898 +8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Let's adopt Herbert Xu's patch, not waiting for it to reach dash git:
hush already has a similar fix.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
.rodata 103674 103667 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
When the '-t DIR' option is used the loop over the remaining
arguments should terminate when a NULL pointer is reached.
function old new delta
mv_main 585 590 +5
cp_main 492 496 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 9/0) Total: 9 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
xxd_main 888 893 +5
.rodata 103669 103674 +5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 10/0) Total: 10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Commit 894466cc5 (uniq: support -z) added support for NUL delimited
output. Unfortunately nobody told getopt32().
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
rmrf - 46 +46
delete_contents 181 99 -82
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 46/-82) Total: -36 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
If it's needed, there has to be a comment why. There isn't.
function old new delta
.rodata 103686 103669 -17
remove_file 598 571 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-44) Total: -44 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
scan_and_display_dirs_recur 576 574 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
iter - 27 +27
process_pid_str 854 856 +2
taskset_main 181 135 -46
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 29/-46) Total: -17 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
print_e2flags_long - 109 +109
list_attributes 248 232 -16
print_e2flags 169 47 -122
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 109/-138) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
follow links
Add O_NOFOLLOW (and O_NOCTTY for good measure) to open calls like e2fsprogs does.
In lsattr, when recursing, operate only on regular files, symlinks, and directories.
(Otherwise, "lsattr /dev" can e.g. open a watchdog device... not good).
At this time, looks like chattr/lsattr can't operate on symlink inodes -
ioctls do not work on open(O_PATH | O_NOFOLLOW) fds.
function old new delta
lsattr_dir_proc 168 203 +35
change_attributes 410 408 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 35/-2) Total: 33 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
change_attributes 416 410 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: S Harris <S.E.Harris@kent.ac.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: S Harris <S.E.Harris@kent.ac.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
-R is not an "unset these flags" argument, thus no conflict with "=".
function old new delta
.rodata 103684 103686 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
.rodata 103692 103684 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
change_attributes 326 416 +90
list_attributes 222 248 +26
close_silently 22 - -22
.rodata 103722 103692 -30
fgetsetversion 74 - -74
fgetsetprojid 107 - -107
fgetsetflags 148 - -148
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 2/1 up/down: 116/-381) Total: -265 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
packed_usage 33717 33823 +106
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
.rodata 103681 103722 +41
packed_usage 33698 33717 +19
copy_file 1678 1696 +18
cp_main 500 492 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 78/-8) Total: 70 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
cksum_main 215 203 -12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
cksum_main 377 399 +22
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
cksum_main 258 377 +119
.rodata 103672 103681 +9
applet_names 2745 2751 +6
applet_main 1588 1592 +4
packed_usage 33734 33698 -36
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 138/-36) Total: 102 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
packed_usage 33713 33734 +21
.rodata 103670 103672 +2
cp_main 506 500 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 23/-6) Total: 17 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
function old new delta
.rodata 103397 103670 +273
ascii_main - 177 +177
applet_names 2739 2745 +6
applet_main 1584 1588 +4
applet_suid 99 100 +1
applet_install_loc 198 199 +1
packed_usage 33716 33713 -3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/1 up/down: 462/-3) Total: 459 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
With FEATURE_VI_REGEX_SEARCH enabled backward searches don't work.
This is problematic on distros that enable regexes, such as Tiny
Core Linux and Fedora.
When calling GNU re_search() with a negative range parameter
(indicating a backward search) the start offset must be set to
the end of the area being searched.
The return value of re_search() is the offset of the matched pattern
from the start of the area being searched. For a successful search
(positive return value) char_search() can return the pointer to
the start of the area plus the offset.
FEATURE_VI_REGEX_SEARCH isn't enabled by default but when it is:
function old new delta
char_search 256 247 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-9) Total: -9 bytes
Signed-off-by: Andrey Dobrovolsky <andrey.dobrovolsky.odessa@gmail.com>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|