ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/ealloc.c
(Generate patch)

Comparing ray/src/common/ealloc.c (file contents):
Revision 2.1 by greg, Tue Nov 12 16:54:23 1991 UTC vs.
Revision 2.2 by greg, Sat Feb 22 02:07:22 2003 UTC

# Line 1 | Line 1
1 /* Copyright 1988 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  ealloc.c - memory routines which call quit on error.
6   */
7  
8 + /* ====================================================================
9 + * The Radiance Software License, Version 1.0
10 + *
11 + * Copyright (c) 1990 - 2002 The Regents of the University of California,
12 + * through Lawrence Berkeley National Laboratory.   All rights reserved.
13 + *
14 + * Redistribution and use in source and binary forms, with or without
15 + * modification, are permitted provided that the following conditions
16 + * are met:
17 + *
18 + * 1. Redistributions of source code must retain the above copyright
19 + *         notice, this list of conditions and the following disclaimer.
20 + *
21 + * 2. Redistributions in binary form must reproduce the above copyright
22 + *       notice, this list of conditions and the following disclaimer in
23 + *       the documentation and/or other materials provided with the
24 + *       distribution.
25 + *
26 + * 3. The end-user documentation included with the redistribution,
27 + *           if any, must include the following acknowledgment:
28 + *             "This product includes Radiance software
29 + *                 (http://radsite.lbl.gov/)
30 + *                 developed by the Lawrence Berkeley National Laboratory
31 + *               (http://www.lbl.gov/)."
32 + *       Alternately, this acknowledgment may appear in the software itself,
33 + *       if and wherever such third-party acknowledgments normally appear.
34 + *
35 + * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
36 + *       and "The Regents of the University of California" must
37 + *       not be used to endorse or promote products derived from this
38 + *       software without prior written permission. For written
39 + *       permission, please contact [email protected].
40 + *
41 + * 5. Products derived from this software may not be called "Radiance",
42 + *       nor may "Radiance" appear in their name, without prior written
43 + *       permission of Lawrence Berkeley National Laboratory.
44 + *
45 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
46 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
47 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48 + * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
49 + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
50 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
51 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
52 + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
53 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
55 + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 + * SUCH DAMAGE.
57 + * ====================================================================
58 + *
59 + * This software consists of voluntary contributions made by many
60 + * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
61 + * information on Lawrence Berkeley National Laboratory, please see
62 + * <http://www.lbl.gov/>.
63 + */
64  
65 +
66   #include  <stdio.h>
67 + #include  <stdlib.h>
68  
69  
15 char  *malloc(), *realloc(), *emalloc(), *ecalloc(), *erealloc();
16
17
70   char *
71   emalloc(n)                      /* return pointer to n uninitialized bytes */
72 < unsigned  n;
72 > unsigned int  n;
73   {
74          register char  *cp;
75          
76          if (n == 0)
77                  return(NULL);
78  
79 <        if ((cp = malloc(n)) != NULL)
79 >        if ((cp = (char *)malloc(n)) != NULL)
80                  return(cp);
81  
82          eputs("Out of memory in emalloc\n");
# Line 34 | Line 86 | unsigned  n;
86  
87   char *
88   ecalloc(ne, es)                 /* return pointer to initialized memory */
89 < register unsigned  ne;
90 < unsigned  es;
89 > register unsigned int  ne;
90 > unsigned int  es;
91   {
92          register char  *cp;
93          
# Line 43 | Line 95 | unsigned  es;
95          if (ne == 0)
96                  return(NULL);
97  
98 <        if ((cp = malloc(ne)) == NULL) {
98 >        if ((cp = (char *)malloc(ne)) == NULL) {
99                  eputs("Out of memory in ecalloc\n");
100                  quit(1);
101          }
# Line 57 | Line 109 | unsigned  es;
109   char *
110   erealloc(cp, n)                 /* reallocate cp to size n */
111   register char  *cp;
112 < unsigned  n;
112 > unsigned int  n;
113   {
114          if (n == 0) {
115                  if (cp != NULL)
# Line 66 | Line 118 | unsigned  n;
118          }
119  
120          if (cp == NULL)
121 <                cp = malloc(n);
121 >                cp = (char *)malloc(n);
122          else
123 <                cp = realloc(cp, n);
123 >                cp = (char *)realloc((void *)cp, n);
124  
125          if (cp != NULL)
126                  return(cp);
# Line 78 | Line 130 | unsigned  n;
130   }
131  
132  
133 + void
134   efree(cp)                       /* free memory allocated by above */
135   char  *cp;
136   {
137 <        free(cp);
137 >        free((char *)cp);
138   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines