shithub: libdvdcss

Download patch

ref: badd91978ce04f611601e04fc17a3b14269e6362
parent: 25ebde2b7dce3735df7a279884105bf050633ec1
author: KO Myung-Hun <komh@chollian.net>
date: Wed Sep 2 18:01:07 EDT 2009

Use 64-bit IO and binary mode on OS/2. 


--- a/src/device.c
+++ b/src/device.c
@@ -69,6 +69,8 @@
 #   define INCL_DOS
 #   define INCL_DOSDEVIOCTL
 #   include <os2.h>
+#   include <io.h>                                              /* setmode() */
+#   include <fcntl.h>                                           /* O_BINARY  */
 #endif
 
 #include "dvdcss/dvdcss.h"
@@ -672,10 +674,10 @@
 
     psz_dvd[0] = psz_device[0];
 
-    rc = DosOpen( ( PSZ )psz_dvd, &hfile, &ulAction, 0, FILE_NORMAL,
-                  OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW,
-                  OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE | OPEN_FLAGS_DASD,
-                  NULL );
+    rc = DosOpenL( ( PSZ )psz_dvd, &hfile, &ulAction, 0, FILE_NORMAL,
+                   OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW,
+                   OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE | OPEN_FLAGS_DASD,
+                   NULL );
 
     if( rc )
     {
@@ -682,6 +684,8 @@
         print_error( dvdcss, "failed to open device" );
         return -1;
     }
+
+    setmode( hfile, O_BINARY );
 
     dvdcss->i_fd = dvdcss->i_read_fd = hfile;