]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/compiler/core/mem.c
Security-28.tar.gz
[apple/security.git] / SecuritySNACCRuntime / compiler / core / mem.c
1 /*
2 * compiler/core/mem.c - used for allocating the components of the Module
3 * data structure. The program expects 0'ed memory
4 * to be returned by Malloc - this initializes ptrs
5 * to NULL.
6 *
7 * If there is not enough memory the Malloc exits
8 * (Callers of Malloc will never get a NULL return value)
9 *
10 * Copyright (C) 1991, 1992 Michael Sample
11 * and the University of British Columbia
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * $Header: /cvs/Darwin/Security/SecuritySNACCRuntime/compiler/core/mem.c,v 1.1 2001/06/20 21:27:57 dmitch Exp $
19 * $Log: mem.c,v $
20 * Revision 1.1 2001/06/20 21:27:57 dmitch
21 * Adding missing snacc compiler files.
22 *
23 * Revision 1.1.1.1 1999/03/16 18:06:50 aram
24 * Originals from SMIME Free Library.
25 *
26 * Revision 1.4 1995/07/25 19:11:50 rj
27 * use memzero that is defined in .../snacc.h to use either memset or bzero.
28 *
29 * Realloc() now checks realloc(3)'s return value.
30 *
31 * Revision 1.3 1994/10/08 03:48:49 rj
32 * since i was still irritated by cpp standing for c++ and not the C preprocessor, i renamed them to cxx (which is one known suffix for C++ source files). since the standard #define is __cplusplus, cplusplus would have been the more obvious choice, but it is a little too long.
33 *
34 * Revision 1.2 1994/09/01 00:39:27 rj
35 * snacc_config.h removed; more portable .h file inclusion.
36 *
37 * Revision 1.1 1994/08/28 09:49:21 rj
38 * first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
39 */
40
41 #include "snacc.h"
42
43 #if STDC_HEADERS
44 #include <stdlib.h>
45 #else
46 #if HAVE_STRING_H
47 #include <string.h>
48 #else
49 #include <memory.h>
50 #endif
51 #if HAVE_MALLOC_H
52 #include <malloc.h>
53 #endif
54 #endif
55
56 #include <stdio.h>
57
58 #include "mem.h"
59
60 void*
61 Malloc PARAMS ((size), int size)
62 {
63 void *retVal = malloc (size);
64
65 if (retVal == NULL)
66 {
67 fprintf (stderr, "out of memory! bye!\n");
68 fprintf (stderr, "tried to allocate %d byes\n", size);
69 exit (1);
70 }
71
72 memzero (retVal, size);
73 return retVal;
74
75 } /* Malloc */
76
77 void *Realloc PARAMS ((ptr, newsize),
78 void *ptr _AND_
79 int newsize)
80 {
81 void *retval = realloc (ptr, newsize);
82
83 if (retval == NULL)
84 {
85 fprintf (stderr, "out of memory! bye!\n");
86 fprintf (stderr, "tried to reallocate %d byes\n", newsize);
87 exit (1);
88 }
89
90 return retval;
91 }
92
93 void Free PARAMS ((ptr),
94 void *ptr)
95 {
96 free (ptr);
97 }