]> Dogcows Code - chaz/tar/blobdiff - src/misc.c
Minor fixes
[chaz/tar] / src / misc.c
index a76b24eb6764cc85106c8bc38fbfa94f446f76f0..116eb9673a615e7144b1e110ab5ff580e648435d 100644 (file)
@@ -745,6 +745,34 @@ stat_diag (char const *name)
     stat_error (name);
 }
 
+void
+file_removed_diag (const char *name, bool top_level,
+                  void (*diagfn) (char const *name))
+{
+  if (!top_level && errno == ENOENT)
+    WARNOPT (WARN_FILE_REMOVED,
+            (0, 0, _("%s: File removed before we read it"),
+             quotearg_colon (name)));
+  else
+    diagfn (name);
+}
+
+void
+dir_removed_diag (const char *name, bool top_level,
+                  void (*diagfn) (char const *name))
+{
+  if (!top_level && errno == ENOENT)
+    {
+      WARNOPT (WARN_FILE_REMOVED,
+              (0, 0, _("%s: Directory removed before we read it"),
+               quotearg_colon (name)));
+      if (exit_status == TAREXIT_SUCCESS)
+       exit_status = TAREXIT_DIFFERS;
+    }
+  else
+    diagfn (name);
+}
+
 void
 write_fatal_details (char const *name, ssize_t status, size_t size)
 {
This page took 0.020016 seconds and 4 git commands to generate.