diff options
Diffstat (limited to 'fdisk/fdiskdoslabel.c')
-rw-r--r-- | fdisk/fdiskdoslabel.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/fdisk/fdiskdoslabel.c b/fdisk/fdiskdoslabel.c index 299cff83..abf101b3 100644 --- a/fdisk/fdiskdoslabel.c +++ b/fdisk/fdiskdoslabel.c @@ -108,10 +108,10 @@ void dos_init(struct fdisk_context *cxt) for (i = 0; i < 4; i++) { struct pte *pe = &ptes[i]; - pe->part_table = pt_offset(MBRbuffer, i); + pe->part_table = pt_offset(cxt->mbr, i); pe->ext_pointer = NULL; pe->offset = 0; - pe->sectorbuffer = MBRbuffer; + pe->sectorbuffer = cxt->mbr; pe->changed = 0; } @@ -214,9 +214,9 @@ static void read_extended(struct fdisk_context *cxt, int ext) } } -void dos_print_mbr_id(void) +void dos_print_mbr_id(struct fdisk_context *cxt) { - printf(_("Disk identifier: 0x%08x\n"), dos_read_mbr_id(MBRbuffer)); + printf(_("Disk identifier: 0x%08x\n"), dos_read_mbr_id(cxt->mbr)); } void create_doslabel(struct fdisk_context *cxt) @@ -229,26 +229,25 @@ void create_doslabel(struct fdisk_context *cxt) fprintf(stderr, _("Building a new DOS disklabel with disk identifier 0x%08x.\n"), id); dos_init(cxt); - zeroize_mbr_buffer(); - + fdisk_mbr_zeroize(cxt); set_all_unchanged(); set_changed(0); /* Generate an MBR ID for this disk */ - dos_write_mbr_id(MBRbuffer, id); + dos_write_mbr_id(cxt->mbr, id); /* Put MBR signature */ - write_part_table_flag(MBRbuffer); + write_part_table_flag(cxt->mbr); } -void dos_set_mbr_id(void) +void dos_set_mbr_id(struct fdisk_context *cxt) { unsigned long new_id; char *ep; char ps[64]; snprintf(ps, sizeof ps, _("New disk identifier (current 0x%08x): "), - dos_read_mbr_id(MBRbuffer)); + dos_read_mbr_id(cxt->mbr)); if (read_chars(ps) == '\n') return; @@ -257,9 +256,9 @@ void dos_set_mbr_id(void) if (*ep != '\n') return; - dos_write_mbr_id(MBRbuffer, new_id); + dos_write_mbr_id(cxt->mbr, new_id); MBRbuffer_changed = 1; - dos_print_mbr_id(); + dos_print_mbr_id(cxt); } void dos_delete_partition(int i) @@ -321,7 +320,7 @@ int check_dos_label(struct fdisk_context *cxt) { int i; - if (!valid_part_table_flag(MBRbuffer)) + if (!valid_part_table_flag(cxt->mbr)) return 0; dos_init(cxt); @@ -668,8 +667,8 @@ void dos_write_table(struct fdisk_context *cxt) MBRbuffer_changed = 1; } if (MBRbuffer_changed) { - write_part_table_flag(MBRbuffer); - write_sector(cxt, 0, MBRbuffer); + write_part_table_flag(cxt->mbr); + write_sector(cxt, 0, cxt->mbr); } /* EBR (logical partitions) */ for (i = 4; i < partitions; i++) { |