diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-08 05:14:36 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-08 05:14:36 +0000 |
commit | deeed59de0a9bcc068ebd14d7496a6b26e45b890 (patch) | |
tree | 7dafd469e9f6bca107adbf930fe77fff9958a0b6 /miscutils | |
parent | 493829207c1c2a36d55aaa13abf806533d0cb87f (diff) |
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
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/less.c | 6 | ||||
-rw-r--r-- | miscutils/man.c | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/miscutils/less.c b/miscutils/less.c index ecdb9ae60..1e22d333d 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -322,7 +322,7 @@ static void read_lines(void) } reached_eof: last_terminated = terminated; - flines = xrealloc(flines, (max_fline+1) * sizeof(char *)); + flines = xrealloc_vector(flines, 8, max_fline); if (option_mask32 & FLAG_N) { /* Width of 7 preserves tab spacing in the text */ flines[max_fline] = xasprintf( @@ -332,7 +332,7 @@ static void read_lines(void) if (terminated) max_lineno++; } else { - flines[max_fline] = xrealloc(current_line, strlen(current_line)+1); + flines[max_fline] = xrealloc(current_line, strlen(current_line) + 1); } if (max_fline >= MAXLINES) { eof_error = 0; /* Pretend we saw EOF */ @@ -933,7 +933,7 @@ static void fill_match_lines(unsigned pos) /* and we didn't match it last time */ && !(num_matches && match_lines[num_matches-1] == pos) ) { - match_lines = xrealloc(match_lines, (num_matches+1) * sizeof(int)); + match_lines = xrealloc_vector(match_lines, 4, num_matches); match_lines[num_matches++] = pos; } pos++; diff --git a/miscutils/man.c b/miscutils/man.c index 3685be7b6..b1bb1530a 100644 --- a/miscutils/man.c +++ b/miscutils/man.c @@ -117,11 +117,7 @@ int man_main(int argc UNUSED_PARAM, char **argv) count_mp++; /* man_path_list is NULL terminated */ man_path_list[count_mp] = NULL; - if (!(count_mp & 0xf)) { /* 0x10, 0x20 etc */ - /* so that last valid man_path_list[] is [count_mp + 0x10] */ - man_path_list = xrealloc(man_path_list, - (count_mp + 0x11) * sizeof(man_path_list[0])); - } + man_path_list = xrealloc_vector(man_path_list, 4, count_mp); } if (strcmp("MANSECT", line) == 0) { free(sec_list); |