char *args[1];
zck_log_type log_level;
bool stdout;
+ bool exit;
};
static error_t parse_opt (int key, char *arg, struct argp_state *state) {
struct arguments *arguments = state->input;
+ if(arguments->exit)
+ return 0;
+
switch (key) {
case 'v':
arguments->log_level--;
break;
case 'V':
version();
+ arguments->exit = true;
break;
case ARGP_KEY_ARG:
/* Defaults */
arguments.log_level = ZCK_LOG_ERROR;
- argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ int retval = argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ if(retval || arguments.exit)
+ exit(retval);
zck_set_log_level(arguments.log_level);
void version() {
printf(ZCK_NAME " " ZCK_VERSION "\nCopyright (c) " ZCK_COPYRIGHT_YEAR
" Jonathan Dieter\n");
- exit(0);
}
bool manual_chunk;
char *output;
char *dict;
+ bool exit;
};
static error_t parse_opt (int key, char *arg, struct argp_state *state) {
struct arguments *arguments = state->input;
+ if(arguments->exit)
+ return 0;
+
switch (key) {
case 'v':
arguments->log_level--;
break;
case 'V':
version();
+ arguments->exit = true;
break;
case ARGP_KEY_ARG:
/* Defaults */
arguments.log_level = ZCK_LOG_ERROR;
- argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ int retval = argp_parse(&argp, argc, argv, 0, 0, &arguments);
+ if(retval || arguments.exit)
+ exit(retval);
zck_set_log_level(arguments.log_level);
struct arguments {
char *args[2];
zck_log_type log_level;
+ bool exit;
};
static error_t parse_opt (int key, char *arg, struct argp_state *state) {
struct arguments *arguments = state->input;
+ if(arguments->exit)
+ return 0;
+
switch (key) {
case 'v':
arguments->log_level--;
break;
case 'V':
version();
+ arguments->exit = true;
break;
case ARGP_KEY_ARG:
/* Defaults */
arguments.log_level = ZCK_LOG_ERROR;
- argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ int retval = argp_parse(&argp, argc, argv, 0, 0, &arguments);
+ if(retval || arguments.exit)
+ exit(retval);
zck_set_log_level(arguments.log_level);
zck_log_type log_level;
char *source;
int fail_no_ranges;
+ bool exit;
};
static error_t parse_opt (int key, char *arg, struct argp_state *state) {
struct arguments *arguments = state->input;
+ if(arguments->exit)
+ return 0;
+
switch (key) {
case 'v':
if(arguments->log_level > ZCK_LOG_INFO)
break;
case 'V':
version();
+ arguments->exit = true;
break;
case 1000:
arguments->fail_no_ranges = 1;
/* Defaults */
arguments.log_level = ZCK_LOG_INFO;
- argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ int retval = argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ if(retval || arguments.exit)
+ exit(retval);
curl_global_init(CURL_GLOBAL_ALL);
int exit_val = 0;
- int retval = dl_header(curl_ctx, dl, arguments.args[0],
- arguments.fail_no_ranges, arguments.log_level);
+ retval = dl_header(curl_ctx, dl, arguments.args[0],
+ arguments.fail_no_ranges, arguments.log_level);
if(!retval) {
exit_val = 10;
goto out;
bool quiet;
bool show_chunks;
zck_log_type log_level;
+ bool exit;
};
static error_t parse_opt (int key, char *arg, struct argp_state *state) {
struct arguments *arguments = state->input;
+ if(arguments->exit)
+ return 0;
+
switch (key) {
case 'v':
arguments->log_level--;
break;
case 'V':
version();
+ arguments->exit = true;
break;
case 'f':
arguments->verify = true;
/* Defaults */
arguments.log_level = ZCK_LOG_ERROR;
- argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ int retval = argp_parse (&argp, argc, argv, 0, 0, &arguments);
+ if(retval || arguments.exit)
+ exit(retval);
zck_set_log_level(arguments.log_level);