return P_("sector", "sectors", n);
}
-static void
-toggle_active(struct fdisk_context *cxt, int i) {
- struct pte *pe = &ptes[i];
- struct partition *p = pe->part_table;
-
- if (IS_EXTENDED (p->sys_ind) && !p->boot_ind)
- fprintf(stderr,
- _("WARNING: Partition %d is an extended partition\n"),
- i + 1);
- p->boot_ind = (p->boot_ind ? 0 : ACTIVE_FLAG);
- pe->changed = 1;
- fdisk_label_set_changed(cxt->label, 1);
-}
-
static void toggle_dos_compatibility_flag(struct fdisk_context *cxt)
{
struct fdisk_label *lb = fdisk_context_get_label(cxt, "dos");
switch (c) {
case 'a':
if (fdisk_is_disklabel(cxt, DOS))
- toggle_active(cxt, get_partition(cxt, 1, partitions));
+ dos_toggle_active(cxt, get_partition(cxt, 1, partitions));
else if (fdisk_is_disklabel(cxt, SUN))
toggle_sunflags(cxt, get_partition(cxt, 1, partitions),
SUN_FLAG_UNMNT);
}
}
+void dos_toggle_active(struct fdisk_context *cxt, int i)
+{
+ struct pte *pe = &ptes[i];
+ struct partition *p = pe->part_table;
+
+ if (IS_EXTENDED (p->sys_ind) && !p->boot_ind)
+ fprintf(stderr,
+ _("WARNING: Partition %d is an extended partition\n"),
+ i + 1);
+ p->boot_ind = (p->boot_ind ? 0 : ACTIVE_FLAG);
+ pe->changed = 1;
+ fdisk_label_set_changed(cxt->label, 1);
+}
+
static const struct fdisk_label_operations dos_operations =
{
.probe = dos_probe_label,
extern void dos_fix_partition_table_order(void);
extern void dos_move_begin(struct fdisk_context *cxt, int i);
+extern void dos_toggle_active(struct fdisk_context *cxt, int i);
extern int mbr_is_valid_magic(unsigned char *b);