/src/gdal/frmts/grib/degrib/g2clib/g2_free.c
Line | Count | Source |
1 | | #include <stdlib.h> |
2 | | #include "grib2.h" |
3 | | |
4 | | void g2_free(gribfield *gfld) |
5 | | //$$$ SUBPROGRAM DOCUMENTATION BLOCK |
6 | | // . . . . |
7 | | // SUBPROGRAM: g2_free |
8 | | // PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-28 |
9 | | // |
10 | | // ABSTRACT: This routine frees up memory that was allocated for |
11 | | // struct gribfield. |
12 | | // |
13 | | // PROGRAM HISTORY LOG: |
14 | | // 2002-10-28 Gilbert |
15 | | // |
16 | | // USAGE: g2_free(gribfield *gfld) |
17 | | // ARGUMENT: |
18 | | // gfld - pointer to gribfield structure (defined in include file grib2.h) |
19 | | // returned from routine g2_getfld. |
20 | | // |
21 | | // REMARKS: This routine must be called to free up memory used by |
22 | | // the decode routine, g2_getfld, when user no longer needs to |
23 | | // reference this data. |
24 | | // |
25 | | // ATTRIBUTES: |
26 | | // LANGUAGE: C |
27 | | // MACHINE: |
28 | | // |
29 | | //$$$ |
30 | 15.8k | { |
31 | | |
32 | 15.8k | if (gfld->idsect != 0 ) free(gfld->idsect); |
33 | 15.8k | if (gfld->local != 0 ) free(gfld->local); |
34 | 15.8k | if (gfld->list_opt != 0 ) free(gfld->list_opt); |
35 | 15.8k | if (gfld->igdtmpl != 0 ) free(gfld->igdtmpl); |
36 | 15.8k | if (gfld->ipdtmpl != 0 ) free(gfld->ipdtmpl); |
37 | 15.8k | if (gfld->coord_list != 0 ) free(gfld->coord_list); |
38 | 15.8k | if (gfld->idrtmpl != 0 ) free(gfld->idrtmpl); |
39 | 15.8k | if (gfld->bmap != 0 ) free(gfld->bmap); |
40 | 15.8k | if (gfld->fld != 0 ) free(gfld->fld); |
41 | 15.8k | free(gfld); |
42 | | |
43 | 15.8k | return; |
44 | 15.8k | } |