awips2/nativeLib/rary.cots.g2clib/g2_free.c
2017-04-21 18:33:55 -06:00

44 lines
1.3 KiB
C
Executable file

#include <stdlib.h>
#include "grib2.h"
void g2_free(gribfield *gfld)
//$$$ SUBPROGRAM DOCUMENTATION BLOCK
// . . . .
// SUBPROGRAM: g2_free
// PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-28
//
// ABSTRACT: This routine frees up memory that was allocated for
// struct gribfield.
//
// PROGRAM HISTORY LOG:
// 2002-10-28 Gilbert
//
// USAGE: g2_free(gribfield *gfld)
// ARGUMENT:
// gfld - pointer to gribfield structure (defined in include file grib2.h)
// returned from routine g2_getfld.
//
// REMARKS: This routine must be called to free up memory used by
// the decode routine, g2_getfld, when user no longer needs to
// reference this data.
//
// ATTRIBUTES:
// LANGUAGE: C
// MACHINE:
//
//$$$
{
if (gfld->idsect != 0 ) free(gfld->idsect);
if (gfld->local != 0 ) free(gfld->local);
if (gfld->list_opt != 0 ) free(gfld->list_opt);
if (gfld->igdtmpl != 0 ) free(gfld->igdtmpl);
if (gfld->ipdtmpl != 0 ) free(gfld->ipdtmpl);
if (gfld->coord_list != 0 ) free(gfld->coord_list);
if (gfld->idrtmpl != 0 ) free(gfld->idrtmpl);
if (gfld->bmap != 0 ) free(gfld->bmap);
if (gfld->fld != 0 ) free(gfld->fld);
free(gfld);
return;
}