summaryrefslogtreecommitdiff
path: root/data/dmg2img/offset.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/dmg2img/offset.diff')
-rw-r--r--data/dmg2img/offset.diff22
1 files changed, 22 insertions, 0 deletions
diff --git a/data/dmg2img/offset.diff b/data/dmg2img/offset.diff
new file mode 100644
index 000000000..880994251
--- /dev/null
+++ b/data/dmg2img/offset.diff
@@ -0,0 +1,22 @@
+diff -ru dmg2img/dmg2img.c dmg2img+iPhone/dmg2img.c
+--- dmg2img/dmg2img.c 2007-08-07 08:53:45.000000000 +0000
++++ dmg2img+iPhone/dmg2img.c 2008-01-30 18:54:01.000000000 +0000
+@@ -180,8 +180,9 @@
+ if (verbose)
+ printf("decompressing:\n");
+
++ in_offs = 0;
+ percent = 0.0;
+- for (i = 0; i < partnum; i++) {
++ for (i = 0; i < partnum && in_offs != addr; i++) {
+ if (verbose)
+ printf("opening partition %d ...",i);
+ if (verbose>=3)
+@@ -199,6 +200,7 @@
+ out_size = convert_char4(parts[i]+offset+20)*0x200;
+ in_offs = convert_char4(parts[i]+offset+28);
+ in_size = convert_char4(parts[i]+offset+36);
++ fseek(FOUT, out_offs, SEEK_SET);
+ if (out_size!=0) {
+ if (block_type == BT_ZLIB) {
+ if (verbose>=3)