/* We're reading, but we just read the last block and it's time to update.
Declared in update.c
-
+
FIXME: Either eliminate it or move it to common.h.
*/
extern bool time_to_start_writing;
bufmap_locate (size_t off)
{
struct bufmap *map;
-
+
for (map = bufmap_head; map; map = map->next)
{
if (!map->next
FATAL_ERROR ((0, 0, _("No archive name given")));
tar_stat_destroy (¤t_stat_info);
-
+
record_index = 0;
init_buffer ();
map = map->next;
bufmap_reset (map, map ? (- map->start) : 0);
}
- }
+ }
return status;
}
size_t copy_size;
size_t bufsize;
struct bufmap *map;
-
+
status = _flush_write ();
if (status != record_size && !multi_volume_option)
archive_write_error (status);
}
map = bufmap_locate (status);
-
+
if (status % BLOCKSIZE)
{
ERROR ((0, 0, _("write did not end on a block boundary")));
copy_ptr = record_start->buffer + status;
copy_size = buffer_level - status;
-
+
/* Switch to the next buffer */
record_index = !record_index;
init_buffer ();
inhibit_map = 1;
-
+
if (volume_label_option)
add_volume_label ();