*** empty log message ***

This commit is contained in:
François Pinard
1994-11-16 02:47:32 +00:00
parent a2aa567aec
commit 5d7f82cb43
2 changed files with 67 additions and 9 deletions
+10 -9
View File
@@ -440,11 +440,12 @@ child_open ()
{
if (err < 0)
{
msg_perror ("can't write to compress");
msg_perror ("can't write to compression program");
exit (EX_SYSTEM);
}
else
msg ("write to compress short %d bytes", count - err);
msg ("write to compression program short %d bytes",
count - err);
count = (err < 0) ? 0 : err;
}
ptr += count;
@@ -472,20 +473,20 @@ child_open ()
/* EOF */
if (err == 0)
{
if (f_compress < 2)
if (!f_compress_block)
blocksize -= n;
else
bzero (ar_block->charptr + blocksize - n, n);
err = rmtwrite (archive, ar_block->charptr, blocksize);
if (err != (blocksize))
writeerror (err);
if (f_compress < 2)
if (!f_compress_block)
blocksize += n;
break;
}
if (n)
{
msg_perror ("can't read from compress");
msg_perror ("can't read from compression program");
exit (EX_SYSTEM);
}
err = rmtwrite (archive, ar_block->charptr, (int) blocksize);
@@ -500,10 +501,10 @@ child_open ()
}
/* So we should exec compress (-d) */
if (ar_reading)
execlp ("compress", "compress", "-d", (char *) 0);
execlp (f_compressprog, f_compressprog, "-d", (char *) 0);
else
execlp ("compress", "compress", (char *) 0);
msg_perror ("can't exec compress");
execlp (f_compressprog, f_compressprog, (char *) 0);
msg_perror ("can't exec %s", f_compressprog);
_exit (EX_SYSTEM);
}
@@ -573,7 +574,7 @@ open_archive (reading)
exit (EX_ARGSBAD);
}
if (f_compress)
if (f_compressprog)
{
if (reading == 2 || f_verify)
{
+57
View File
@@ -0,0 +1,57 @@
/* Read files directly from the fast file system
Copyright (C) 1992 Free Software Foundation
This file is part of GNU Tar.
GNU Tar is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2, or (at
your option) any later version.
GNU Tar is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Tar; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
dev_t lastdev;
ino_t lastino;
struct dinode ino;
struct fs fs;
off_t offset;
int device_fd;
int *sindir, *dindir, *tindir;
int sindirblk, dindirblk, tindirblk;
read_raw_file (fd, buf, len)
int fd;
char *buf;
int len;
{
struct stat st;
off_t ntoread;
int log_blkno, phys_blkno;
fstat (fd, &st);
if (st.st_dev != lastdev)
new_device (st.st_dev);
if (st.st_ino != lastino)
new_inode (st.st_ino);
/* Only read single blocks at a time */
if (len > fs.fs_bsize)
len = fs.fs_bsize;
/* Prune to the length of the file */
if (offset + len > ino.di_size)
len = ino.di_size - offset;
log_blkno = lblkno (&fs, blkno);