]> Dogcows Code - chaz/tar/blobdiff - src/extract.c
Normalized use of remove_any_file().
[chaz/tar] / src / extract.c
index 1fe4276e352cdbee0be62c674b1a5aaf2c884c56..f348b822ed6620c2dcdd3854cdd460e9dc1166eb 100644 (file)
@@ -19,7 +19,7 @@
    with this program; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
-#include "system.h"
+#include <system.h>
 #include <quotearg.h>
 #include <errno.h>
 #include <xgetcwd.h>
@@ -114,7 +114,6 @@ extr_init (void)
   we_are_root = geteuid () == 0;
   same_permissions_option += we_are_root;
   same_owner_option += we_are_root;
-  xalloc_fail_func = extract_finish;
 
   /* Save 'root device' to avoid purging mount points.
      FIXME: Should the same be done after handling -C option ? */
@@ -463,7 +462,9 @@ prepare_to_extract (char const *file_name)
   switch (old_files_option)
     {
     case UNLINK_FIRST_OLD_FILES:
-      if (!remove_any_file (file_name, recursive_unlink_option)
+      if (!remove_any_file (file_name, 
+                            recursive_unlink_option ? RECURSIVE_REMOVE_OPTION 
+                                                      : ORDINARY_REMOVE_OPTION)
          && errno && errno != ENOENT)
        {
          unlink_error (file_name);
@@ -520,7 +521,7 @@ maybe_recoverable (char *file_name, int *interdir_made)
        case NO_OVERWRITE_DIR_OLD_FILES:
        case OVERWRITE_OLD_FILES:
          {
-           int r = remove_any_file (file_name, 0);
+           int r = remove_any_file (file_name, ORDINARY_REMOVE_OPTION);
            errno = EEXIST;
            return r;
          }
@@ -1210,3 +1211,10 @@ fatal_exit (void)
   error (TAREXIT_FAILURE, 0, _("Error is not recoverable: exiting now"));
   abort ();
 }
+
+void
+xalloc_die (void)
+{
+  error (0, 0, "%s", _("memory exhausted"));
+  fatal_exit ();
+}
This page took 0.029933 seconds and 4 git commands to generate.