X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fcompare.c;h=7c514b96e3129ab4d205bbf512d12e4990bf686e;hb=8c0146d2c954c2b63e94695c95f0c7d56cc629ca;hp=185a61a35ef78b33c86b5f9e19090560f8703fc9;hpb=d88b2a613f4b1a5554e8c34c8f75b91abff5f0e9;p=chaz%2Ftar diff --git a/src/compare.c b/src/compare.c index 185a61a..7c514b9 100644 --- a/src/compare.c +++ b/src/compare.c @@ -80,7 +80,7 @@ process_noop (size_t size __attribute__ ((unused)), 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) { @@ -362,18 +362,6 @@ static void 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) { @@ -390,7 +378,7 @@ diff_dumpdir (struct tar_stat_info *dir) file_removed_diag (dir->orig_file_name, false, diag); return; } - } + } dumpdir_buffer = directory_contents (scan_directory (dir)); if (dumpdir_buffer) @@ -462,7 +450,7 @@ diff_multivol (void) void diff_archive (void) { - + set_next_block_after (current_header); /* Print the block from current_header and current_stat_info. */ @@ -477,7 +465,7 @@ diff_archive (void) 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. */ @@ -547,7 +535,7 @@ verify_volume (void) _("Verification may fail to locate original files."))); clear_directory_table (); - + if (!diff_buffer) diff_init ();