*: use llist_pop for traverse-and-free list operation

function                                             old     new   delta
append_file_list_to_list                             109     111      +2
udhcpc_main                                         2414    2413      -1
run_parts_main                                       325     324      -1
od_main                                             2324    2323      -1
getopt_main                                          709     707      -2
env_main                                             253     251      -2
sed_main                                             659     656      -3
ps_main                                              522     519      -3
traceroute_main                                     3960    3954      -6
sort_main                                            844     838      -6
diff_main                                            866     858      -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/10 up/down: 2/-33)            Total: -31 bytes
This commit is contained in:
Denis Vlasenko 2008-06-15 05:40:56 +00:00
parent 873b895d50
commit d50dda8c35
14 changed files with 19 additions and 49 deletions

View file

@ -1001,17 +1001,11 @@ int traceroute_main(int argc, char **argv)
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
if (source_route_list) {
llist_t *l_sr;
l_sr = source_route_list;
while (l_sr) {
while (source_route_list) {
if (lsrr >= NGATEWAYS)
bb_error_msg_and_die("no more than %d gateways", NGATEWAYS);
getaddr(gwlist + lsrr, l_sr->data);
getaddr(gwlist + lsrr, llist_pop(&source_route_list));
++lsrr;
l_sr = l_sr->link;
free(source_route_list);
source_route_list = l_sr;
}
optlen = (lsrr + 1) * sizeof(gwlist[0]);
}