[Top] [Prev] [Next] [Bottom]

Ffree (3FML)

Ffree (3FML)

Name

Ffree, Ffree32-free space allocated for fielded buffer

Synopsis

#include <stdio.h>  
#include "fml.h"
int
Ffree(FBFR *fbfr)
#include "fml32.h"
int
Ffree32(FBFR32 *fbfr)

Description

Ffree() is used to recover space allocated to its argument fielded buffer. fbfr is a pointer to a fielded buffer. The fielded buffer is invalidated, that is, made non-fielded, and then freed.

Ffree() is recommended as opposed to free(3) (in UNIX System reference manuals), because Ffree() invalidates a fielded buffer whereas free(3) does not. It is important to invalidate fielded buffers because malloc(3) (in UNIX System reference manuals) re-uses memory that has been freed without clearing it. Thus, if free(3) were used, it would be possible for malloc to return a piece of memory that looks like a valid fielded buffer but is not.

Ffree32 is used with 32-bit FML.

Return Values

This function returns \-1 on error and sets Ferror to indicate the error condition.

Errors

Under the following conditions, Ffree() fails and sets Ferror to:

[FALIGNERR]
"fielded buffer not aligned" The buffer does not begin on the proper boundary.

[FNOTFLD]
"buffer not fielded" The buffer is not a fielded buffer or has not been initialized by Finit().

See Also

Fintro(3), malloc(3), free(3) in UNIX reference manuals, Falloc(3), Frealloc(3)



[Top] [Prev] [Next] [Bottom]