[libdvdcss-devel] device: Check for errors from close() also on Windows
[email protected] (Diego Biurrun) Sun, 16 Nov 2014 21:37:49 +0100 (CET)
| Newsgroups | gmane.comp.video.videolan.libdvdcss,gmane.comp.video.videolan.libdvdcss.devel |
|---|---|
| Message-ID | <[email protected]> |
libdvdcss | branch: master | Diego Biurrun <[email protected]> | Fri Nov 14 21:05:42 2014 +0100| [aababbe6e30298c460a5837831c0e81ffbd3c2f7] | committer: Diego Biurrun device: Check for errors from close() also on Windows > http://git.videolan.org/gitweb.cgi/libdvdcss.git/?a=commit;h=aababbe6e30298c460a5837831c0e81ffbd3c2f7 --- src/device.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/device.c b/src/device.c index bcd54e2..7384f86 100644 --- a/src/device.c +++ b/src/device.c @@ -410,27 +410,25 @@ int dvdcss_raw_open ( dvdcss_t dvdcss, const char *psz_device ) int dvdcss_close_device ( dvdcss_t dvdcss ) { #if defined( WIN32 ) - if( dvdcss->b_file ) - { - close( dvdcss->i_fd ); - } - else - { - CloseHandle( (HANDLE) dvdcss->i_fd ); - } - /* Free readv temporary buffer */ free( dvdcss->p_readv_buffer ); dvdcss->p_readv_buffer = NULL; dvdcss->i_readv_buf_size = 0; -#else - int i_ret = close( dvdcss->i_fd ); - if( i_ret < 0 ) + + if( !dvdcss->b_file ) { - print_error( dvdcss, "Failed to close fd, data loss possible." ); - return i_ret; + CloseHandle( (HANDLE) dvdcss->i_fd ); } + else #endif + { + int i_ret = close( dvdcss->i_fd ); + if( i_ret < 0 ) + { + print_error( dvdcss, "Failed to close fd, data loss possible." ); + return i_ret; + } + } return 0; } _______________________________________________ libdvdcss-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libdvdcss-devel