summaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--archival/bbunzip.c2
-rw-r--r--archival/libarchive/decompress_gunzip.c3
-rw-r--r--archival/libarchive/open_transformer.c4
-rw-r--r--archival/tar.c2
-rw-r--r--archival/unzip.c3
5 files changed, 11 insertions, 3 deletions
diff --git a/archival/bbunzip.c b/archival/bbunzip.c
index 90aac1427..a859ef201 100644
--- a/archival/bbunzip.c
+++ b/archival/bbunzip.c
@@ -177,6 +177,8 @@ int FAST_FUNC bbunpack(char **argv,
177 /* Delete _source_ file */ 177 /* Delete _source_ file */
178 del = filename; 178 del = filename;
179 } 179 }
180 if (ENABLE_PLATFORM_MINGW32)
181 xclose(STDIN_FILENO);
180 xunlink(del); 182 xunlink(del);
181 free_name: 183 free_name:
182 if (new_name != filename) 184 if (new_name != filename)
diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
index 1360abef7..dced609e5 100644
--- a/archival/libarchive/decompress_gunzip.c
+++ b/archival/libarchive/decompress_gunzip.c
@@ -36,6 +36,9 @@
36#include <setjmp.h> 36#include <setjmp.h>
37#include "libbb.h" 37#include "libbb.h"
38#include "bb_archive.h" 38#include "bb_archive.h"
39#if ENABLE_PLATFORM_MINGW32 && __GNUC__
40#pragma pack(2)
41#endif
39 42
40typedef struct huft_t { 43typedef struct huft_t {
41 unsigned char e; /* number of extra bits or operation */ 44 unsigned char e; /* number of extra bits or operation */
diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c
index ab6aa3afc..0a8c657b7 100644
--- a/archival/libarchive/open_transformer.c
+++ b/archival/libarchive/open_transformer.c
@@ -68,6 +68,7 @@ ssize_t FAST_FUNC xtransformer_write(transformer_state_t *xstate, const void *bu
68 return nwrote; 68 return nwrote;
69} 69}
70 70
71#if SEAMLESS_COMPRESSION
71void check_errors_in_children(int signo) 72void check_errors_in_children(int signo)
72{ 73{
73 int status; 74 int status;
@@ -155,9 +156,6 @@ void FAST_FUNC fork_transformer(int fd, const char *transform_prog)
155 xmove_fd(fd_pipe.rd, fd); 156 xmove_fd(fd_pipe.rd, fd);
156} 157}
157 158
158
159#if SEAMLESS_COMPRESSION
160
161/* Used by e.g. rpm which gives us a fd without filename, 159/* Used by e.g. rpm which gives us a fd without filename,
162 * thus we can't guess the format from filename's extension. 160 * thus we can't guess the format from filename's extension.
163 */ 161 */
diff --git a/archival/tar.c b/archival/tar.c
index aa03ba990..85551684b 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -549,6 +549,7 @@ static int FAST_FUNC writeFileToTarball(const char *fileName, struct stat *statb
549 } 549 }
550 } 550 }
551 551
552#if !ENABLE_PLATFORM_MINGW32
552 /* It is a bad idea to store the archive we are in the process of creating, 553 /* It is a bad idea to store the archive we are in the process of creating,
553 * so check the device and inode to be sure that this particular file isn't 554 * so check the device and inode to be sure that this particular file isn't
554 * the new tarball */ 555 * the new tarball */
@@ -558,6 +559,7 @@ static int FAST_FUNC writeFileToTarball(const char *fileName, struct stat *statb
558 bb_error_msg("%s: file is the archive; skipping", fileName); 559 bb_error_msg("%s: file is the archive; skipping", fileName);
559 return TRUE; 560 return TRUE;
560 } 561 }
562#endif
561 563
562 if (exclude_file(tbInfo->excludeList, header_name)) 564 if (exclude_file(tbInfo->excludeList, header_name))
563 return SKIP; 565 return SKIP;
diff --git a/archival/unzip.c b/archival/unzip.c
index 38a07e212..1ef026a9f 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -44,6 +44,9 @@
44 44
45#include "libbb.h" 45#include "libbb.h"
46#include "bb_archive.h" 46#include "bb_archive.h"
47#if ENABLE_PLATFORM_MINGW32 && __GNUC__
48#pragma pack(2)
49#endif
47 50
48enum { 51enum {
49#if BB_BIG_ENDIAN 52#if BB_BIG_ENDIAN