xref: /trunk/main/solenv/bin/modules/pre2par/exiter.pm (revision cdf0e10c)
1#*************************************************************************
2#
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org.  If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#*************************************************************************
27
28package pre2par::exiter;
29
30use pre2par::files;
31use pre2par::globals;
32
33############################################
34# Exiting the program with an error
35# This function is used instead of "die"
36############################################
37
38sub exit_program
39{
40	my ($message, $function) = @_;
41
42	my $infoline;
43
44	$infoline = "\n***************************************************************\n";
45	push(@pre2par::globals::logfileinfo, $infoline);
46	print("$infoline");
47
48	$infoline = "$message\n";
49	push(@pre2par::globals::logfileinfo, $infoline);
50	print("$infoline");
51
52	$infoline = "in function: $function\n";
53	push(@pre2par::globals::logfileinfo, $infoline);
54	print("$infoline");
55
56	$infoline = "***************************************************************\n";
57	push(@pre2par::globals::logfileinfo, $infoline);
58
59	if ($pre2par::globals::logging)
60	{
61		pre2par::files::save_file($pre2par::globals::logfilename ,\@pre2par::globals::logfileinfo);
62		print("Saved logfile: $pre2par::globals::logfilename\n");
63	}
64
65	print("$infoline");
66
67	exit(-1);
68}
69
701;
71