1 /*
2  * $Id: util.h,v 1.1 1998/05/17 15:27:45 elkner Exp $
3  *
4  * Author:  Harvest/Squid derived       http://squid.nlanr.net/Squid/
5  * Project: Jesred       http://ivs.cs.uni-magdeburg.de/~elkner/webtools/jesred/
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * http://www.gnu.org/copyleft/gpl.html or ./gpl.html
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21  *
22  */
23 
24 /*
25  * Copyright (c) 1994, 1995.  All rights reserved.
26  *
27  *   The Harvest software was developed by the Internet Research Task
28  *   Force Research Group on Resource Discovery (IRTF-RD):
29  *
30  *         Mic Bowman of Transarc Corporation.
31  *         Peter Danzig of the University of Southern California.
32  *         Darren R. Hardy of the University of Colorado at Boulder.
33  *         Udi Manber of the University of Arizona.
34  *         Michael F. Schwartz of the University of Colorado at Boulder.
35  *         Duane Wessels of the University of Colorado at Boulder.
36  *
37  *   This copyright notice applies to software in the Harvest
38  *   ``src/'' directory only.  Users should consult the individual
39  *   copyright notices in the ``components/'' subdirectories for
40  *   copyright information about other software bundled with the
41  *   Harvest source code distribution.
42  *
43  * TERMS OF USE
44  *
45  *   The Harvest software may be used and re-distributed without
46  *   charge, provided that the software origin and research team are
47  *   cited in any use of the system.  Most commonly this is
48  *   accomplished by including a link to the Harvest Home Page
49  *   (http://harvest.cs.colorado.edu/) from the query page of any
50  *   Broker you deploy, as well as in the query result pages.  These
51  *   links are generated automatically by the standard Broker
52  *   software distribution.
53  *
54  *   The Harvest software is provided ``as is'', without express or
55  *   implied warranty, and with no support nor obligation to assist
56  *   in its use, correction, modification or enhancement.  We assume
57  *   no liability with respect to the infringement of copyrights,
58  *   trade secrets, or any patents, and are not responsible for
59  *   consequential damages.  Proper use of the Harvest software is
60  *   entirely the responsibility of the user.
61  *
62  * DERIVATIVE WORKS
63  *
64  *   Users may make derivative works from the Harvest software, subject
65  *   to the following constraints:
66  *
67  *     - You must include the above copyright notice and these
68  *       accompanying paragraphs in all forms of derivative works,
69  *       and any documentation and other materials related to such
70  *       distribution and use acknowledge that the software was
71  *       developed at the above institutions.
72  *
73  *     - You must notify IRTF-RD regarding your distribution of
74  *       the derivative work.
75  *
76  *     - You must clearly notify users that your are distributing
77  *       a modified version and not the original Harvest software.
78  *
79  *     - Any derivative product is also subject to these copyright
80  *       and use restrictions.
81  *
82  *   Note that the Harvest software is NOT in the public domain.  We
83  *   retain copyright, as specified above.
84  *
85  * HISTORY OF FREE SOFTWARE STATUS
86  *
87  *   Originally we required sites to license the software in cases
88  *   where they were going to build commercial products/services
89  *   around Harvest.  In June 1995 we changed this policy.  We now
90  *   allow people to use the core Harvest software (the code found in
91  *   the Harvest ``src/'' directory) for free.  We made this change
92  *   in the interest of encouraging the widest possible deployment of
93  *   the technology.  The Harvest software is really a reference
94  *   implementation of a set of protocols and formats, some of which
95  *   we intend to standardize.  We encourage commercial
96  *   re-implementations of code complying to this set of standards.
97  */
98 
99 #ifndef UTIL_H
100 #define UTIL_H
101 
102 #define safe_free(x)    if (x) { free(x); x = NULL; }
103 
104 extern void HUPhandler(int);
105 extern void KILLhandler(int);
106 extern void *xcalloc(size_t, size_t);
107 extern char *savestr(const char *);
108 extern void delstr(char *);
109 
110 #endif
111