]> git.draconx.ca Git - liblbx.git/blobdiff - src/tools.c
tools: Move progname handling into a common source file.
[liblbx.git] / src / tools.c
diff --git a/src/tools.c b/src/tools.c
new file mode 100644 (file)
index 0000000..b80e521
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * 2ooM: The Master of Orion II Reverse Engineering Project
+ * Helper functions for liblbx command-line applications.
+ * Copyright © 2013 Nick Bowler
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <assert.h>
+
+#include "tools.h"
+
+static const char *progname, *argv0;
+
+void tool_init(const char *name, int argc, char **argv)
+{
+       progname = name;
+       argv0 = argv[0] ? argv[0] : progname;
+}
+
+void tool_version(void)
+{
+       assert(argv0 != NULL);
+       printf("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION);
+       printf("Copyright (C) 2013 Nick Bowler.\n");
+       puts("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.");
+       puts("This is free software: you are free to change and redistribute it.");
+       puts("There is NO WARRANTY, to the extent permitted by law.");
+}
+
+const char *tool_invocation(void)
+{
+       assert(argv0 != NULL);
+       return argv0;
+}