aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2019-01-05 21:13:01 +0000
committerRon Yorston <rmy@pobox.com>2019-01-06 08:09:52 +0000
commit17e53de99a31a4d8e1b6145899cb68023b2b58db (patch)
tree7a3051ace8786e769b14d81085937639cb355740
parentfa96aa8d70eb1dfd7b3550fab417a43b3a507a6d (diff)
downloadbusybox-w32-17e53de99a31a4d8e1b6145899cb68023b2b58db.tar.gz
busybox-w32-17e53de99a31a4d8e1b6145899cb68023b2b58db.tar.bz2
busybox-w32-17e53de99a31a4d8e1b6145899cb68023b2b58db.zip
tar: return correct exit code for empty tar file
The WIN32 implementation of check_errors_in_children shouldn't have reset bb_got_signal as it's used to signal an error.
-rw-r--r--archival/libarchive/open_transformer.c5
-rw-r--r--include/bb_archive.h4
2 files changed, 4 insertions, 5 deletions
diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c
index 399ee03a7..69f3ecc66 100644
--- a/archival/libarchive/open_transformer.c
+++ b/archival/libarchive/open_transformer.c
@@ -152,11 +152,6 @@ void FAST_FUNC fork_transformer(int fd, const char *transform_prog)
152 xmove_fd(fd_pipe.rd, fd); 152 xmove_fd(fd_pipe.rd, fd);
153} 153}
154#else /* ENABLE_PLATFORM_MINGW */ 154#else /* ENABLE_PLATFORM_MINGW */
155void check_errors_in_children(int signo UNUSED_PARAM)
156{
157 bb_got_signal = 0;
158}
159
160void FAST_FUNC fork_transformer(int fd, const char *transform_prog) 155void FAST_FUNC fork_transformer(int fd, const char *transform_prog)
161{ 156{
162 char *cmd; 157 char *cmd;
diff --git a/include/bb_archive.h b/include/bb_archive.h
index 5abcdcb44..7d70ac086 100644
--- a/include/bb_archive.h
+++ b/include/bb_archive.h
@@ -285,7 +285,11 @@ enum {
285 BBUNPK_SEAMLESS_MAGIC = (1 << 31) * ENABLE_ZCAT * SEAMLESS_COMPRESSION, 285 BBUNPK_SEAMLESS_MAGIC = (1 << 31) * ENABLE_ZCAT * SEAMLESS_COMPRESSION,
286}; 286};
287 287
288#if !ENABLE_PLATFORM_MINGW32
288void check_errors_in_children(int signo); 289void check_errors_in_children(int signo);
290#else
291#define check_errors_in_children(s) ((void)0)
292#endif
289#if BB_MMU 293#if BB_MMU
290void fork_transformer(int fd, 294void fork_transformer(int fd,
291 int signature_skipped, 295 int signature_skipped,