comparison lwlib/lw_alloc.c @ 0:2c24602be78f

Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
author lost@l-w.ca
date Wed, 19 Jan 2011 22:27:17 -0700
parents
children ac311e7ffed6
comparison
equal deleted inserted replaced
-1:000000000000 0:2c24602be78f
1 /*
2 lw_alloc.c
3
4 Copyright © 2010 William Astle
5
6 This file is part of LWTOOLS.
7
8 LWTOOLS is free software: you can redistribute it and/or modify it under the
9 terms of the GNU General Public License as published by the Free Software
10 Foundation, either version 3 of the License, or (at your option) any later
11 version.
12
13 This program is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 more details.
17
18 You should have received a copy of the GNU General Public License along with
19 this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 #include <stdlib.h>
23
24 #define ___lw_alloc_c_seen___
25 #include "lw_alloc.h"
26
27 void lw_free(void *P)
28 {
29 if (P)
30 free(P);
31 }
32
33 void *lw_alloc(int size)
34 {
35 void *r;
36
37 r = malloc(size);
38 if (!r)
39 {
40 abort();
41 }
42 return r;
43 }
44
45 void *lw_realloc(void *P, int S)
46 {
47 void *r;
48
49 if (!P)
50 {
51 return lw_alloc(S);
52 }
53
54 if (!S)
55 {
56 lw_free(P);
57 return NULL;
58 }
59
60 r = realloc(P, S);
61 if (!r)
62 {
63 abort();
64 }
65 return r;
66 }