]> Dogcows Code - chaz/tar/blobdiff - src/incremen.c
Fix bug in OLDGNU format creation.
[chaz/tar] / src / incremen.c
index 02cae38a7177a630baeb4806c2706d9708d1d1f1..fcfdaa949321cba4cb99ad6fe4cd3cf44690fb62 100644 (file)
@@ -709,10 +709,7 @@ scan_directory (char *dir, dev_t device, bool cmdline)
   
   if (deref_stat (dereference_option, name_buffer, &stat_data))
     {
-      dir_removed_diag (name_buffer, false, stat_diag);
-      /* FIXME: used to be
-           children = CHANGED_CHILDREN;
-        but changed to: */
+      dir_removed_diag (name_buffer, cmdline, stat_diag);
       free (name_buffer);
       free (dirp);
       return NULL;
@@ -760,7 +757,7 @@ scan_directory (char *dir, dev_t device, bool cmdline)
            {
              if (deref_stat (dereference_option, name_buffer, &stat_data))
                {
-                 stat_diag (name_buffer);
+                 file_removed_diag (name_buffer, false, stat_diag);
                  *entry = 'N';
                  continue;
                }
@@ -1324,6 +1321,13 @@ read_directory_file (void)
       return;
     }
 
+  /* Consume the first name from the name list and reset the
+     list afterwards.  This is done to change to the new
+     directory, if the first name is a chdir request (-C dir),
+     which is necessary to recreate absolute file names. */
+  name_from_list ();
+  blank_name_list ();
+  
   if (0 < getline (&buf, &bufsize, listed_incremental_stream))
     {
       char *ebuf;
This page took 0.02071 seconds and 4 git commands to generate.