blob: 7846dc5e30ffaffea797b75c25ea1511299b9384 (
plain) (
blame)
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
73
|
.TH LIBNORMALFORM_FREE 3 LIBNORMALFORM
.SH NAME
libnormalform_free \- Release a reference
.SH SYNOPSIS
.nf
#include <libnormalform.h>
void libnormalform_free(/* LIBNORMALFORM_SENTENCE | struct libnormalform_term */ *\fIobj\fP);
.fi
.PP
Link with
.IR -lnormalform .
.SH DESCRIPTION
The
.BR libnormalform_free ()
function can operate on both the type
.I LIBNORMALFORM_SENTENCE *
and the type
.IR "struct libnormalform_term *" .
The function recursively deallocates
.IR obj ,
however sence
.I LIBNORMALFORM_SENTENCE *
is reference counted,
.IR obj ,
if it is a
.IR "LIBNORMALFORM_SENTENCE *" ,
and any
.IR "LIBNORMALFORM_SENTENCE *"
stored in side it, will have it's reference
count decreased by one, and the object is
only deallocated (recursively) once the the
reference count reaches 0.
.PP
No action is taken if
.I obj
is
.IR NULL .
.SH RETURN VALUE
None.
.SH ERRORS
None.
.SH ATTRIBUTES
For an explanation of the terms used in this
section, see
.BR attributes (7)
and
.IR "info \(dq(libc)POSIX Safety Concepts\(dq" .
.TS
allbox;
lb lb lb
l l l.
Interface Attribute Value
T{
.BR libnormalform_free ()
T} Thread safety MT-Safe race:\fIobj\fP
T{
.BR libnormalform_free ()
T} Async-signal safety AS-Unsafe heap
T{
.BR libnormalform_free ()
T} Async-cancel safety AC-Unsafe heap
.TE
.SH SEE ALSO
.BR libnormalform (7),
.BR libnormalform_ref (3),
.BR libnormalform_free (3)
|