aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-12-18 19:17:04 +0100
committerMattias Andrée <maandree@kth.se>2016-12-18 19:17:04 +0100
commit62a03f15989cf0b53e40fb9c37e65e13b4c64105 (patch)
tree6b726399b937a2173930c63f36de543c646928b7
parentm (diff)
downloadcg-tools-62a03f15989cf0b53e40fb9c37e65e13b4c64105.tar.gz
cg-tools-62a03f15989cf0b53e40fb9c37e65e13b4c64105.tar.bz2
cg-tools-62a03f15989cf0b53e40fb9c37e65e13b4c64105.tar.xz
cg-base: Add NO_DEFAULT_PRIORITY
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--src/cg-base.c27
-rw-r--r--src/cg-base.h13
2 files changed, 27 insertions, 13 deletions
diff --git a/src/cg-base.c b/src/cg-base.c
index dbcaf19..2de0abc 100644
--- a/src/cg-base.c
+++ b/src/cg-base.c
@@ -646,19 +646,22 @@ int main(int argc, char* argv[])
nulstrcmp(rule, "?") && nulstrcmp(method, "?"))
if (handle_args(argc, argv, prio) < 0)
goto fail;
-
- if (!nulstrcmp(prio, "?"))
- {
- printf("%" PRIi64 "\n", priority);
- return 0;
- }
- else if (prio != NULL)
+
+ if (default_priority != NO_DEFAULT_PRIORITY)
{
- char *end;
- errno = 0;
- priority = (int64_t)strtoll(prio, &end, 10);
- if (errno || *end || !*prio)
- usage();
+ if (!nulstrcmp(prio, "?"))
+ {
+ printf("%" PRIi64 "\n", priority);
+ return 0;
+ }
+ else if (prio != NULL)
+ {
+ char *end;
+ errno = 0;
+ priority = (int64_t)strtoll(prio, &end, 10);
+ if (errno || *end || !*prio)
+ usage();
+ }
}
if (!nulstrcmp(rule, "??"))
diff --git a/src/cg-base.h b/src/cg-base.h
index 713c9df..5ab23a9 100644
--- a/src/cg-base.h
+++ b/src/cg-base.h
@@ -17,6 +17,16 @@
*/
#include <libcoopgamma.h>
+#include <inttypes.h>
+
+
+
+/**
+ * Value of `default_priority` that indicates
+ * that there is no default priority
+ */
+#define NO_DEFAULT_PRIORITY INT64_MAX
+
/**
@@ -49,7 +59,8 @@ typedef struct filter_update
* The filter to update
*
* `.filter.crtc`, `.filter.class`, and
- * `.filter.priority`, `.filter.depth`
+ * `.filter.priority` (unless `default_priority`
+ * is `NO_DEFAULT_PRIORITY`), `.filter.depth`
* are preconfigured, and `.filter.ramps`
* is preinitialised and preset to an
* identity ramp