source: vendor/bash/3.1-p17/xmalloc.h@ 3274

Last change on this file since 3274 was 3231, checked in by bird, 18 years ago

eol style.

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1/* xmalloc.h -- defines for the `x' memory allocation functions */
2
3/* Copyright (C) 2001 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
7 Bash is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
11
12 Bash is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with Bash; see the file COPYING. If not, write to the Free Software
19 Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
20
21#if !defined (_XMALLOC_H_)
22#define _XMALLOC_H_
23
24#include "stdc.h"
25#include "bashansi.h"
26
27/* Generic pointer type. */
28#ifndef PTR_T
29
30#if defined (__STDC__)
31# define PTR_T void *
32#else
33# define PTR_T char *
34#endif
35
36#endif /* PTR_T */
37
38/* Allocation functions in xmalloc.c */
39extern PTR_T xmalloc __P((size_t));
40extern PTR_T xrealloc __P((void *, size_t));
41extern void xfree __P((void *));
42
43#if defined(USING_BASH_MALLOC) && !defined (DISABLE_MALLOC_WRAPPERS)
44extern PTR_T sh_xmalloc __P((size_t, const char *, int));
45extern PTR_T sh_xrealloc __P((void *, size_t, const char *, int));
46extern void sh_xfree __P((void *, const char *, int));
47
48#define xmalloc(x) sh_xmalloc((x), __FILE__, __LINE__)
49#define xrealloc(x, n) sh_xrealloc((x), (n), __FILE__, __LINE__)
50#define xfree(x) sh_xfree((x), __FILE__, __LINE__)
51
52#ifdef free
53#undef free
54#endif
55#define free(x) sh_xfree((x), __FILE__, __LINE__)
56#endif /* USING_BASH_MALLOC */
57
58#endif /* _XMALLOC_H_ */
Note: See TracBrowser for help on using the repository browser.