summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-07-02 23:26:01 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-07-02 23:26:01 -0500
commitdca4c677237b01768f5d6d798a2d918547d2ee8e (patch)
tree1b0ac0ac9cadca325b2f0d8c5816b19ab8a5814a
parentd1c71f692f5329dbfe817bbed41c5137be608efa (diff)
downloadtdelibs-dca4c677.tar.gz
tdelibs-dca4c677.zip
Update iso kioslave to better handle large images
-rw-r--r--kioslave/iso/kiso.cpp2
-rw-r--r--kioslave/iso/libisofs/isofs.c8
-rw-r--r--kioslave/iso/libisofs/isofs.h12
3 files changed, 11 insertions, 11 deletions
diff --git a/kioslave/iso/kiso.cpp b/kioslave/iso/kiso.cpp
index c9e2d4390..9ec1f1c3e 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 e59945026..f1db4427c 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 b8971a4c6..1d17de4bb 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"