@@ -61,7 +61,7 @@ static int parse_argv(int argc, char *argv[]) {
6161 return 1 ;
6262}
6363
64- int main (int argc , char * argv []) {
64+ static int run (int argc , char * argv []) {
6565 _cleanup_ (sd_bus_error_free ) sd_bus_error error = SD_BUS_ERROR_NULL ;
6666 _cleanup_ (sd_bus_flush_close_unrefp ) sd_bus * bus = NULL ;
6767 uint32_t n ;
@@ -72,13 +72,11 @@ int main(int argc, char *argv[]) {
7272
7373 r = parse_argv (argc , argv );
7474 if (r <= 0 )
75- goto finish ;
75+ return r ;
7676
7777 r = sd_bus_open_system (& bus );
78- if (r < 0 ) {
79- log_error_errno (r , "Failed to connect to system bus: %m" );
80- goto finish ;
81- }
78+ if (r < 0 )
79+ return log_error_errno (r , "Failed to connect to system bus: %m" );
8280
8381 r = sd_bus_get_property_trivial (
8482 bus ,
@@ -89,18 +87,15 @@ int main(int argc, char *argv[]) {
8987 & error ,
9088 'u' ,
9189 & n );
92- if (r < 0 ) {
93- log_error_errno (r , "Failed to get failed units counter: %s" , bus_error_message (& error , r ));
94- goto finish ;
95- }
90+ if (r < 0 )
91+ return log_error_errno (r , "Failed to get failed units counter: %s" , bus_error_message (& error , r ));
9692
9793 if (n > 0 )
9894 log_notice ("Health check: %" PRIu32 " units have failed." , n );
9995 else
10096 log_info ("Health check: no failed units." );
10197
102- r = n > 0 ? EXIT_FAILURE : EXIT_SUCCESS ;
103-
104- finish :
105- return r < 0 ? EXIT_FAILURE : r ;
98+ return n > 0 ;
10699}
100+
101+ DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE (run );
0 commit comments