const char* shar_config = NULL;\r
const char* shar_schemadir = NULL;\r
bool shar_checkonly = false;\r
+bool shar_version = false;\r
static int unlink_socket = 0;\r
const char* pidfile = NULL;\r
\r
fprintf(stderr, " -t\tcheck configuration file for problems.\n");\r
fprintf(stderr, " -f\tforce removal of listener socket.\n");\r
fprintf(stderr, " -p\tpid file to use.\n");\r
+ fprintf(stderr, " -v\tprint software version.\n");\r
fprintf(stderr, " -h\tprint this help message.\n");\r
exit(1);\r
}\r
{\r
int opt;\r
\r
- while ((opt = getopt(argc, argv, "c:x:p:fth")) > 0) {\r
+ while ((opt = getopt(argc, argv, "c:x:p:ftvh")) > 0) {\r
switch (opt) {\r
case 'c':\r
shar_config=optarg;\r
case 't':\r
shar_checkonly=true;\r
break;\r
+ case 'v':\r
+ shar_version=true;\r
+ break;\r
case 'p':\r
pidfile=optarg;\r
break;\r
\r
int main(int argc, char *argv[])\r
{\r
- if (setup_signals() != 0)\r
- return -1;\r
-\r
if (parse_args(argc, argv) != 0)\r
usage(argv[0]);\r
+ else if (shar_version) {\r
+ fprintf(stdout, PACKAGE_STRING);\r
+ return 0;\r
+ }\r
+\r
+ if (setup_signals() != 0)\r
+ return -1;\r
\r
if (!shar_config)\r
shar_config=getenv("SHIBSP_CONFIG");\r