|
cfree − free allocated memory |
#include <stdlib.h> /* In SunOS 4 */ int cfree(void *ptr); /* In glibc or FreeBSD libcompat */ void cfree(void *ptr); /* In SCO OpenServer */ void cfree(char *ptr, unsigned num, unsigned size); /* In Solaris watchmalloc.so.1 */ void cfree(void *ptr, size_t nelem, size_t elsize); |
|
This function should never be used. Use free(3) instead. |
|
1-arg cfree |
|
In glibc, the function cfree() is a synonym for free(3), "added for compatibility with SunOS". Other systems have other functions with this name. The declaration is sometimes in <stdlib.h> and sometimes in <malloc.h>. |
|
3-arg cfree |
|
Some SCO and Solaris versions have malloc libraries with a 3-argument cfree(), apparently as an analog to calloc(3). If you need it while porting something, add |
|
#define cfree(p, n, s) free((p)) |
|
to your file. A frequently asked question is "Can I use free() to free memory allocated with calloc(), or do I need cfree()?" Answer: use free(). 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." |
|
The SunOS version of cfree() (which is a synonym for free()) returns 1 on success and 0 on failure. In case of error, errno is set to EINVAL: the value of ptr was not a pointer to a block previously allocated by one of the routines in the malloc() family. |
|
The 3-argument version of cfree() as used by SCO conforms to the iBCSe2 standard: Intel386 Binary Compatibility Specification, Edition 2. |
....................................................................................................................................
About ~
Privacy Statement ~
Terms of Use ~
~
All Linux-Documentation.com