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;