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.9 by schorsch, Sun Mar 28 20:33:12 2004 UTC vs.
Revision 2.10 by greg, Sat Jan 15 02:00:21 2022 UTC

# Line 14 | Line 14 | static const char      RCSid[] = "$Id$";
14   #include "rterror.h"
15   #include "rtmisc.h"
16  
17 < extern void *   /* return pointer to n uninitialized bytes */
17 > void *                  /* return pointer to n uninitialized bytes */
18   emalloc(size_t  n)
19   {
20 <        register void  *cp;
20 >        void  *cp;
21          
22          if (n == 0)
23                  return(NULL);
# Line 31 | Line 31 | emalloc(size_t  n)
31   }
32  
33  
34 < extern void *                   /* return pointer to initialized memory */
35 < ecalloc(register size_t ne, size_t es)
34 > void *                  /* return pointer to initialized memory */
35 > ecalloc(size_t ne, size_t es)
36   {
37 <        register char  *cp;
37 >        void  *cp;
38          
39 <        ne *= es;
40 <        if (ne == 0)
39 >        if (!ne | !es)
40                  return(NULL);
41  
42 <        if ((cp = malloc(ne)) == NULL) {
43 <                eputs("Out of memory in ecalloc\n");
44 <                quit(1);
45 <        }
46 <        cp += ne;
47 <        while (ne--)
49 <                *--cp = 0;
50 <        return(cp);
42 >        if ((cp = ecalloc(ne, es)) != NULL)
43 >                return(cp);
44 >
45 >        eputs("Out of memory in ecalloc\n");
46 >        quit(1);
47 >        return(NULL); /* pro forma return */
48   }
49  
50  
51 < extern void *                   /* reallocate cp to size n */
52 < erealloc(register void  *cp, size_t  n)
51 > void *                  /* reallocate cp to size n */
52 > erealloc(void  *cp, size_t  n)
53   {
54          if (n == 0) {
55                  if (cp != NULL)
# Line 74 | Line 71 | erealloc(register void  *cp, size_t  n)
71   }
72  
73  
74 < extern void                     /* free memory allocated by above */
75 < efree(void  *cp)
74 > void                    /* free memory allocated by above */
75 > efree(void *cp)
76   {
77 <        free(cp);
77 >        if (cp)
78 >                free(cp);
79   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines