diff options
author | Michal Soltys <soltys@ziu.info> | 2011-03-09 00:15:36 +0100 |
---|---|---|
committer | Michal Soltys <soltys@ziu.info> | 2011-03-09 00:15:36 +0100 |
commit | 4bcdb24bdb463e8b5cdf5d54a950b5e82776874b (patch) | |
tree | 849968aa5aca20220e6de3566e6d1775f1d26936 /com32/chain/utility.c | |
parent | b6d27b9550fdf166b7cb185f39db01832a72a066 (diff) | |
download | syslinux-4bcdb24bdb463e8b5cdf5d54a950b5e82776874b.tar.gz |
com32/chain: modify lba2chs() towards using disk_chs type
Signed-off-by: Michal Soltys <soltys@ziu.info>
Diffstat (limited to 'com32/chain/utility.c')
-rw-r--r-- | com32/chain/utility.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/com32/chain/utility.c b/com32/chain/utility.c index f0bfd8fd..fb59551b 100644 --- a/com32/chain/utility.c +++ b/com32/chain/utility.c @@ -46,7 +46,7 @@ void wait_key(void) } while (!cnt || (cnt < 0 && errno == EAGAIN)); } -uint32_t lba2chs(const struct disk_info *di, uint64_t lba, uint32_t mode) +void lba2chs(disk_chs *dst, const struct disk_info *di, uint64_t lba, uint32_t mode) { uint32_t c, h, s, t; uint32_t cs, hs, ss; @@ -86,7 +86,9 @@ uint32_t lba2chs(const struct disk_info *di, uint64_t lba, uint32_t mode) c = t / hs; } - return h | (s << 8) | ((c & 0x300) << 6) | ((c & 0xFF) << 16); + (*dst)[0] = h; + (*dst)[1] = s | ((c & 0x300) >> 2); + (*dst)[2] = c; } uint32_t get_file_lba(const char *filename) |