tar: do "short EOF" compat only if CONFIG_DESKTOP.

ash: add a comment about new minor bug
This commit is contained in:
Denis Vlasenko 2008-02-14 08:52:30 +00:00
parent b5ee8db9b5
commit 12c0622231
2 changed files with 12 additions and 1 deletions

View File

@ -90,15 +90,22 @@ char get_header_tar(archive_handle_t *archive_handle)
again_after_align:
#if ENABLE_DESKTOP
i = full_read(archive_handle->src_fd, &tar, 512);
/* if GNU tar sees EOF in above read, it says:
* "tar: A lone zero block at N", where N = kilobyte
* where EOF was met (not EOF block, actual EOF!),
* and tar will exit with error code 0! Mimic exit(0): */
* and tar will exit with error code 0.
* We will mimic exit(0), although we will not mimic
* the message and we don't check whether we indeed
* saw zero block directly before this. */
if (i == 0)
xfunc_error_retval = 0;
if (i != 512)
bb_error_msg_and_die("short read");
#else
xread(archive_handle->src_fd, &tar, 512);
#endif
archive_handle->offset += 512;
/* If there is no filename its an empty header */

View File

@ -1,5 +1,9 @@
Various bits of what is known about busybox shells, in no particular order.
2008-02-14
ash: does not restore tty pgrp if killed by HUP. Symptom: Midnigth Commander
is backgrounded if you started ash under it, and then killed it with HUP.
2007-11-23
hush: fixed bogus glob handling; fixed exec <"$1"; added test and echo builtins