abort (); /* Should not happen */
break;
}
+
+ if (!index_file_name
+ && wanted_access == ACCESS_WRITE
+ && strcmp (archive_name_array[0], "-") == 0)
+ stdlis = stderr;
}
else if (strcmp (archive_name_array[0], "-") == 0)
{
case ACCESS_WRITE:
archive = STDOUT_FILENO;
+ if (!index_file_name)
+ stdlis = stderr;
break;
case ACCESS_UPDATE:
archive = STDIN_FILENO;
write_archive_to_stdout = true;
record_end = record_start; /* set up for 1st record = # 0 */
+ if (!index_file_name)
+ stdlis = stderr;
break;
}
}
assign_string (&volume_label, NULL);
assign_string (&continued_file_name, NULL);
continued_file_size = continued_file_offset = 0;
-
+ current_block = record_start;
+
if (rmtclose (archive) != 0)
close_warn (*archive_name_cursor);
size_t status;
union block *header;
struct tar_stat_info dummy;
-
+ int access;
+
switch (subcommand_option)
{
case APPEND_SUBCOMMAND:
case CAT_SUBCOMMAND:
case UPDATE_SUBCOMMAND:
- if (!new_volume (ACCESS_UPDATE))
- return true;
+ access = ACCESS_UPDATE;
break;
default:
- if (!new_volume (ACCESS_READ))
- return true;
+ access = ACCESS_READ;
break;
}
+ if (!new_volume (access))
+ return true;
+
while ((status = rmtread (archive, record_start->buffer, record_size))
== SAFE_READ_ERROR)
archive_read_error ();