aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-11-16 18:21:37 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-11-16 18:21:37 -0800
commita40b7070ab2831cd59adca88f8b5dcb6fbfef4b9 (patch)
tree3ca39fe315c98695902e58ae301cb7b35e4134af /utils
parent0a6dda6bb64472e0027cb6b93ed43ba37c8c84af (diff)
downloadsyslinux.git-a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9.tar.gz
syslinux.git-a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9.tar.xz
syslinux.git-a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9.zip
isohybrid: make the -offset option actually work
Actually implement the -offset option. Credit for the patch goes to "cmdr from the gparted-forum", reported by Sven-Hendrik Haase <sh@lutzhaase.com>. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/isohybrid.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/utils/isohybrid.in b/utils/isohybrid.in
index 0726bed9..a1277848 100644
--- a/utils/isohybrid.in
+++ b/utils/isohybrid.in
@@ -221,7 +221,7 @@ $mbr .= "\0\0"; # Offset 446: actual partition table
# Print partition table
$offset = $opt{'offset'};
-$psize = $c*$h*$s;
+$psize = $c*$h*$s - $offset;
$bhead = int($offset/$s) % $h;
$bsect = ($offset % $s) + 1;
$bcyl = int($offset/($h*$s));
@@ -236,7 +236,7 @@ $pentry = $opt{'entry'}; # Partition slot
for ( $i = 1 ; $i <= 4 ; $i++ ) {
if ( $i == $pentry ) {
$mbr .= pack("CCCCCCCCVV", 0x80, $bhead, $bsect, $bcyl, $fstype,
- $ehead, $esect, $ecyl, 0, $psize);
+ $ehead, $esect, $ecyl, $offset, $psize);
} else {
$mbr .= "\0" x 16;
}