Browse Source

(diff_dumpdir): Pass a valid device number to get_directory_contents.

Sergey Poznyakoff 19 years ago
parent
commit
9684c2728d
1 changed files with 15 additions and 2 deletions
  1. 15 2
      src/compare.c

+ 15 - 2
src/compare.c

@@ -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)
     {