1 | /* |
|
|
2 | * static char *rcsid_glue_c = |
|
|
3 | * "$Id: glue.C,v 1.1 2006/08/13 17:16:00 elmex Exp $"; |
|
|
4 | */ |
|
|
5 | |
|
|
6 | /* |
1 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
2 | CrossFire, A Multiplayer game for X-windows |
8 | |
3 | |
9 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
4 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
10 | Copyright (C) 1992 Frank Tore Johansen |
5 | Copyright (C) 1992 Frank Tore Johansen |
… | |
… | |
21 | |
16 | |
22 | You should have received a copy of the GNU General Public License |
17 | You should have received a copy of the GNU General Public License |
23 | along with this program; if not, write to the Free Software |
18 | along with this program; if not, write to the Free Software |
24 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
25 | |
20 | |
26 | The authors can be reached via e-mail at crossfire-devel@real-time.com |
21 | The authors can be reached via e-mail at <crossfire@schmorp.de> |
27 | */ |
22 | */ |
28 | |
23 | |
29 | #include <global.h> |
24 | #include <global.h> |
30 | |
25 | |
31 | /* |
26 | /* |
… | |
… | |
36 | * |
31 | * |
37 | * Glue has been cleaned, so this file is almost empty now :) |
32 | * Glue has been cleaned, so this file is almost empty now :) |
38 | * Ryo 2005-07-15 |
33 | * Ryo 2005-07-15 |
39 | */ |
34 | */ |
40 | |
35 | |
41 | static const char* const fatalmsgs[80]={ |
36 | static const char *const fatalmsgs[80] = { |
42 | "Failed to allocate memory", |
37 | "Failed to allocate memory", |
43 | "Failed repeatedly to load maps", |
38 | "Failed repeatedly to load maps", |
44 | "Hashtable for archetypes is too small", |
39 | "Hashtable for archetypes is too small", |
45 | "Too many errors" |
40 | "Too many errors" |
46 | }; |
41 | }; |
47 | |
42 | |
48 | /* |
43 | /* |
49 | * fatal() is meant to be called whenever a fatal signal is intercepted. |
44 | * fatal() is meant to be called whenever a fatal signal is intercepted. |
50 | * It will call the emergency_save and the clean_tmp_files functions. |
45 | * It will call the emergency_save and the clean_tmp_files functions. |
51 | */ |
46 | */ |
|
|
47 | void |
52 | void fatal(int err) { |
48 | fatal (int err) |
|
|
49 | { |
53 | fprintf(logfile,"Fatal: %s\n",fatalmsgs[err]); |
50 | fprintf (logfile, "Fatal: %s\n", fatalmsgs[err]); |
54 | emergency_save(0); |
51 | cleanup (0); |
55 | clean_tmp_files(); |
|
|
56 | fprintf(logfile,"Exiting...\n"); |
|
|
57 | exit(err); |
|
|
58 | } |
52 | } |