]> git.draconx.ca Git - liblbx.git/blob - src/tools.c
tools: Move progname handling into a common source file.
[liblbx.git] / src / tools.c
1 /*
2  * 2ooM: The Master of Orion II Reverse Engineering Project
3  * Helper functions for liblbx command-line applications.
4  * Copyright © 2013 Nick Bowler
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #include <config.h>
21 #include <stdio.h>
22 #include <assert.h>
23
24 #include "tools.h"
25
26 static const char *progname, *argv0;
27
28 void tool_init(const char *name, int argc, char **argv)
29 {
30         progname = name;
31         argv0 = argv[0] ? argv[0] : progname;
32 }
33
34 void tool_version(void)
35 {
36         assert(argv0 != NULL);
37         printf("%s (%s) %s\n", progname, PACKAGE_NAME, PACKAGE_VERSION);
38         printf("Copyright (C) 2013 Nick Bowler.\n");
39         puts("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.");
40         puts("This is free software: you are free to change and redistribute it.");
41         puts("There is NO WARRANTY, to the extent permitted by law.");
42 }
43
44 const char *tool_invocation(void)
45 {
46         assert(argv0 != NULL);
47         return argv0;
48 }