diff options
author | Rob Landley <rob@landley.net> | 2006-05-29 07:42:02 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-05-29 07:42:02 +0000 |
commit | 1ec5b2905484b7904aabb01f56c70265fb538c82 (patch) | |
tree | 87292bfd7e99ce26b226518e244f4a96914397f9 /archival/libunarchive | |
parent | a6e131dab39ee67522687a56b39ed815b9ae15ec (diff) | |
download | busybox-w32-1ec5b2905484b7904aabb01f56c70265fb538c82.tar.gz busybox-w32-1ec5b2905484b7904aabb01f56c70265fb538c82.tar.bz2 busybox-w32-1ec5b2905484b7904aabb01f56c70265fb538c82.zip |
More size shrinkage.
Diffstat (limited to 'archival/libunarchive')
-rw-r--r-- | archival/libunarchive/data_extract_to_buffer.c | 17 | ||||
-rw-r--r-- | archival/libunarchive/decompress_bunzip2.c | 3 | ||||
-rw-r--r-- | archival/libunarchive/get_header_ar.c | 15 | ||||
-rw-r--r-- | archival/libunarchive/get_header_cpio.c | 21 | ||||
-rw-r--r-- | archival/libunarchive/get_header_tar.c | 6 | ||||
-rw-r--r-- | archival/libunarchive/rangecoder.h | 4 |
6 files changed, 14 insertions, 52 deletions
diff --git a/archival/libunarchive/data_extract_to_buffer.c b/archival/libunarchive/data_extract_to_buffer.c index 1255fe1da..3eaca98b3 100644 --- a/archival/libunarchive/data_extract_to_buffer.c +++ b/archival/libunarchive/data_extract_to_buffer.c | |||
@@ -1,17 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * This program is free software; you can redistribute it and/or modify | 2 | * Copyright 2002 Glenn McGrath |
3 | * it under the terms of the GNU General Public License as published by | ||
4 | * the Free Software Foundation; either version 2 of the License, or | ||
5 | * (at your option) any later version. | ||
6 | * | 3 | * |
7 | * This program is distributed in the hope that it will be useful, | 4 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
10 | * GNU General Public License for more details. | ||
11 | * | ||
12 | * You should have received a copy of the GNU General Public License | ||
13 | * along with this program; if not, write to the Free Software | ||
14 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
15 | */ | 5 | */ |
16 | 6 | ||
17 | #include "libbb.h" | 7 | #include "libbb.h" |
@@ -21,8 +11,7 @@ void data_extract_to_buffer(archive_handle_t *archive_handle) | |||
21 | { | 11 | { |
22 | const unsigned int size = archive_handle->file_header->size; | 12 | const unsigned int size = archive_handle->file_header->size; |
23 | 13 | ||
24 | archive_handle->buffer = xmalloc(size + 1); | 14 | archive_handle->buffer = xzalloc(size + 1); |
25 | 15 | ||
26 | archive_xread_all(archive_handle, archive_handle->buffer, size); | 16 | archive_xread_all(archive_handle, archive_handle->buffer, size); |
27 | archive_handle->buffer[size] = '\0'; | ||
28 | } | 17 | } |
diff --git a/archival/libunarchive/decompress_bunzip2.c b/archival/libunarchive/decompress_bunzip2.c index 5e26ffd9f..ae96ea375 100644 --- a/archival/libunarchive/decompress_bunzip2.c +++ b/archival/libunarchive/decompress_bunzip2.c | |||
@@ -644,8 +644,7 @@ static int start_bunzip(bunzip_data **bdp, int in_fd, unsigned char *inbuf, | |||
644 | 644 | ||
645 | /* Allocate bunzip_data. Most fields initialize to zero. */ | 645 | /* Allocate bunzip_data. Most fields initialize to zero. */ |
646 | 646 | ||
647 | bd=*bdp=xmalloc(i); | 647 | bd=*bdp=xzalloc(i); |
648 | memset(bd,0,sizeof(bunzip_data)); | ||
649 | 648 | ||
650 | /* Setup input buffer */ | 649 | /* Setup input buffer */ |
651 | 650 | ||
diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c index 385f33dbf..69c4bf2b2 100644 --- a/archival/libunarchive/get_header_ar.c +++ b/archival/libunarchive/get_header_ar.c | |||
@@ -1,17 +1,6 @@ | |||
1 | /* | 1 | /* Copyright 2001 Glenn McGrath. |
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License as published by | ||
4 | * the Free Software Foundation; either version 2 of the License, or | ||
5 | * (at your option) any later version. | ||
6 | * | 2 | * |
7 | * This program is distributed in the hope that it will be useful, | 3 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
10 | * GNU Library General Public License for more details. | ||
11 | * | ||
12 | * You should have received a copy of the GNU General Public License | ||
13 | * along with this program; if not, write to the Free Software | ||
14 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
15 | */ | 4 | */ |
16 | 5 | ||
17 | #include <stdio.h> | 6 | #include <stdio.h> |
diff --git a/archival/libunarchive/get_header_cpio.c b/archival/libunarchive/get_header_cpio.c index 2bbcd8e5d..f54b5af69 100644 --- a/archival/libunarchive/get_header_cpio.c +++ b/archival/libunarchive/get_header_cpio.c | |||
@@ -1,17 +1,6 @@ | |||
1 | /* | 1 | /* Copyright 2002 Laurence Anderson |
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License as published by | ||
4 | * the Free Software Foundation; either version 2 of the License, or | ||
5 | * (at your option) any later version. | ||
6 | * | 2 | * |
7 | * This program is distributed in the hope that it will be useful, | 3 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
10 | * GNU Library General Public License for more details. | ||
11 | * | ||
12 | * You should have received a copy of the GNU General Public License | ||
13 | * along with this program; if not, write to the Free Software | ||
14 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
15 | */ | 4 | */ |
16 | 5 | ||
17 | #include <stdio.h> | 6 | #include <stdio.h> |
@@ -85,9 +74,8 @@ char get_header_cpio(archive_handle_t *archive_handle) | |||
85 | file_header->size = tmpsize; | 74 | file_header->size = tmpsize; |
86 | } | 75 | } |
87 | 76 | ||
88 | file_header->name = (char *) xmalloc(namesize + 1); | 77 | file_header->name = (char *) xzalloc(namesize + 1); |
89 | archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */ | 78 | archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */ |
90 | file_header->name[namesize] = '\0'; | ||
91 | archive_handle->offset += namesize; | 79 | archive_handle->offset += namesize; |
92 | 80 | ||
93 | /* Update offset amount and skip padding before file contents */ | 81 | /* Update offset amount and skip padding before file contents */ |
@@ -113,9 +101,8 @@ char get_header_cpio(archive_handle_t *archive_handle) | |||
113 | } | 101 | } |
114 | 102 | ||
115 | if (S_ISLNK(file_header->mode)) { | 103 | if (S_ISLNK(file_header->mode)) { |
116 | file_header->link_name = (char *) xmalloc(file_header->size + 1); | 104 | file_header->link_name = (char *) xzalloc(file_header->size + 1); |
117 | archive_xread_all(archive_handle, file_header->link_name, file_header->size); | 105 | archive_xread_all(archive_handle, file_header->link_name, file_header->size); |
118 | file_header->link_name[file_header->size] = '\0'; | ||
119 | archive_handle->offset += file_header->size; | 106 | archive_handle->offset += file_header->size; |
120 | file_header->size = 0; /* Stop possible seeks in future */ | 107 | file_header->size = 0; /* Stop possible seeks in future */ |
121 | } else { | 108 | } else { |
diff --git a/archival/libunarchive/get_header_tar.c b/archival/libunarchive/get_header_tar.c index c9308f906..f3f04b582 100644 --- a/archival/libunarchive/get_header_tar.c +++ b/archival/libunarchive/get_header_tar.c | |||
@@ -168,17 +168,15 @@ char get_header_tar(archive_handle_t *archive_handle) | |||
168 | break; | 168 | break; |
169 | #ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS | 169 | #ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS |
170 | case 'L': { | 170 | case 'L': { |
171 | longname = xmalloc(file_header->size + 1); | 171 | longname = xzalloc(file_header->size + 1); |
172 | archive_xread_all(archive_handle, longname, file_header->size); | 172 | archive_xread_all(archive_handle, longname, file_header->size); |
173 | longname[file_header->size] = '\0'; | ||
174 | archive_handle->offset += file_header->size; | 173 | archive_handle->offset += file_header->size; |
175 | 174 | ||
176 | return(get_header_tar(archive_handle)); | 175 | return(get_header_tar(archive_handle)); |
177 | } | 176 | } |
178 | case 'K': { | 177 | case 'K': { |
179 | linkname = xmalloc(file_header->size + 1); | 178 | linkname = xzalloc(file_header->size + 1); |
180 | archive_xread_all(archive_handle, linkname, file_header->size); | 179 | archive_xread_all(archive_handle, linkname, file_header->size); |
181 | linkname[file_header->size] = '\0'; | ||
182 | archive_handle->offset += file_header->size; | 180 | archive_handle->offset += file_header->size; |
183 | 181 | ||
184 | file_header->name = linkname; | 182 | file_header->name = linkname; |
diff --git a/archival/libunarchive/rangecoder.h b/archival/libunarchive/rangecoder.h index e43ec3908..b806eebf6 100644 --- a/archival/libunarchive/rangecoder.h +++ b/archival/libunarchive/rangecoder.h | |||
@@ -36,12 +36,12 @@ static void rc_read(rc_t * rc) | |||
36 | } | 36 | } |
37 | 37 | ||
38 | /* Called once */ | 38 | /* Called once */ |
39 | static ATTRIBUTE_ALWAYS_INLINE void rc_init(rc_t * rc, int fd, int buffer_size) | 39 | static void rc_init(rc_t * rc, int fd, int buffer_size) |
40 | { | 40 | { |
41 | int i; | 41 | int i; |
42 | 42 | ||
43 | rc->fd = fd; | 43 | rc->fd = fd; |
44 | rc->buffer = malloc(buffer_size); | 44 | rc->buffer = xmalloc(buffer_size); |
45 | rc->buffer_size = buffer_size; | 45 | rc->buffer_size = buffer_size; |
46 | rc->buffer_end = rc->buffer + rc->buffer_size; | 46 | rc->buffer_end = rc->buffer + rc->buffer_size; |
47 | rc->ptr = rc->buffer_end; | 47 | rc->ptr = rc->buffer_end; |