summaryrefslogtreecommitdiffstats
path: root/libfdisk/src/ask.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfdisk/src/ask.c')
-rw-r--r--libfdisk/src/ask.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c
index babe040ad..9fabc99c8 100644
--- a/libfdisk/src/ask.c
+++ b/libfdisk/src/ask.c
@@ -320,6 +320,24 @@ int fdisk_ask_number_is_relative(struct fdisk_ask *ask)
}
/**
+ * fdisk_ask_number_is_wrap_negative:
+ * @ask: ask instance
+ *
+ * The wrap-negative flag allows to accept negative number from user. In this
+ * case the dialog result is calculated as "high - num" (-N from high limit).
+ *
+ * Returns: 1 or 0.
+ *
+ * Since: 2.33
+ */
+int fdisk_ask_number_is_wrap_negative(struct fdisk_ask *ask)
+{
+ assert(ask);
+ assert(is_number_ask(ask));
+ return ask->data.num.wrap_negative;
+}
+
+/**
* fdisk_ask_number_set_relative
* @ask: ask instance
* @relative: 0 or 1
@@ -354,6 +372,13 @@ int fdisk_ask_number_inchars(struct fdisk_ask *ask)
return ask->data.num.inchars;
}
+int fdisk_ask_number_set_wrap_negative(struct fdisk_ask *ask, int wrap_negative)
+{
+ assert(ask);
+ ask->data.num.wrap_negative = wrap_negative ? 1 : 0;
+ return 0;
+}
+
/*
* Generates string with list ranges (e.g. 1,2,5-8) for the 'cur'
*/