diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2017-09-07 14:50:49 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2017-09-07 14:54:41 +0200 |
commit | 94bdd463d85b90f16cf41e2b73ec8b115d96626e (patch) | |
tree | 9324c1ffdf3d4ce43130cce4b3f28fa65bca73b0 /src/sec-updater/sec-updater.c | |
parent | 311d931aef31cce4ea580df019a618e93fd88038 (diff) | |
download | strongswan-94bdd463d85b90f16cf41e2b73ec8b115d96626e.tar.bz2 strongswan-94bdd463d85b90f16cf41e2b73ec8b115d96626e.tar.xz |
sec-updater: Write to log only if at least one update is found.
Diffstat (limited to 'src/sec-updater/sec-updater.c')
-rw-r--r-- | src/sec-updater/sec-updater.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/sec-updater/sec-updater.c b/src/sec-updater/sec-updater.c index d8a9fbb9e..e6e672d99 100644 --- a/src/sec-updater/sec-updater.c +++ b/src/sec-updater/sec-updater.c @@ -27,6 +27,8 @@ #include <library.h> #include <utils/debug.h> +#define EXIT_NO_UPDATES 80 + typedef enum sec_update_state_t sec_update_state_t; enum sec_update_state_t { @@ -227,7 +229,7 @@ static bool update_database(database_t *db, char *package, char *version, /** * Process a package file and store updates in the database */ -static void process_packages(char *filename, char *product, bool security) +static int process_packages(char *filename, char *product, bool security) { char *uri, line[BUF_LEN], *pos, *package = NULL, *version = NULL; sec_update_state_t state; @@ -245,7 +247,6 @@ static void process_packages(char *filename, char *product, bool security) stats.release = time(NULL); /* opening package file */ - DBG1(DBG_IMV, "loading \"%s\"", filename); file = fopen(filename, "r"); if (!file) { @@ -367,9 +368,12 @@ static void process_packages(char *filename, char *product, bool security) DBG1(DBG_IMV, "processed \"%s\": %d packages, %d new versions, " "%d updated versions", filename, stats.packages, stats.new_versions, stats.updated_versions); + + return (stats.new_versions + stats.updated_versions) ? + EXIT_SUCCESS : EXIT_NO_UPDATES; } -static void do_args(int argc, char *argv[]) +static int do_args(int argc, char *argv[]) { char *filename = NULL, *product = NULL; bool security = FALSE; @@ -420,7 +424,7 @@ static void do_args(int argc, char *argv[]) if (filename && product) { - process_packages(filename, product, security); + return process_packages(filename, product, security); } else { @@ -447,8 +451,6 @@ int main(int argc, char *argv[]) { exit(SS_RC_INITIALIZATION_FAILED); } - do_args(argc, argv); - - exit(EXIT_SUCCESS); + exit(do_args(argc, argv)); } |