mboot
partp = &mboot.parts[partition - 1];
&mboot.parts) + i - 1;
partp = mboot.parts;
partp = &mboot.parts[i];
if ((mboot.bootinst = malloc(MAX_SEC_SIZE)) == NULL)
if (read_disk(0, mboot.bootinst) == -1)
free(mboot.bootinst);
mboot.bootinst = NULL;
partp = &mboot.parts[i];
partp = &mboot.parts[i];
partp = &mboot.parts[0];
print_part(&mboot.parts[i - 1]);
if ((mboot.bootinst_size = sb.st_size) % secsize != 0)
if (mboot.bootinst != NULL)
free(mboot.bootinst);
if ((mboot.bootinst = malloc(mboot.bootinst_size = sb.st_size)) == NULL)
if ((n = read(fdesc, mboot.bootinst, mboot.bootinst_size)) == -1 ||
if (n != mboot.bootinst_size)
struct dos_partition *partp = &mboot.parts[0];
struct dos_partition *partp = &mboot.parts[i - 1];
struct dos_partition *partp = &mboot.parts[0];
static struct mboot mboot;
mboot.bootinst_size = secsize;
if (mboot.bootinst != NULL)
free(mboot.bootinst);
if ((mboot.bootinst = malloc(mboot.bootinst_size)) == NULL) {
if (read_disk(0, mboot.bootinst) == -1) {
if (le16dec(&mboot.bootinst[DOSMAGICOFFSET]) != DOSMAGIC) {
&mboot.bootinst[DOSPARTOFF + i * DOSPARTSIZE],
&mboot.parts[i]);
dos_partition_enc(&mboot.bootinst[DOSPARTOFF + i * DOSPARTSIZE],
&mboot.parts[i]);
le16enc(&mboot.bootinst[DOSMAGICOFFSET], DOSMAGIC);
for(sector = 0; sector < mboot.bootinst_size / secsize; sector++)
&mboot.bootinst[sector * secsize]) == -1) {