SDS_FREE(3)



NAME

     sds_create


SYNOPSIS

     #include <soi_sds.h>

     SDS *sds_create()
     int sds_free(SDS **sds)
     int sds_free_attr(ATTRIBUTES *attr)
     int sds_free_dim(DIMENSION *dim)
     char *sds_malloc_data(int numobytes)
     char *sds_malloc_string(int numochars)
     DIMENSION *sds_malloc_dimension(void)
     ATTRIBUTES *sds_malloc_attribute(void)
     int *sds_malloc_length(int rank)
     int sds_sizeof(int datatype)




DESCRIPTION

     sds_create() malloc's a new, empty sds structure.

     sds_create_data()

     sds_free() returns malloc'd memory space for a sds  back  to
     the free list, and returns a NULL pointer to a sds.

     sds_free_ptrs() returns malloc'd memory space  for  many  of
     the  sds  pointer members to the free list, and returns NULL
     pointers for each of the members.

     sds_free_data() frees the sds->data pointer,  returning  any
     space  to  the free list and returning a NULL pointer to the
     data member, if sds->own_data == SDS_OK_TO_FREE

     sds_free_attr(),      sds_free_color(),      sds_free_dim(),
     sds_free_filename(),   and   sds_free_varname()   free   the
     corrsponding sds pointer members and, with the exceptions of
     sds_free_attr()  and  sds_free_dim(), return NULL's in their
     places.

     sds_malloc_data()

     sds_malloc_string()

     sds_malloc_dimension()

     sds_malloc_attributev

     sds_malloc_length()

     sds_sizeof()


FILES


SEE ALSO


BUGS and FEATURES

     sds_free() frees only the same pointer members of the sds as
     sds_free_ptrs().  The  following members are left allocated,
     resulting in a possible memory leak:  sds.next, sds.recinfo,
     sds.varname, sds.axisinfo, sds.fp

     Mallocs only empty shells for attributes, parent,  dimension
     etc.



HISTORY

     1998-02-04     SOI Version 2.8