diff options
Diffstat (limited to 'man3/cfree.3')
-rw-r--r-- | man3/cfree.3 | 102 |
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. |