summaryrefslogtreecommitdiffstats
path: root/libfdisk/src/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfdisk/src/context.c')
-rw-r--r--libfdisk/src/context.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c
index 4adc7cf30..908889b4f 100644
--- a/libfdisk/src/context.c
+++ b/libfdisk/src/context.c
@@ -49,6 +49,23 @@ struct fdisk_label *fdisk_context_get_label(struct fdisk_context *cxt, const cha
return NULL;
}
+int __fdisk_context_switch_label(struct fdisk_context *cxt,
+ struct fdisk_label *lb)
+{
+ if (!lb)
+ return -EINVAL;
+ cxt->label = lb;
+ DBG(LABEL, dbgprint("--> switching context to %s!", lb->name));
+ return 0;
+}
+
+int fdisk_context_switch_label(struct fdisk_context *cxt, const char *name)
+{
+ return __fdisk_context_switch_label(cxt,
+ fdisk_context_get_label(cxt, name));
+}
+
+
static void reset_context(struct fdisk_context *cxt)
{
size_t nlbs, i;