summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libfdisk/src/context.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c
index 94a0fb659..ef8b30b04 100644
--- a/libfdisk/src/context.c
+++ b/libfdisk/src/context.c
@@ -143,7 +143,7 @@ struct fdisk_context *fdisk_new_nested_context(struct fdisk_context *parent,
if (!cxt)
return NULL;
- DBG(CXT, ul_debugobj(parent, "alloc nested [%p]", cxt));
+ DBG(CXT, ul_debugobj(parent, "alloc nested [%p] [name=%s]", cxt, name));
cxt->refcount = 1;
fdisk_ref_context(parent);
@@ -153,9 +153,9 @@ struct fdisk_context *fdisk_new_nested_context(struct fdisk_context *parent,
return NULL;
if (name) {
- if (strcmp(name, "bsd") == 0)
+ if (strcasecmp(name, "bsd") == 0)
lb = cxt->labels[ cxt->nlabels++ ] = fdisk_new_bsd_label(cxt);
- else if (strcmp(name, "dos") == 0)
+ else if (strcasecmp(name, "dos") == 0 || strcasecmp(name, "mbr") == 0)
lb = cxt->labels[ cxt->nlabels++ ] = fdisk_new_dos_label(cxt);
}
@@ -211,10 +211,12 @@ struct fdisk_label *fdisk_get_label(struct fdisk_context *cxt, const char *name)
if (!name)
return cxt->label;
+ else if (strcasecmp(name, "mbr") == 0)
+ name = "dos";
for (i = 0; i < cxt->nlabels; i++)
if (cxt->labels[i]
- && strcmp(cxt->labels[i]->name, name) == 0)
+ && strcasecmp(cxt->labels[i]->name, name) == 0)
return cxt->labels[i];
DBG(CXT, ul_debugobj(cxt, "failed to found %s label driver", name));