diff options
Diffstat (limited to 'libfdisk/src/ask.c')
-rw-r--r-- | libfdisk/src/ask.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c index 5a0952271..babe040ad 100644 --- a/libfdisk/src/ask.c +++ b/libfdisk/src/ask.c @@ -142,6 +142,14 @@ int fdisk_do_ask(struct fdisk_context *cxt, struct fdisk_ask *ask) ask->type == FDISK_ASKTYPE_WARN ? "warn" : "?nothing?")); + if (!fdisk_has_dialogs(cxt) && + !(ask->type == FDISK_ASKTYPE_INFO || + ask->type == FDISK_ASKTYPE_WARNX || + ask->type == FDISK_ASKTYPE_WARN)) { + DBG(ASK, ul_debugobj(ask, "dialogs disabled")); + return -EINVAL; + } + if (!cxt->ask_cb) { DBG(ASK, ul_debugobj(ask, "no ask callback specified!")); return -EINVAL; |