File k3b-trinity-over2gb-files.patch of Package kde3-k3b

From 8ade4e21303eb4feed76a9d8b26545f65dcc708a Mon Sep 17 00:00:00 2001
From: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Date: Sun, 23 Sep 2012 21:06:47 +0000
Subject: Update libisofs to read files greater than 2GB

This partially resolves Bug 1111
---
diff --git a/libk3b/tools/k3biso9660.cpp b/libk3b/tools/k3biso9660.cpp
index 45e2d12..f6ddea1 100644
--- a/libk3b/tools/k3biso9660.cpp
+++ b/libk3b/tools/k3biso9660.cpp
@@ -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);
 
diff --git a/libk3b/tools/k3biso9660.h b/libk3b/tools/k3biso9660.h
index 246fb67..c25ef48 100644
--- a/libk3b/tools/k3biso9660.h
+++ b/libk3b/tools/k3biso9660.h
@@ -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;
diff --git a/libk3b/tools/libisofs/isofs.cpp b/libk3b/tools/libisofs/isofs.cpp
index e5c871b..65f19eb 100644
--- a/libk3b/tools/libisofs/isofs.cpp
+++ b/libk3b/tools/libisofs/isofs.cpp
@@ -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) {
diff --git a/libk3b/tools/libisofs/isofs.h b/libk3b/tools/libisofs/isofs.h
index f284903..8dde726 100644
--- a/libk3b/tools/libisofs/isofs.h
+++ b/libk3b/tools/libisofs/isofs.h
@@ -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,
--
cgit v0.9.0.2-39-g756e
openSUSE Build Service is sponsored by