42 lines
1005 B
C++
42 lines
1005 B
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Tyler Perkins
|
|
// 28-4-22
|
|
// parseopt implementation
|
|
//
|
|
|
|
#include "parseopt.hpp"
|
|
|
|
void help(char* progName){
|
|
std::cout << "Usage: " << progName << " [FLAGS]\n";
|
|
std::cout << "Options:\n";
|
|
std::cout << " [-p] Port to listen on\n";
|
|
std::cout << " [-h] Display this help message\n\n";
|
|
exit(1);
|
|
}
|
|
|
|
option_flags* parse_options(int argc, char** argv){
|
|
char c;
|
|
|
|
option_flags* ret = new option_flags;
|
|
|
|
ret->port = 5000;
|
|
|
|
while((c = getopt(argc, argv, optarg_string)) != -1){
|
|
switch(c){
|
|
case 'p':
|
|
std::cout << optarg << "\n";
|
|
ret->port = atoi(optarg);
|
|
break;
|
|
case '?':
|
|
std::cerr << "Unkown option: " << (char)optopt << "\n";
|
|
case 'h':
|
|
help(argv[0]);
|
|
break;
|
|
default:
|
|
abort();
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|