static int
process_rawdata (size_t bytes, char *buffer)
{
- size_t status = safe_read (diff_handle, diff_buffer, bytes);
+ size_t status = blocking_read (diff_handle, diff_buffer, bytes);
if (status != bytes)
{
diff_dumpdir (struct tar_stat_info *dir)
{
const char *dumpdir_buffer;
- dev_t dev = 0;
- struct stat stat_data;
-
- if (deref_stat (dir->file_name, &stat_data) != 0)
- {
- if (errno == ENOENT)
- stat_warn (dir->file_name);
- else
- stat_error (dir->file_name);
- }
- else
- dev = stat_data.st_dev;
if (dir->fd == 0)
{
file_removed_diag (dir->orig_file_name, false, diag);
return;
}
- }
+ }
dumpdir_buffer = directory_contents (scan_directory (dir));
if (dumpdir_buffer)
void
diff_archive (void)
{
-
+
set_next_block_after (current_header);
/* Print the block from current_header and current_stat_info. */
switch (current_header->header.typeflag)
{
default:
- ERROR ((0, 0, _("%s: Unknown file type `%c', diffed as normal file"),
+ ERROR ((0, 0, _("%s: Unknown file type '%c', diffed as normal file"),
quotearg_colon (current_stat_info.file_name),
current_header->header.typeflag));
/* Fall through. */
_("Verification may fail to locate original files.")));
clear_directory_table ();
-
+
if (!diff_buffer)
diff_init ();