aboutsummaryrefslogtreecommitdiffstats
path: root/man3/libnormalform_free.3
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man3/libnormalform_free.373
1 files changed, 73 insertions, 0 deletions
diff --git a/man3/libnormalform_free.3 b/man3/libnormalform_free.3
new file mode 100644
index 0000000..7846dc5
--- /dev/null
+++ b/man3/libnormalform_free.3
@@ -0,0 +1,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)