Logo Search packages:      
Sourcecode: cabextract version File versions  Download package

void(* mscab_decompressor::close)(struct mscab_decompressor *self, struct mscabd_cabinet *cab)

Closes a previously opened cabinet or cabinet set.

This closes a cabinet, all cabinets associated with it via the mscabd_cabinet::next, mscabd_cabinet::prevcab and mscabd_cabinet::nextcab pointers, and all folders and files. All memory used by these entities is freed.

The cabinet pointer is now invalid and cannot be used again. All mscabd_folder and mscabd_file pointers from that cabinet or cabinet set are also now invalid, and cannot be used again.

If the cabinet pointer given was created using search(), it MUST be the cabinet pointer returned by search() and not one of the later cabinet pointers further along the mscabd_cabinet::next chain.

If extra cabinets have been added using append() or prepend(), these will all be freed, even if the cabinet pointer given is not the first cabinet in the set. Do NOT close() more than one cabinet in the set.

The mscabd_cabinet::filename is not freed by the library, as it is not allocated by the library. The caller should free this itself if necessary, before it is lost forever.

Parameters:
self a self-referential pointer to the mscab_decompressor instance being called
cab the cabinet to close
See also:
open(), search(), append(), prepend()


Generated by  Doxygen 1.6.0   Back to index