diff --git a/apps/backend/backend_main.c b/apps/backend/backend_main.c index 7671a7b4..e46ba2bc 100644 --- a/apps/backend/backend_main.c +++ b/apps/backend/backend_main.c @@ -846,7 +846,7 @@ main(int argc, if (print_version){ if (clixon_plugin_version_all(h, stdout) < 0) goto done; - exit(0); + goto ok; } /* Load Yang modules * 1. Load a yang module as a specific absolute filename */ diff --git a/apps/cli/cli_main.c b/apps/cli/cli_main.c index 69a29e17..36af6ffe 100644 --- a/apps/cli/cli_main.c +++ b/apps/cli/cli_main.c @@ -786,7 +786,8 @@ main(int argc, if (print_version){ if (clixon_plugin_version_all(h, stdout) < 0) goto done; - exit(0); + retval = 0; + goto done; } /* Add (hardcoded) netconf features in case ietf-netconf loaded here * Otherwise it is loaded in netconf_module_load below diff --git a/apps/netconf/netconf_main.c b/apps/netconf/netconf_main.c index 8f0e13bc..556a272a 100644 --- a/apps/netconf/netconf_main.c +++ b/apps/netconf/netconf_main.c @@ -876,7 +876,7 @@ main(int argc, if (print_version){ if (clixon_plugin_version_all(h, stdout) < 0) goto done; - exit(0); + goto ok; } /* Load Yang modules * 1. Load a yang module as a specific absolute filename */ diff --git a/apps/restconf/restconf_main_fcgi.c b/apps/restconf/restconf_main_fcgi.c index 69dd409b..7d05e114 100644 --- a/apps/restconf/restconf_main_fcgi.c +++ b/apps/restconf/restconf_main_fcgi.c @@ -503,7 +503,7 @@ main(int argc, if (print_version){ if (clixon_plugin_version_all(h, stdout) < 0) goto done; - exit(0); + goto ok; } /* Create a pseudo-plugin to create extension callback to set the ietf-routing * yang-data extension for api-root top-level restconf function. diff --git a/apps/restconf/restconf_main_native.c b/apps/restconf/restconf_main_native.c index b479461c..3edbb2df 100644 --- a/apps/restconf/restconf_main_native.c +++ b/apps/restconf/restconf_main_native.c @@ -961,7 +961,7 @@ restconf_clixon_init(clixon_handle h, if (print_version){ if (clixon_plugin_version_all(h, stdout) < 0) goto done; - exit(0); + goto ok; } /* Create a pseudo-plugin to create extension callback to set the ietf-routing * yang-data extension for api-root top-level restconf function. @@ -1068,6 +1068,7 @@ restconf_clixon_init(clixon_handle h, if (ret == 0) goto fail; } + ok: retval = 1; done: if (xerr) diff --git a/apps/snmp/snmp_main.c b/apps/snmp/snmp_main.c index 61874ddd..0c78fb7b 100644 --- a/apps/snmp/snmp_main.c +++ b/apps/snmp/snmp_main.c @@ -358,6 +358,7 @@ main(int argc, int zap = 0; int config_dump = 0; enum format_enum config_dump_format = FORMAT_XML; + int print_version = 0; /* Create handle */ if ((h = clixon_handle_init()) == NULL) @@ -382,7 +383,7 @@ main(int argc, break; case 'V': /* version */ cligen_output(stdout, "Clixon version: %s\n", CLIXON_VERSION_STRING); - exit(0); + print_version++; /* plugins may also print versions w ca-version callback */ break; case 'D' : { /* debug */ int d = 0; @@ -408,7 +409,8 @@ main(int argc, goto done; break; } - + if (print_version) + goto ok; /* * Logs, error and debug to stderr or syslog, set debug level */