aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/cmd_line.c
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-04-29 21:42:33 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2023-04-29 21:42:33 +0200
commit8b4ad891dce51baa3fb306c617f3368d24600e6d (patch)
tree065cbaee51791d3a35f15547a3c3ff77c97db83a /src/cmd_line.c
parentmake struct storage_settings_sqlite opaque (diff)
downloadcimple-8b4ad891dce51baa3fb306c617f3368d24600e6d.tar.gz
cimple-8b4ad891dce51baa3fb306c617f3368d24600e6d.zip
dedupe command line routines
Diffstat (limited to '')
-rw-r--r--src/cmd_line.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/cmd_line.c b/src/cmd_line.c
new file mode 100644
index 0000000..9527d6f
--- /dev/null
+++ b/src/cmd_line.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2023 Egor Tensin <Egor.Tensin@gmail.com>
+ * This file is part of the "cimple" project.
+ * For details, see https://github.com/egor-tensin/cimple.
+ * Distributed under the MIT License.
+ */
+
+#include "cmd_line.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void exit_with_usage(int ec, const char *argv0)
+{
+ FILE *dest = stdout;
+ if (ec)
+ dest = stderr;
+
+ fprintf(dest, "usage: %s %s\n", argv0, get_usage_string());
+ exit(ec);
+}
+
+void exit_with_usage_err(const char *argv0, const char *msg)
+{
+ if (msg)
+ fprintf(stderr, "usage error: %s\n", msg);
+ exit_with_usage(1, argv0);
+}
+
+void exit_with_version()
+{
+ printf("%s\n", VERSION);
+ exit(0);
+}