1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#include <stdio.h>
#include <stdlib.h>
/*
Fortran callable memory allocator
Called as :
ier = grgmem (size,pointer)
where : size is an integer size of memory to allocate
pointer is an integer to return the pointer into
*/
#ifdef PG_PPU
#define GRGMEM grgmem_
#define GRFMEM grfmem_
#else
#define GRGMEM grgmem
#define GRFMEM grfmem
#endif
int GRGMEM(size, pointer)
int *size;
#if 0
int *pointer;
#else
char **pointer;
#endif
{
#if 0
char *area = malloc(*size);
*pointer = (int)area;
if (area == NULL) return 0;
return 1;
#else
if (!(*pointer=malloc(*size)))
return 0;
else
return 1;
#endif
}
/*
Fortran callable memory deallocator
Called as :
ier = grfmem (size,pointer)
where : size is an integer size of memory to deallocate (not used)
pointer is an integer that contains the pointer
*/
int GRFMEM(size, pointer)
int *size;
#if 0
int *pointer;
#else
char **pointer;
#endif
{
#if 0
char *area = (char *)*pointer;
free(area);
return 1;
#else
free(*pointer);
return 1;
#endif
}
|