CFREE(3)

NOM
cfree - Libérer la mémoire allouée

SYNOPSIS

#include <stdlib.h>

/* Dans SunOS 4 */
int cfree(void *ptr);

/* Dans glibc ou FreeBSD libcompat */
void cfree(void *ptr);

/* Dans SCO OpenServer */
void cfree(char *ptr, unsigned num, unsigned size);

/* Dans Solaris watchmalloc.so.1 */
void cfree(void *ptr, size_t nelem, size_t elsize);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

cfree() : _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
Cette fonction ne devrait jamais être utilisée. Utilisez free(3) à la place.

  cfree avec un argument
Dans la glibc, la fonction cfree() est un synonyme de free(3), « ajoutée pour être compatible avec SunOS ».

D'autres systèmes ont d'autres fonctions avec ce nom. La déclaration se trouve parfois dans <stdlib.h> et parfois dans <malloc.h>.

  cfree avec trois arguments
Certaines versions SCO et Solaris ont des bibliothèques malloc avec cfree() apparemment comme une analogie à calloc(3).

Si vous en avez besoin et que vous faites un portage, ajoutez

#define cfree(p, n, s) free((p))

dans votre fichier

Une question fréquemment posée est : « Puis-je utiliser free(3) pour libérer de la mémoire allouée avec calloc(3), ou bien dois-je utiliser cfree() ? » Réponse : utilisez free(3).

Un manuel SCO dit : « La routine cfree() est fournie pour être conforme à la norme iBCSe2 et faciliter les appels free(3). Les arguments num et size de cfree() ne sont pas utilisés. »

VALEUR RENVOYÉE
La version SunOS de cfree() (qui est un synonyme de free(3)) renvoie 1 si elle réussit et 0 si elle échoue. En cas d'erreur, errno est remplie avec EINVAL : la valeur de ptr n'était pas un pointeur vers un bloc précédemment alloué par l'une des routines de la famille malloc(3).

CONFORMITÉ
La version trois arguments de cfree() est utilisée par SCO pour être conforme à la norme iBCSe2 : Intel386 Binary Compatibility Specification, Edition 2.

VOIR AUSSI
malloc(3)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 20 juillet 2005 et révisée le 22 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 cfree ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.