(buffer_write_global_xheader): New function
Update to use new xheader calls.
This commit is contained in:
24
src/buffer.c
24
src/buffer.c
@@ -121,6 +121,15 @@ static off_t save_totsize; /* total size of file we are writing, only
|
||||
static off_t save_sizeleft; /* where we are in the file we are writing,
|
||||
only valid if save_name is nonzero */
|
||||
|
||||
|
||||
static struct tar_stat_info dummy;
|
||||
|
||||
void
|
||||
buffer_write_global_xheader ()
|
||||
{
|
||||
xheader_write_global (&dummy.xhdr);
|
||||
}
|
||||
|
||||
void
|
||||
mv_begin (struct tar_stat_info *st)
|
||||
{
|
||||
@@ -1123,7 +1132,6 @@ try_new_volume ()
|
||||
{
|
||||
size_t status;
|
||||
union block *header;
|
||||
struct tar_stat_info dummy;
|
||||
int access;
|
||||
|
||||
switch (subcommand_option)
|
||||
@@ -1295,7 +1303,7 @@ static void
|
||||
_write_volume_label (const char *str)
|
||||
{
|
||||
if (archive_format == POSIX_FORMAT)
|
||||
xheader_store ("GNU.volume.label", NULL, str);
|
||||
xheader_store ("GNU.volume.label", &dummy, str);
|
||||
else
|
||||
{
|
||||
union block *label = find_next_block ();
|
||||
@@ -1412,9 +1420,9 @@ add_multi_volume_header (void)
|
||||
if (archive_format == POSIX_FORMAT)
|
||||
{
|
||||
off_t d = real_s_totsize - real_s_sizeleft;
|
||||
xheader_store ("GNU.volume.filename", NULL, real_s_name);
|
||||
xheader_store ("GNU.volume.size", NULL, &real_s_sizeleft);
|
||||
xheader_store ("GNU.volume.offset", NULL, &d);
|
||||
xheader_store ("GNU.volume.filename", &dummy, real_s_name);
|
||||
xheader_store ("GNU.volume.size", &dummy, &real_s_sizeleft);
|
||||
xheader_store ("GNU.volume.offset", &dummy, &d);
|
||||
}
|
||||
else
|
||||
gnu_add_multi_volume_header ();
|
||||
@@ -1601,7 +1609,7 @@ _gnu_flush_write (size_t buffer_level)
|
||||
if (!new_volume (ACCESS_WRITE))
|
||||
return;
|
||||
|
||||
xheader_destroy (&extended_header);
|
||||
tar_stat_destroy (&dummy);
|
||||
|
||||
increase_volume_number ();
|
||||
prev_written += bytes_written;
|
||||
@@ -1619,7 +1627,9 @@ _gnu_flush_write (size_t buffer_level)
|
||||
if (real_s_name)
|
||||
add_multi_volume_header ();
|
||||
|
||||
write_extended (true, NULL, find_next_block ());
|
||||
write_extended (true, &dummy, find_next_block ());
|
||||
tar_stat_destroy (&dummy);
|
||||
|
||||
if (real_s_name)
|
||||
add_chunk_header ();
|
||||
header = find_next_block ();
|
||||
|
||||
Reference in New Issue
Block a user