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
This commit is contained in:
Denis Vlasenko
2008-07-08 05:14:36 +00:00
parent 493829207c
commit deeed59de0
29 changed files with 123 additions and 85 deletions

View File

@ -27,14 +27,14 @@ void FAST_FUNC erase_mtab(const char *name)
}
while ((m = getmntent(mountTable)) != 0) {
entries = xrealloc(entries, 3, count);
entries[count].mnt_fsname = xstrdup(m->mnt_fsname);
entries[count].mnt_dir = xstrdup(m->mnt_dir);
entries[count].mnt_type = xstrdup(m->mnt_type);
entries[count].mnt_opts = xstrdup(m->mnt_opts);
entries[count].mnt_freq = m->mnt_freq;
entries[count].mnt_passno = m->mnt_passno;
i = count++;
entries = xrealloc(entries, count * sizeof(entries[0]));
entries[i].mnt_fsname = xstrdup(m->mnt_fsname);
entries[i].mnt_dir = xstrdup(m->mnt_dir);
entries[i].mnt_type = xstrdup(m->mnt_type);
entries[i].mnt_opts = xstrdup(m->mnt_opts);
entries[i].mnt_freq = m->mnt_freq;
entries[i].mnt_passno = m->mnt_passno;
}
endmntent(mountTable);