diff options
Diffstat (limited to 'audio/cdparanoia/files/patch-interface_interface.c')
-rw-r--r-- | audio/cdparanoia/files/patch-interface_interface.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/audio/cdparanoia/files/patch-interface_interface.c b/audio/cdparanoia/files/patch-interface_interface.c new file mode 100644 index 0000000..3b8a43d --- /dev/null +++ b/audio/cdparanoia/files/patch-interface_interface.c @@ -0,0 +1,27 @@ +--- interface/interface.c.orig 2000-04-19 22:41:04 UTC ++++ interface/interface.c +@@ -30,11 +30,24 @@ int cdda_close(cdrom_drive *d){ + + _clean_messages(d); + if(d->cdda_device_name)free(d->cdda_device_name); ++#ifdef Linux + if(d->ioctl_device_name)free(d->ioctl_device_name); + if(d->drive_model)free(d->drive_model); + if(d->cdda_fd!=-1)close(d->cdda_fd); + if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd); + if(d->sg)free(d->sg); ++#elif defined(__FreeBSD__) ++ if (d->drive_model) ++ free(d->drive_model); ++ if (d->ccb) ++ cam_freeccb(d->ccb); ++ if (d->dev) ++ cam_close_device(d->dev); ++ if (d->sg_buffer) ++ free(d->sg_buffer); ++ if (d->ioctl_fd != -1) ++ close(d->ioctl_fd); ++#endif + + free(d); + } |