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
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 3ef47ba..a46b5d2 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -400,11 +400,8 @@
static void add_match(char *matched)
{
- int nm = num_matches;
- int nm1 = nm + 1;
-
- matches = xrealloc(matches, nm1 * sizeof(char *));
- matches[nm] = matched;
+ matches = xrealloc_vector(matches, 4, num_matches);
+ matches[num_matches] = matched;
num_matches++;
}