libbb: make xrealloc_vector zero out the realloc'ed tail

function                                             old     new   delta
xrealloc_vector_helper                                51      76     +25
man_main                                             712     705      -7
act                                                  250     234     -16
create_list                                           91      70     -21
getopt_main                                          695     664     -31
load_dep_bb                                          281     248     -33
fileAction                                           744     709     -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 25/-143)          Total: -118 bytes
This commit is contained in:
Denis Vlasenko
2008-08-04 13:20:36 +00:00
parent 2b576b8e76
commit 27842288b3
9 changed files with 30 additions and 20 deletions

View File

@@ -238,14 +238,13 @@ static struct option *add_long_options(struct option *long_options, char *option
if (tlen == 0)
bb_error_msg_and_die("empty long option specified");
}
//TODO: zeroing version of xrealloc_vector!
long_options = xrealloc_vector(long_options, 4, long_nr);
long_options[long_nr].has_arg = arg_opt;
long_options[long_nr].flag = NULL;
/*long_options[long_nr].flag = NULL; - xrealloc_vector did it */
long_options[long_nr].val = LONG_OPT;
long_options[long_nr].name = xstrdup(tokptr);
long_nr++;
memset(&long_options[long_nr], 0, sizeof(long_options[0]));
/*memset(&long_options[long_nr], 0, sizeof(long_options[0])); - xrealloc_vector did it */
}
tokptr = strtok(NULL, ", \t\n");
}