aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-10-03 11:23:33 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-10-03 11:23:33 +0200
commit43530628a808fda00a410b442196e58abe3507b7 (patch)
tree8157662911fbfdb546169ca8ea91a360612e0adf /src/main.c
parent05894765c6c5ad419896a0b0175a9c50c849f32b (diff)
downloadminecraft-rcon-43530628a808fda00a410b442196e58abe3507b7.tar.gz
fix crash
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/main.c b/src/main.c
index 4ce6e87..3fda198 100644
--- a/src/main.c
+++ b/src/main.c
@@ -31,19 +31,23 @@ int connect_socket ( char* _host, char* _port );
void print_help ( char* _progname );
int main( int argc, char* argv[] ) {
- program_params_t args = parse_args( argc, argv );
+ program_params_t args;
+ int ret, sock;
+ char* result;
- int sock = connect_socket ( args.host, args.port );
+ args = parse_args( argc, argv );
+ sock = connect_socket ( args.host, args.port );
+ result = NULL;
- fprintf ( stderr, "Connection successful.\n" );
-
- if ( rcon_login ( sock, args.password ) ) {
- fprintf ( stderr, "Authentification failed.\n" );
+ if ( (ret = rcon_login ( sock, args.password )) ) {
+ fprintf ( stderr, "rcon_login: %s\n", rcon_strerror ( ret ) );
exit ( EXIT_FAILURE );
}
- char* result = NULL;
- rcon_command ( &result, sock, args.command );
+ if ( (ret = rcon_command ( &result, sock, args.command )) ) {
+ fprintf ( stderr, "rcon_command: %s\n", rcon_strerror ( ret ) );
+ exit ( EXIT_FAILURE );
+ }
printf("%s\n", result);
@@ -124,4 +128,5 @@ void print_help ( char* _progname ) {
" %s HOST PORT PASSWORD COMMAND ...",
_progname
);
+ exit ( EXIT_FAILURE );
}