diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2002-11-03 11:57:10 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2002-11-03 11:57:10 +0000 |
commit | 6ab32eb34ca6e0023bc7ab7f6ece9321116e091f (patch) | |
tree | 9c85cc19ea413e758efd1466c44997a110282c61 | |
parent | b8e556e5f54f2848bf1ad246189cb2bf44b643bd (diff) | |
download | busybox-w32-6ab32eb34ca6e0023bc7ab7f6ece9321116e091f.tar.gz busybox-w32-6ab32eb34ca6e0023bc7ab7f6ece9321116e091f.tar.bz2 busybox-w32-6ab32eb34ca6e0023bc7ab7f6ece9321116e091f.zip |
Move data_extract_all_prefix to dpkg, its only used there.
-rw-r--r-- | archival/dpkg.c | 16 | ||||
-rw-r--r-- | archival/libunarchive/Makefile.in | 1 | ||||
-rw-r--r-- | archival/libunarchive/data_extract_all_prefix.c | 36 | ||||
-rw-r--r-- | include/unarchive.h | 1 |
4 files changed, 15 insertions, 39 deletions
diff --git a/archival/dpkg.c b/archival/dpkg.c index df894472c..f921c43ee 100644 --- a/archival/dpkg.c +++ b/archival/dpkg.c | |||
@@ -1341,7 +1341,21 @@ static archive_handle_t *deb_extract(const char *filename, const char *ar_name, | |||
1341 | return(ar_archive->sub_archive); | 1341 | return(ar_archive->sub_archive); |
1342 | } | 1342 | } |
1343 | 1343 | ||
1344 | void unpack_package(deb_file_t *deb_file) | 1344 | static void data_extract_all_prefix(archive_handle_t *archive_handle) |
1345 | { | ||
1346 | char *name_ptr = archive_handle->file_header->name; | ||
1347 | |||
1348 | name_ptr += strspn(name_ptr, "./"); | ||
1349 | if (name_ptr[0] != '\0') { | ||
1350 | archive_handle->file_header->name = xmalloc(strlen(archive_handle->buffer) + 2 + strlen(name_ptr)); | ||
1351 | strcpy(archive_handle->file_header->name, archive_handle->buffer); | ||
1352 | strcat(archive_handle->file_header->name, name_ptr); | ||
1353 | data_extract_all(archive_handle); | ||
1354 | } | ||
1355 | return; | ||
1356 | } | ||
1357 | |||
1358 | static void unpack_package(deb_file_t *deb_file) | ||
1345 | { | 1359 | { |
1346 | const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name]; | 1360 | const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name]; |
1347 | const unsigned int status_num = search_status_hashtable(package_name); | 1361 | const unsigned int status_num = search_status_hashtable(package_name); |
diff --git a/archival/libunarchive/Makefile.in b/archival/libunarchive/Makefile.in index 65d4a31cd..432077721 100644 --- a/archival/libunarchive/Makefile.in +++ b/archival/libunarchive/Makefile.in | |||
@@ -26,7 +26,6 @@ LIBUNARCHIVE-y:= \ | |||
26 | \ | 26 | \ |
27 | data_skip.o \ | 27 | data_skip.o \ |
28 | data_extract_all.o \ | 28 | data_extract_all.o \ |
29 | data_extract_all_prefix.o \ | ||
30 | data_extract_to_stdout.o \ | 29 | data_extract_to_stdout.o \ |
31 | data_extract_to_buffer.o \ | 30 | data_extract_to_buffer.o \ |
32 | \ | 31 | \ |
diff --git a/archival/libunarchive/data_extract_all_prefix.c b/archival/libunarchive/data_extract_all_prefix.c deleted file mode 100644 index 53f6b8aa4..000000000 --- a/archival/libunarchive/data_extract_all_prefix.c +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) by Glenn McGrath <bug1@optushome.com.au> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | #include <string.h> | ||
20 | |||
21 | #include "libbb.h" | ||
22 | #include "unarchive.h" | ||
23 | |||
24 | extern void data_extract_all_prefix(archive_handle_t *archive_handle) | ||
25 | { | ||
26 | char *name_ptr = archive_handle->file_header->name; | ||
27 | |||
28 | name_ptr += strspn(name_ptr, "./"); | ||
29 | if (name_ptr[0] != '\0') { | ||
30 | archive_handle->file_header->name = xmalloc(strlen(archive_handle->buffer) + 2 + strlen(name_ptr)); | ||
31 | strcpy(archive_handle->file_header->name, archive_handle->buffer); | ||
32 | strcat(archive_handle->file_header->name, name_ptr); | ||
33 | data_extract_all(archive_handle); | ||
34 | } | ||
35 | return; | ||
36 | } | ||
diff --git a/include/unarchive.h b/include/unarchive.h index 56df5dadd..7926dccf5 100644 --- a/include/unarchive.h +++ b/include/unarchive.h | |||
@@ -76,7 +76,6 @@ extern void unpack_ar_archive(archive_handle_t *ar_archive); | |||
76 | 76 | ||
77 | extern void data_skip(archive_handle_t *archive_handle); | 77 | extern void data_skip(archive_handle_t *archive_handle); |
78 | extern void data_extract_all(archive_handle_t *archive_handle); | 78 | extern void data_extract_all(archive_handle_t *archive_handle); |
79 | extern void data_extract_all_prefix(archive_handle_t *archive_handle); | ||
80 | extern void data_extract_to_stdout(archive_handle_t *archive_handle); | 79 | extern void data_extract_to_stdout(archive_handle_t *archive_handle); |
81 | extern void data_extract_to_buffer(archive_handle_t *archive_handle); | 80 | extern void data_extract_to_buffer(archive_handle_t *archive_handle); |
82 | 81 | ||