wok rev 17442
qemu/cloop: fix V0-V2
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Dec 10 21:59:12 2014 +0100 (2014-12-10) |
parents | ea94058cfe7f |
children | 1f94f879d67c |
files | qemu/stuff/cloop.u |
line diff
1.1 --- a/qemu/stuff/cloop.u Tue Dec 09 18:22:52 2014 +0100 1.2 +++ b/qemu/stuff/cloop.u Wed Dec 10 21:59:12 2014 +0100 1.3 @@ -30,7 +30,7 @@ 1.4 + // return (char *) "128BE accelerated knoppix 1.0"; 1.5 + } 1.6 + else { /* V2.0 */ 1.7 -+ uint64_t last = be64_to_cpu(ofs64[n]); 1.8 ++ uint64_t last = be64_to_cpu(ofs64[n - 1]); 1.9 + while (n--) { 1.10 + offsets[n].size = last - 1.11 + (offsets[n].offset = be64_to_cpu(ofs64[n])); 1.12 @@ -40,7 +40,7 @@ 1.13 + } 1.14 + } 1.15 + else if (ofs32[1] == 0) { /* V1.0 */ 1.16 -+ uint64_t last = le64_to_cpu(ofs64[n]); 1.17 ++ uint64_t last = le64_to_cpu(ofs64[n - 1]); 1.18 + while (n--) { 1.19 + offsets[n].size = last - 1.20 + (offsets[n].offset = le64_to_cpu(ofs64[n])); 1.21 @@ -49,7 +49,7 @@ 1.22 + // return (char *) "64LE v1.0"; 1.23 + } 1.24 + else if (ntohl(ofs32[0]) == (4*n) + 0x8C) { /* V0.68 */ 1.25 -+ uint64_t last = ntohl(ofs32[n]); 1.26 ++ uint64_t last = ntohl(ofs32[n - 1]); 1.27 + while (n--) { 1.28 + offsets[n].size = last - 1.29 + (offsets[n].offset = ntohl(ofs32[n]));