|
@@ -356,8 +356,21 @@ diff_special (void)
|
|
|
static void
|
|
|
diff_dumpdir (void)
|
|
|
{
|
|
|
- char *dumpdir_buffer = get_directory_contents (current_stat_info.file_name,
|
|
|
- 0);
|
|
|
+ char *dumpdir_buffer;
|
|
|
+ dev_t dev = 0;
|
|
|
+ struct stat stat;
|
|
|
+
|
|
|
+ if (deref_stat (true, current_stat_info.file_name, &stat))
|
|
|
+ {
|
|
|
+ if (errno == ENOENT)
|
|
|
+ stat_warn (current_stat_info.file_name);
|
|
|
+ else
|
|
|
+ stat_error (current_stat_info.file_name);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ dev = stat.st_dev;
|
|
|
+
|
|
|
+ dumpdir_buffer = get_directory_contents (current_stat_info.file_name, dev);
|
|
|
|
|
|
if (multi_volume_option)
|
|
|
{
|