X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=src%2Fexit.c;fp=src%2Fexit.c;h=ad4d27cfe7b08097deebd97e3467440224e3a6a0;hb=3322ff6164a1e9dd3d1622c64a9b9b7c5f303ef6;hp=0000000000000000000000000000000000000000;hpb=d73c4937b8f7712f6eb78774fa9711b701b419fd;p=tar diff --git a/src/exit.c b/src/exit.c new file mode 100644 index 0000000..ad4d27c --- /dev/null +++ b/src/exit.c @@ -0,0 +1,37 @@ +/* This file is part of GNU tar. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include +#include "common.h" + +void (*fatal_exit_hook) (void); + +void +fatal_exit (void) +{ + if (fatal_exit_hook) + fatal_exit_hook (); + error (TAREXIT_FAILURE, 0, _("Error is not recoverable: exiting now")); + abort (); +} + +void +xalloc_die (void) +{ + error (0, 0, "%s", _("memory exhausted")); + fatal_exit (); +}