diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-04 13:20:36 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-04 13:20:36 +0000 |
commit | 27842288b393e532e5693f2a2bab94fee73a326d (patch) | |
tree | 98535c0fd140c89aa6b83179b11d160e6ed59c28 /libbb/procps.c | |
parent | 2b576b8e76ee0dc548f46489e2546b7ed70d080d (diff) | |
download | busybox-w32-27842288b393e532e5693f2a2bab94fee73a326d.tar.gz busybox-w32-27842288b393e532e5693f2a2bab94fee73a326d.tar.bz2 busybox-w32-27842288b393e532e5693f2a2bab94fee73a326d.zip |
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
Diffstat (limited to 'libbb/procps.c')
-rw-r--r-- | libbb/procps.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libbb/procps.c b/libbb/procps.c index ba3d25050..fd19621db 100644 --- a/libbb/procps.c +++ b/libbb/procps.c | |||
@@ -45,8 +45,8 @@ static int get_cached(cache_t *cp, unsigned id) | |||
45 | for (i = 0; i < cp->size; i++) | 45 | for (i = 0; i < cp->size; i++) |
46 | if (cp->cache[i].id == id) | 46 | if (cp->cache[i].id == id) |
47 | return i; | 47 | return i; |
48 | i = cp->size; | 48 | i = cp->size++; |
49 | cp->cache = xrealloc_vector(cp->cache, 2, cp->size++); | 49 | cp->cache = xrealloc_vector(cp->cache, 2, i); |
50 | cp->cache[i++].id = id; | 50 | cp->cache[i++].id = id; |
51 | return -i; | 51 | return -i; |
52 | } | 52 | } |
@@ -59,8 +59,8 @@ static char* get_cached(cache_t *cp, unsigned id, ug_func* fp) | |||
59 | for (i = 0; i < cp->size; i++) | 59 | for (i = 0; i < cp->size; i++) |
60 | if (cp->cache[i].id == id) | 60 | if (cp->cache[i].id == id) |
61 | return cp->cache[i].name; | 61 | return cp->cache[i].name; |
62 | i = cp->size; | 62 | i = cp->size++; |
63 | cp->cache = xrealloc_vector(cp->cache, 2, cp->size++); | 63 | cp->cache = xrealloc_vector(cp->cache, 2, i); |
64 | cp->cache[i].id = id; | 64 | cp->cache[i].id = id; |
65 | /* Never fails. Generates numeric string if name isn't found */ | 65 | /* Never fails. Generates numeric string if name isn't found */ |
66 | fp(cp->cache[i].name, sizeof(cp->cache[i].name), id); | 66 | fp(cp->cache[i].name, sizeof(cp->cache[i].name), id); |