GRASS GIS 8 Programmer's Manual
8.2.2dev(2023)-3d2c704037
segment/release.c
Go to the documentation of this file.
1
2
/**
3
* \file lib/segment/release.c
4
*
5
* \brief Segment release routines.
6
*
7
* This program is free software under the GNU General Public License
8
* (>=v2). Read the file COPYING that comes with GRASS for details.
9
*
10
* \author GRASS GIS Development Team
11
*
12
* \date 2005-2009
13
*/
14
15
#include <stdlib.h>
16
#include <
grass/gis.h
>
17
#include "local_proto.h"
18
19
20
/**
21
* \fn int Segment_release (SEGMENT *SEG)
22
*
23
* \brief Free memory allocated to segment.
24
*
25
* Releases the allocated memory associated with the segment file
26
* <b>seg</b>.
27
*
28
* <b>Note:</b> Does not close the file. Does not flush the data which
29
* may be pending from previous <i>Segment_put()</i> calls.
30
*
31
* \param[in,out] SEG segment
32
* \return 1 if successful
33
* \return -1 if SEGMENT is not available (not open)
34
*/
35
36
int
Segment_release
(
SEGMENT
* SEG)
37
{
38
int
i;
39
40
if
(SEG->
open
!= 1)
41
return
-1;
42
43
for
(i = 0; i < SEG->
nseg
; i++)
44
G_free
(SEG->
scb
[i].
buf
);
45
G_free
(SEG->
scb
);
46
47
G_free
(SEG->
freeslot
);
48
G_free
(SEG->
agequeue
);
49
G_free
(SEG->
load_idx
);
50
51
SEG->
open
= 0;
52
53
return
1;
54
}
SEGMENT::nseg
int nseg
Definition:
segment.h:58
SEGMENT::open
int open
Definition:
segment.h:21
G_free
void G_free(void *)
Free allocated memory.
Definition:
gis/alloc.c:149
gis.h
SEGMENT::load_idx
int * load_idx
Definition:
segment.h:52
SEGMENT::scb::buf
char * buf
Definition:
segment.h:47
SEGMENT::agequeue
struct aq * agequeue
Definition:
segment.h:55
Segment_release
int Segment_release(SEGMENT *SEG)
Free memory allocated to segment.
Definition:
segment/release.c:36
SEGMENT::freeslot
int * freeslot
Definition:
segment.h:54
SEGMENT
Definition:
segment.h:19
SEGMENT::scb
struct SEGMENT::scb * scb
lib
segment
release.c
Generated on Tue Feb 14 2023 05:56:01 for GRASS GIS 8 Programmer's Manual by
1.8.13