From: H. Peter Anvin Date: Tue, 17 Nov 2009 02:21:37 +0000 (-0800) Subject: isohybrid: make the -offset option actually work X-Git-Tag: syslinux-3.84-pre3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a40b7070ab2831cd59adca88f8b5dcb6fbfef4b9;p=platform%2Fupstream%2Fsyslinux.git 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 . Signed-off-by: H. Peter Anvin --- diff --git a/utils/isohybrid.in b/utils/isohybrid.in index 0726bed..a127784 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; }