summaryrefslogtreecommitdiffstats
path: root/libmpdvdkit2/device.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdvdkit2/device.c')
-rw-r--r--libmpdvdkit2/device.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libmpdvdkit2/device.c b/libmpdvdkit2/device.c
index 2b3d8999d5..f5a206728f 100644
--- a/libmpdvdkit2/device.c
+++ b/libmpdvdkit2/device.c
@@ -134,8 +134,11 @@ int _dvdcss_open ( dvdcss_t dvdcss )
_dvdcss_debug( dvdcss, psz_debug );
#if defined( WIN32 )
- /* If device is not "X:", we are actually opening a file. */
- dvdcss->b_file = !psz_device[0] || psz_device[1] != ':' || psz_device[2];
+ dvdcss->b_file = 1;
+ /* If device is "X:" or "X:\", we are not actually opening a file. */
+ if (psz_device[0] && psz_device[1] == ':' &&
+ (!psz_device[2] || (psz_device[2] == '\\' && !psz_device[3])))
+ dvdcss->b_file = 0;
/* Initialize readv temporary buffer */
dvdcss->p_readv_buffer = NULL;