www.LinuxHowtos.org





cfree

Section: C Library Functions (3)
Updated: 202-0-08
Index Return to Main Contents
 

NAME

cfree - free allocated memory  

LIBRARY

Standard C library (libc,~-lc)  

SYNOPSIS

#include <stdlib.h>
/* In SunOS 4 */
int cfree(void *ptr);
/* In glibc or FreeBSD libcompat */
void cfree(void *ptr);
/* In SCO OpenServer */
void cfree(unsigned int n, unsigned int size;
           char ptr[size * n], unsigned int n, unsigned int size);
/* In Solaris watchmalloc.so.1 */
void cfree(size_t n, size_t size;
           void ptr[size * n], size_t n, size_t size);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)): cfree():
    Since glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 and earlier:
        _BSD_SOURCE || _SVID_SOURCE
 

DESCRIPTION

This function should never be used. Use free(3) instead. Starting with glibc 2.26, it has been removed from glibc.  

-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>.  

-arg cfree

Some SCO and Solaris versions have malloc libraries with a -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(3) to free memory allocated with calloc(3), or do I need cfree()?[dq]. Answer: use free(3). An SCO manual writes: "The cfree routine is provided for compliance to the iBCSe2 standard and simply calls free. The n and size arguments to cfree are not used."  

RETURN VALUE

The SunOS version of cfree() (which is a synonym for free(3)) 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(3) family.  

ATTRIBUTES

For an explanation of the terms used in this section, see attributes(7).
InterfaceAttributeValue
cfree() Thread safetyM-Safe /* In glibc */
 

VERSIONS

The -argument version of cfree() as used by SCO conforms to the iBCSe2 standard: Intel386 Binary Compatibility Specification, Edition 2.  

STANDARDS

None.  

HISTORY

Removed in glibc 2.26.  

SEE ALSO

malloc(3)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
1-arg cfree
3-arg cfree
RETURN VALUE
ATTRIBUTES
VERSIONS
STANDARDS
HISTORY
SEE ALSO