/* Buffer management for tar.
- Copyright (C) 1988, 1992 Free Software Foundation
+ Copyright (C) 1988, 1992, 1993 Free Software Foundation
This file is part of GNU Tar.
{
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;
/* 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);
}
/* 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);
}
exit (EX_ARGSBAD);
}
- if (f_compress)
+ if (f_compressprog)
{
if (reading == 2 || f_verify)
{
sprintf (ar_block->header.arch_name, "%s Volume 1", f_volhdr);
else
strcpy (ar_block->header.arch_name, f_volhdr);
+ current_file_name = ar_block->header.arch_name;
ar_block->header.linkflag = LF_VOLHDR;
to_oct (time (0), 1 + 12, ar_block->header.mtime);
finish_header (ar_block);
{
/* We have to prompt from now on. */
if (f_run_script_at_end)
- system (info_script);
+ {
+ closeout_volume_number ();
+ system (info_script);
+ }
else
for (;;)
{