aboutsummaryrefslogtreecommitdiff
path: root/xdeadzone.c
diff options
context:
space:
mode:
Diffstat (limited to 'xdeadzone.c')
-rw-r--r--xdeadzone.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/xdeadzone.c b/xdeadzone.c
index 5b89c94..b05a2ac 100644
--- a/xdeadzone.c
+++ b/xdeadzone.c
@@ -58,6 +58,11 @@ void errmsg(const char *msg) {
usage(1);
}
+void check_mode(int mode) {
+ if(mode != M_UNSET)
+ errmsg("multiple modes given, only one of -abs -ne -nw -se -sw is allowed");
+}
+
int streq(const char *s1, const char *s2) {
return !strcmp(s1, s2);
}
@@ -93,14 +98,19 @@ int main(int argc, char **argv) {
} else if(streq(a, "-i")) {
visible = 0;
} else if(streq(a, "-abs")) {
+ check_mode(mode);
mode = M_ABS;
} else if(streq(a, "-ne")) {
+ check_mode(mode);
mode = M_NE;
} else if(streq(a, "-nw")) {
+ check_mode(mode);
mode = M_NW;
} else if(streq(a, "-se")) {
+ check_mode(mode);
mode = M_SE;
} else if(streq(a, "-sw")) {
+ check_mode(mode);
mode = M_SW;
} else if(a[0] == '-') {
fprintf(stderr, "%s: invalid option: %s (try --help)\n", exe_name, a);