aboutsummaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2022-08-01 12:45:10 +0100
committerRon Yorston <rmy@pobox.com>2022-08-01 12:51:37 +0100
commit67a630e5af1ace1dd528ea9652ee69102b3136c3 (patch)
treec918ed81ad1791c415a811d63d2f8771a7dd6ef7 /archival
parentb0f279a48f5f7e57b6f6e941e4b59e9a1bc54548 (diff)
downloadbusybox-w32-67a630e5af1ace1dd528ea9652ee69102b3136c3.tar.gz
busybox-w32-67a630e5af1ace1dd528ea9652ee69102b3136c3.tar.bz2
busybox-w32-67a630e5af1ace1dd528ea9652ee69102b3136c3.zip
make: new applet
This is an experimental implementation of make for busybox-w32, based on my public domain POSIX make: https://frippery.org/make/ (GitHub issue #44)
Diffstat (limited to 'archival')
-rw-r--r--archival/ar.c4
-rw-r--r--archival/libarchive/Kbuild.src1
-rw-r--r--archival/libarchive/unpack_ar_archive.c8
3 files changed, 9 insertions, 4 deletions
diff --git a/archival/ar.c b/archival/ar.c
index beccab217..b5565c936 100644
--- a/archival/ar.c
+++ b/archival/ar.c
@@ -30,12 +30,12 @@
30//config:config FEATURE_AR_LONG_FILENAMES 30//config:config FEATURE_AR_LONG_FILENAMES
31//config: bool "Support long filenames (not needed for debs)" 31//config: bool "Support long filenames (not needed for debs)"
32//config: default y 32//config: default y
33//config: depends on AR 33//config: depends on AR || MAKE
34//config: help 34//config: help
35//config: By default the ar format can only store the first 15 characters 35//config: By default the ar format can only store the first 15 characters
36//config: of the filename, this option removes that limitation. 36//config: of the filename, this option removes that limitation.
37//config: It supports the GNU ar long filename method which moves multiple long 37//config: It supports the GNU ar long filename method which moves multiple long
38//config: filenames into a the data section of a new ar entry. 38//config: filenames into the data section of a new ar entry.
39//config: 39//config:
40//config:config FEATURE_AR_CREATE 40//config:config FEATURE_AR_CREATE
41//config: bool "Support archive creation" 41//config: bool "Support archive creation"
diff --git a/archival/libarchive/Kbuild.src b/archival/libarchive/Kbuild.src
index d2f284b08..1c74250a2 100644
--- a/archival/libarchive/Kbuild.src
+++ b/archival/libarchive/Kbuild.src
@@ -47,6 +47,7 @@ lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
47 47
48lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o 48lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
49lib-$(CONFIG_CPIO) += get_header_cpio.o 49lib-$(CONFIG_CPIO) += get_header_cpio.o
50lib-$(CONFIG_MAKE) += get_header_ar.o unpack_ar_archive.o
50lib-$(CONFIG_TAR) += get_header_tar.o unsafe_prefix.o 51lib-$(CONFIG_TAR) += get_header_tar.o unsafe_prefix.o
51lib-$(CONFIG_FEATURE_TAR_TO_COMMAND) += data_extract_to_command.o 52lib-$(CONFIG_FEATURE_TAR_TO_COMMAND) += data_extract_to_command.o
52lib-$(CONFIG_LZOP) += lzo1x_1.o lzo1x_1o.o lzo1x_d.o 53lib-$(CONFIG_LZOP) += lzo1x_1.o lzo1x_1o.o lzo1x_d.o
diff --git a/archival/libarchive/unpack_ar_archive.c b/archival/libarchive/unpack_ar_archive.c
index 125d424c9..923a0b2ab 100644
--- a/archival/libarchive/unpack_ar_archive.c
+++ b/archival/libarchive/unpack_ar_archive.c
@@ -16,6 +16,10 @@ void FAST_FUNC unpack_ar_archive(archive_handle_t *ar_archive)
16 } 16 }
17 ar_archive->offset += AR_MAGIC_LEN; 17 ar_archive->offset += AR_MAGIC_LEN;
18 18
19 while (get_header_ar(ar_archive) == EXIT_SUCCESS) 19 while (get_header_ar(ar_archive) == EXIT_SUCCESS) {
20 continue; 20#if ENABLE_MAKE
21 free(ar_archive->file_header->name);
22 ar_archive->file_header->name = NULL;
23#endif
24 }
21} 25}