diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-11-16 18:21:37 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-11-16 18:21:37 -0800 |
commit | a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9 (patch) | |
tree | 3ca39fe315c98695902e58ae301cb7b35e4134af | |
parent | 0a6dda6bb64472e0027cb6b93ed43ba37c8c84af (diff) | |
download | syslinux-a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9.tar.gz |
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>
-rw-r--r-- | utils/isohybrid.in | 4 |
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; } |