diff options
-rw-r--r-- | options.c | 6 | ||||
-rw-r--r-- | options.h | 2 | ||||
-rw-r--r-- | switchctl.c | 6 |
3 files changed, 10 insertions, 4 deletions
@@ -181,11 +181,13 @@ int options_parse(options_t* opt, int argc, char* argv[]) return 0; } -void options_parse_post(options_t* opt) +int options_parse_post(options_t* opt) { if(!opt) - return; + return -1; // nothing to do + + return 0; } void options_default(options_t* opt) @@ -42,7 +42,7 @@ typedef struct options_struct options_t; int options_parse_hex_string(const char* hex, buffer_t* buffer); int options_parse(options_t* opt, int argc, char* argv[]); -void options_parse_post(options_t* opt); +int options_parse_post(options_t* opt); void options_default(options_t* opt); void options_clear(options_t* opt); void options_print_usage(); diff --git a/switchctl.c b/switchctl.c index 1f119bc..b3150d5 100644 --- a/switchctl.c +++ b/switchctl.c @@ -342,7 +342,11 @@ int main(int argc, char* argv[]) } } log_printf(NOTICE, "just started..."); - options_parse_post(&opt); + if(options_parse_post(&opt)) { + options_clear(&opt); + log_close(); + exit(-1); + } priv_info_t priv; if(opt.username_) |