aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-08 05:14:36 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-08 05:14:36 +0000
commitdeeed59de0a9bcc068ebd14d7496a6b26e45b890 (patch)
tree7dafd469e9f6bca107adbf930fe77fff9958a0b6 /miscutils
parent493829207c1c2a36d55aaa13abf806533d0cb87f (diff)
downloadbusybox-w32-deeed59de0a9bcc068ebd14d7496a6b26e45b890.tar.gz
busybox-w32-deeed59de0a9bcc068ebd14d7496a6b26e45b890.tar.bz2
busybox-w32-deeed59de0a9bcc068ebd14d7496a6b26e45b890.zip
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
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/less.c6
-rw-r--r--miscutils/man.c6
2 files changed, 4 insertions, 8 deletions
diff --git a/miscutils/less.c b/miscutils/less.c
index ecdb9ae60..1e22d333d 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -322,7 +322,7 @@ static void read_lines(void)
322 } 322 }
323 reached_eof: 323 reached_eof:
324 last_terminated = terminated; 324 last_terminated = terminated;
325 flines = xrealloc(flines, (max_fline+1) * sizeof(char *)); 325 flines = xrealloc_vector(flines, 8, max_fline);
326 if (option_mask32 & FLAG_N) { 326 if (option_mask32 & FLAG_N) {
327 /* Width of 7 preserves tab spacing in the text */ 327 /* Width of 7 preserves tab spacing in the text */
328 flines[max_fline] = xasprintf( 328 flines[max_fline] = xasprintf(
@@ -332,7 +332,7 @@ static void read_lines(void)
332 if (terminated) 332 if (terminated)
333 max_lineno++; 333 max_lineno++;
334 } else { 334 } else {
335 flines[max_fline] = xrealloc(current_line, strlen(current_line)+1); 335 flines[max_fline] = xrealloc(current_line, strlen(current_line) + 1);
336 } 336 }
337 if (max_fline >= MAXLINES) { 337 if (max_fline >= MAXLINES) {
338 eof_error = 0; /* Pretend we saw EOF */ 338 eof_error = 0; /* Pretend we saw EOF */
@@ -933,7 +933,7 @@ static void fill_match_lines(unsigned pos)
933 /* and we didn't match it last time */ 933 /* and we didn't match it last time */
934 && !(num_matches && match_lines[num_matches-1] == pos) 934 && !(num_matches && match_lines[num_matches-1] == pos)
935 ) { 935 ) {
936 match_lines = xrealloc(match_lines, (num_matches+1) * sizeof(int)); 936 match_lines = xrealloc_vector(match_lines, 4, num_matches);
937 match_lines[num_matches++] = pos; 937 match_lines[num_matches++] = pos;
938 } 938 }
939 pos++; 939 pos++;
diff --git a/miscutils/man.c b/miscutils/man.c
index 3685be7b6..b1bb1530a 100644
--- a/miscutils/man.c
+++ b/miscutils/man.c
@@ -117,11 +117,7 @@ int man_main(int argc UNUSED_PARAM, char **argv)
117 count_mp++; 117 count_mp++;
118 /* man_path_list is NULL terminated */ 118 /* man_path_list is NULL terminated */
119 man_path_list[count_mp] = NULL; 119 man_path_list[count_mp] = NULL;
120 if (!(count_mp & 0xf)) { /* 0x10, 0x20 etc */ 120 man_path_list = xrealloc_vector(man_path_list, 4, count_mp);
121 /* so that last valid man_path_list[] is [count_mp + 0x10] */
122 man_path_list = xrealloc(man_path_list,
123 (count_mp + 0x11) * sizeof(man_path_list[0]));
124 }
125 } 121 }
126 if (strcmp("MANSECT", line) == 0) { 122 if (strcmp("MANSECT", line) == 0) {
127 free(sec_list); 123 free(sec_list);