summaryrefslogtreecommitdiffstats
path: root/man3/cfree.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/cfree.3')
-rw-r--r--man3/cfree.3102
1 files changed, 102 insertions, 0 deletions
diff --git a/man3/cfree.3 b/man3/cfree.3
new file mode 100644
index 000000000..5d43a921a
--- /dev/null
+++ b/man3/cfree.3
@@ -0,0 +1,102 @@
+.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
+.\" USA.
+.\"
+.TH CFREE 3 2003-11-18 "" "Linux Programmer's Manual"
+.SH NAME
+cfree \- free allocated memory
+.SH SYNOPSIS
+.nf
+.sp
+.B "#include <stdlib.h>"
+.sp
+/* In SunOS 4 */
+.BI "int cfree(void *" ptr );
+.sp
+/* In glibc or FreeBSD libcompat */
+.BI "void cfree(void *" ptr );
+.sp
+/* In SCO OpenServer */
+.BI "void cfree(char *" ptr ", unsigned " num ", unsigned " size );
+.sp
+/* In Solaris watchmalloc.so.1 */
+.BI "void cfree(void *" ptr ", size_t " nelem ", size_t " elsize );
+.fi
+.SH DESCRIPTION
+This function should never be used. Use
+.BR free (3)
+instead.
+.SS "1-arg cfree"
+In glibc, the function
+.B cfree()
+is a synonym for
+.BR free (3),
+"added for compatibility with SunOS".
+.LP
+Other systems have other functions with this name.
+The declaration is sometimes in
+.I <stdlib.h>
+and sometimes in
+.IR <malloc.h> .
+.LP
+.SS "3-arg cfree"
+Some SCO and Solaris versions have malloc libraries with a 3-argument
+.BR cfree() ,
+apparently as an analog to
+.BR calloc (3).
+.LP
+If you need it while porting something, add
+.sp
+.in +5
+#define cfree(p, n, s) free((p))
+.in
+.sp
+to your file.
+.LP
+A frequently asked question is "Can I use
+.B free()
+to free memory allocated with
+.BR calloc() ,
+or do I need
+.BR cfree() ?"
+Answer: use
+.BR free() .
+.LP
+An SCO manual writes: "The cfree routine is provided for compliance
+to the iBCSe2 standard and simply calls free. The num and size
+arguments to cfree are not used."
+.SH "RETURN VALUE"
+The SunOS version of
+.B cfree()
+(which is a synonym for
+.BR free() )
+returns 1 on success and 0 on failure.
+In case of error,
+.I errno
+is set to EINVAL: the value of
+.I ptr
+was not a pointer to a block previously allocated by
+one of the routines in the malloc() family.
+.SH "CONFORMING TO"
+The 3-argument version of
+.B cfree()
+as used by SCO conforms to the iBCSe2 standard:
+Intel386 Binary Compatibility Specification, Edition 2.