fprintf( stderr, "\nReceived signal %d, wrapping up gracefully.\n", signum );
}
+static void doExit( int ec ) {
+ free( cfg.user );
+ free( cfg.pass );
+ free( cfg.url );
+ exit( ec );
+}
+
static void cerr( const char *msg, int eno ) {
fprintf( stderr, "ERROR: %s", msg );
if ( eno )
static void die( const char *msg, int eno ) {
err( msg, eno );
- exit( EXIT_FAILURE );
+ doExit( EXIT_FAILURE );
}
static curl_off_t str_to_bwl( const char *s ) {
);
printf( "Defaults for bandwidth limit, user, password and URL are taken "
"from environment and configuration file, in this order.\n" );
- exit( EXIT_FAILURE );
+ doExit( EXIT_FAILURE );
}
int main( int argc, char *argv[] ) {
free( cfg.user );
free( cfg.pass );
free( cfg.url );
- exit( res ? EXIT_FAILURE : EXIT_SUCCESS );
+ doExit( res ? EXIT_FAILURE : EXIT_SUCCESS );
}