1 #include <stdio.h>
2 #include <stdlib.h>
3 /*
4   Fortran callable memory allocator
5 
6   Called as :
7 	ier = grgmem (size,pointer)
8 
9   where : size is an integer size of memory to allocate
10 	  pointer is an integer (integer*8 on some systems)
11            to return the pointer into
12 
13 */
14 
15 #ifdef PG_PPU
16 #define GRGMEM grgmem_
17 #define GRFMEM grfmem_
18 #else
19 #define GRGMEM grgmem
20 #define GRFMEM grfmem
21 #endif
22 
GRGMEM(size,pointer)23 int GRGMEM(size, pointer)
24 int *size;
25 void **pointer;
26 {
27   *pointer = malloc(*size);
28   /* printf("grgmem: %d %p\n", *size, *pointer); */
29   if (*pointer == NULL) return 0;
30   return 1;
31 }
32 
33 /*
34   Fortran callable memory deallocator
35 
36   Called as :
37 	ier = grfmem (size,pointer)
38 
39   where : size is an integer size of memory to deallocate (not used)
40 	  pointer is an integer that contains the pointer
41 
42 */
43 
GRFMEM(size,pointer)44 int GRFMEM(size, pointer)
45 int *size;
46 void **pointer;
47 {
48   free(*pointer);
49   return 1;
50 }
51 
52