summaryrefslogtreecommitdiffstats
path: root/redhat/kdelibs/kdelibs-3.5.13-update_iso_kioslave_better_handle_large_image.patch
blob: 601bc41ea59ed486137cbe5b64ba108e6cbb4510 (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
commit dca4c677237b01768f5d6d798a2d918547d2ee8e
Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Date:   1341289561 -0500

    Update iso kioslave to better handle large images

diff --git a/kioslave/iso/kiso.cpp b/kioslave/iso/kiso.cpp
index c9e2d43..9ec1f1c 100644
--- a/kioslave/iso/kiso.cpp
+++ b/kioslave/iso/kiso.cpp
@@ -188,7 +188,7 @@ KIso::~KIso()
 }
 
 /* callback function for libisofs */
-static int readf(char *buf, long start, long len,void *udata) {
+static int readf(char *buf, long long start, long long len,void *udata) {
 
     TQIODevice* dev = ( static_cast<KIso*> (udata) )->device();
 
diff --git a/kioslave/iso/libisofs/isofs.c b/kioslave/iso/libisofs/isofs.c
index e599450..f1db442 100644
--- a/kioslave/iso/libisofs/isofs.c
+++ b/kioslave/iso/libisofs/isofs.c
@@ -122,7 +122,7 @@ void FreeBootTable(boot_head *boot) {
 	boot->defentry=NULL;
 }
 
-int BootImageSize(int media,long len) {
+int BootImageSize(int media,long long len) {
 	long long ret;
 
 	switch(media & 0xf) {
@@ -158,7 +158,7 @@ static boot_entry *CreateBootEntry(char *be) {
 	return entry;
 }
 
-int ReadBootTable(readfunc *read,long sector, boot_head *head, void *udata) {
+int ReadBootTable(readfunc *read,long long sector, boot_head *head, void *udata) {
 
 	char buf[2048], *c, *be;
 	int i,end=0;
@@ -221,7 +221,7 @@ err:
 /**
  * Creates the linked list of the volume descriptors
  */
-iso_vol_desc *ReadISO9660(readfunc *read,long sector,void *udata) {
+iso_vol_desc *ReadISO9660(readfunc *read,long long sector,void *udata) {
 				
 	int i;
 	struct iso_volume_descriptor buf;
@@ -577,7 +577,7 @@ int level=0,joliet=0,dirs,files;
 iconv_t iconv_d;
 int fd;
 
-int readf(char *buf, long start, long len,void *udata) {
+int readf(char *buf, long long start, long long len,void *udata) {
 	int ret;
 	
 	if ((ret=lseek64(fd, start << 11, SEEK_SET))<0) return ret;
diff --git a/kioslave/iso/libisofs/isofs.h b/kioslave/iso/libisofs/isofs.h
index b8971a4..1d17de4 100644
--- a/kioslave/iso/libisofs/isofs.h
+++ b/kioslave/iso/libisofs/isofs.h
@@ -50,13 +50,13 @@ typedef struct _rr_entry {
 	int		re; /* relocated */
 	char	z_algo[2]; /* zizofs algorithm */
 	char	z_params[2]; /* zizofs parameters */
-	long		z_size; /* zizofs real_size */
+	long long	z_size; /* zizofs real_size */
 } rr_entry;
 
 typedef struct _iso_vol_desc {
 	struct _iso_vol_desc	*next;
 	struct _iso_vol_desc	*prev;
-	struct iso_volume_descriptor	data;	
+	struct iso_volume_descriptor	data;
 } iso_vol_desc;
 
 typedef struct _boot_entry {
@@ -78,7 +78,7 @@ typedef struct _boot_head {
 /**
  * this callback function needs to read 'len' sectors from 'start' into 'buf' 
  */
-typedef int readfunc(char *buf,long start, long len,void *);
+typedef int readfunc(char *buf,long long start, long long len,void *);
 
 /**
  * ProcessDir uses this callback
@@ -107,7 +107,7 @@ time_t isodate_84261(char * p, int hs);
  * If the function fails, returns NULL
  * Don't forget to call FreeISO9660 after using the volume descriptor list!
  */
-iso_vol_desc *ReadISO9660(readfunc *read,long sector,void *udata);
+iso_vol_desc *ReadISO9660(readfunc *read,long long sector,void *udata);
 
 /**
  * Frees the linked list of volume descriptors
@@ -140,7 +140,7 @@ int JolietLevel(struct iso_volume_descriptor *ivd);
 /**
  * Returns the size of the boot image (in 512 byte sectors)
  */
-int BootImageSize(int media,long len);
+int BootImageSize(int media,long long len);
 
 /**
  * Frees the boot catalog entries in 'boot'. If you ever called ReadBootTable,
@@ -151,7 +151,7 @@ void FreeBootTable(boot_head *boot);
 /**
  * Reads the boot catalog into 'head'. Don't forget to call FreeBootTable!
  */
-int ReadBootTable(readfunc *read,long sector, boot_head *head, void *udata);
+int ReadBootTable(readfunc *read,long long sector, boot_head *head, void *udata);
 
 #ifdef __cplusplus
 } //extern "C"