Update libisofs to read files greater than 2GB

This partially resolves Bug 1111
pull/1/head
Timothy Pearson 12 years ago
parent 1c60648ff8
commit 8ade4e2130

@ -32,7 +32,7 @@
/* callback function for libisofs */
int K3bIso9660::read_callback( char* buf, sector_t start, int len, void* udata )
int K3bIso9660::read_callback( char* buf, sector_t start, long long len, void* udata )
{
K3bIso9660* isoF = static_cast<K3bIso9660*>(udata);

@ -38,7 +38,7 @@ struct iso_directory_record;
struct el_torito_boot_descriptor;
struct iso_primary_descriptor;
typedef long sector_t;
typedef long long sector_t;
@ -437,7 +437,7 @@ class LIBK3B_EXPORT K3bIso9660
int m_joliet;
// only used for creation
static int read_callback( char* buf, sector_t start, int len, void* udata );
static int read_callback( char* buf, sector_t start, long long len, void* udata );
static int isofs_callback( struct iso_directory_record* idr, void *udata );
K3bIso9660Directory *dirent;
bool m_rr;

@ -121,7 +121,7 @@ void FreeBootTable(boot_head *boot) {
boot->defentry=NULL;
}
int BootImageSize(readfunc* read,int media,sector_t start,int len,void* udata) {
int BootImageSize(readfunc* read,int media,sector_t start,long long len,void* udata) {
int ret;
switch(media & 0xf) {

@ -23,7 +23,7 @@
#include "iso_fs.h"
#include "el_torito.h"
typedef long sector_t;
typedef long long sector_t;
typedef struct _rr_entry {
int len; /* length of structure */
@ -48,7 +48,7 @@ typedef struct _rr_entry {
int re; /* relocated */
char z_algo[2]; /* zizofs algorithm */
char z_params[2]; /* zizofs parameters */
int z_size; /* zizofs real_size */
long long z_size; /* zizofs real_size */
} rr_entry;
typedef struct _iso_vol_desc {
@ -74,7 +74,7 @@ typedef struct _boot_head {
/**
* this callback function needs to read 'len' sectors from 'start' into 'buf'
*/
typedef int readfunc(char *buf,sector_t start, int len,void *);
typedef int readfunc(char *buf,sector_t start, long long len,void *);
/**
* ProcessDir uses this callback
@ -135,7 +135,7 @@ int JolietLevel(struct iso_volume_descriptor *ivd);
/**
* Returns the size of the boot image (in 512 byte sectors)
*/
int BootImageSize(readfunc *read,int media,sector_t start,int len,void *udata);
int BootImageSize(readfunc *read,int media,sector_t start,long long len,void *udata);
/**
* Frees the boot catalog entries in 'boot'. If you ever called ReadBootTable,

Loading…
Cancel
Save