/** Remove the device info node and release its memory. */ static void fb_hListDevElemFree ( FB_LIST *list, DEV_PRINTER_DEVICE *node ) { fb_hListDynElemRemove( list, &node->elem ); free(node->device); free(node->printer_name); free(node); }
/** Free a list element. * * This function frees a list element by removing it from the list of * used elements and adding it to the list of free elements * ( struct _FB_LIST::fhead ). It also decreses the number of used * elements ( struct _FB_LIST::cnt ). * * @param list Pointer to the list structure. * @param elem List element to add to the list of free elements. */ void fb_hListFreeElem( FB_LIST *list, FB_LISTELEM *elem ) { /* remove entry from the list of used elements */ fb_hListDynElemRemove( list, elem ); /* add to free list */ elem->next = list->fhead; list->fhead = elem; }