Honor long options as well.

master
DJ Lucas 2017-12-05 22:09:33 -06:00
parent 2b2225f3e4
commit 0c70f7ee36
1 changed files with 23 additions and 4 deletions

View File

@ -22,6 +22,7 @@
#include "src/json/json.h" #include "src/json/json.h"
#include "src/loaders/loaders.h" #include "src/loaders/loaders.h"
#include <unistd.h> #include <unistd.h>
#include <getopt.h>
#include <syslog.h> #include <syslog.h>
@ -31,7 +32,7 @@
void print_usage() void print_usage()
{ {
printf("examplar [ -h ] [ -v ] [ -c CONFIG_PATH ]"); printf("examplar [ -h/--help ] [ -v/--verbose ] [ -c/--config CONFIG_PATH ]\n\n");
exit(0); exit(0);
} }
@ -47,10 +48,28 @@ int main( int argc, char * argv[] )
// -v verbose // -v verbose
// -c CONFIG_FILE_PATH -- defaults to '/etc/Examplar/config.json' // -c CONFIG_FILE_PATH -- defaults to '/etc/Examplar/config.json'
while ( ( opt = getopt( argc, argv, "hvc:" ) ) != -1 ) while (1)
{ {
static struct option long_options[] =
{
{"verbose", no_argument, 0, 'v'},
{"help", no_argument, 0, 'h'},
{"config", required_argument, 0, 'c'},
{0, 0}
};
int option_index = 0;
opt = getopt_long (argc, argv, "vhc:",
long_options, &option_index);
if (opt == -1)
break;
switch (opt) switch (opt)
{ {
case 0:
if (long_options[option_index].flag !=0)
break;
case 'h': case 'h':
show_help = true; show_help = true;
case 'v': case 'v':