Table of Contents

Name

rle_raw_alloc - Allocate memory for rle_getraw or rle_putraw.

rle_raw_free - free memory allocated by rle_raw_alloc.

Synopsis

#include <rle.h>
#include <rle_raw.h>

rle_raw_alloc( the_hdr, scanp, nrawp )
rle_hdr * the_hdr;
rle_op *** scanp;
int ** nrawp;

rle_raw_free( the_hdr, scanp, nrawp )
rle_hdr * the_hdr;
rle_op ** scanp;
int * nrawp;

Description

The function rle_raw_alloc is provided to make it easier to allocate storage for use by the RLE "raw" functions. It examines the the_hdr structure provided and return (via its other arguments) newly allocated space suitable for reading from or writing to an RLE file described by the the_hdr structure. Rle_raw_alloc allocates (the_hdr->xmax - the_hdr->xmin + 1) elements per channel, which is more than should ever be needed for a valid RLE file.

Rle_raw_free should be used to free memory allocated by rle_raw_alloc(3) . The arguments are pointers to the allocated storage. This is distinct from rle_freeraw(3) , which only frees pixel arrays referenced by individual rle_op structures, while rle_raw_free frees the storage consumed by the arrays of pointers and rle_op structures. In fact, rle_freeraw should be called before calling rle_raw_free.

See Also

rle_hdr(3) , rle_op(3) , rle_putraw(3) , rle_getraw(3) , rle_freeraw(3) , librle(3) , RLE(5) .

Author

Spencer W. Thomas
University of Utah

Bugs

The naming confusion between rle_freeraw and rle_raw_free is unfortunate.


Table of Contents