aboutsummaryrefslogtreecommitdiff
path: root/multimedia/k9copy-kde4/files/patch-libk9copy_k9dvd.cpp
blob: 76558a7e5623dfde60b9317279f9bc54f2809b9c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- libk9copy/k9dvd.cpp.orig   Mon Jan 16 10:40:01 2006
+++ libk9copy/k9dvd.cpp        Mon Jan 16 10:40:33 2006
@@ -199,7 +199,7 @@
         return -1;
     }

-    if ( fseek(filehandle, 32808, SEEK_SET )) {
+    if ( fseek(filehandle, 32768, SEEK_SET )) {
         fclose(filehandle);
         c=i18n("Couldn't seek in %1 for title\n").arg( dvd_device);
         setError(c);
@@ -207,12 +207,19 @@
         return -1;
     }

-    if ( 32 != (i = fread(title, 1, 32, filehandle)) ) {
+    {
+    #define DVD_SEC_SIZ 2048
+    char tempBuf[ DVD_SEC_SIZ ];
+    if ( DVD_SEC_SIZ != fread(tempBuf, 1, DVD_SEC_SIZ, filehandle) ) {
         fclose(filehandle);
 //        c=tr2i18n("Couldn't read enough bytes for title.\n");
 //        setError(c);
         strcpy(title, "unknown");
         return 0;
+    }
+    snprintf( title, 32, "%s", tempBuf + 40 );
+    i=32;
+
     }

     fclose (filehandle);