static void free_freebsd (void *p_obj) { _img_private_t *p_env = p_obj; if (NULL == p_env) return; if (NULL != p_env->device) free(p_env->device); if (_AM_CAM == p_env->access_mode) return free_freebsd_cam(p_env); else return cdio_generic_free(p_obj); }
static void free_freebsd (void *p_obj) { _img_private_t *p_env = p_obj; if (NULL == p_env) return; if (NULL != p_env->device) free(p_env->device); switch (p_env->access_mode) { case _AM_CAM: case _AM_MMC_RDWR: case _AM_MMC_RDWR_EXCL: free_freebsd_cam(p_env); break; case _AM_IOCTL: cdio_generic_free(p_obj); break; case _AM_NONE: break; } }