From 22fba9ec13a9aa613c6eda8a047cec857eecf7d0 Mon Sep 17 00:00:00 2001 From: Terence Denning <terrencedenning@gmail.com> Date: Fri, 26 Apr 2019 17:23:42 +1000 Subject: [PATCH] fixed segfault resignment of current guesses --- http-server.c | 12 ++++-------- image_tagger | Bin 23064 -> 23104 bytes 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/http-server.c b/http-server.c index 58c05c0..08b0d11 100644 --- a/http-server.c +++ b/http-server.c @@ -56,6 +56,8 @@ static char *user2_name = ""; static int user2_start = 0; char user2_guesses[100][100]; int user2_guess_number = 0; +char *user1_current_guesses; +char *user2_current_guesses; int gameover = 0; @@ -232,7 +234,7 @@ static bool handle_http_request(int sockfd) strcpy(user1_guesses[user1_guess_number], keyword); user1_guess_number++; check_win(1, keyword); - } else if( gameover == 1 ){ + } else if( gameover == 1 ){ webpage = "html/6_endgame.html"; } else { webpage = "html/5_discarded.html"; @@ -243,13 +245,12 @@ static bool handle_http_request(int sockfd) strcpy(user2_guesses[user2_guess_number], keyword); user2_guess_number++; check_win(2, keyword); - } else if( gameover == 1){ + } else if( gameover == 1){ webpage = "html/6_endgame.html"; } else { webpage = "html/5_discarded.html"; } } else { - printf("user1: %d, user2: %d\n", user1, user2); webpage = "html/6_endgame.html"; } @@ -286,9 +287,6 @@ static bool handle_http_request(int sockfd) close(filefd); if( strcmp(webpage, "html/4_accepted.html") == 0 ){ - - char *user1_current_guesses; - char *user2_current_guesses; if(sockfd == user1){ for(int i=0; i<100; i++){ @@ -305,8 +303,6 @@ static bool handle_http_request(int sockfd) } printf("User1 guesses: %s, User2 guesses: %s\n", user1_current_guesses, user2_current_guesses); - - } diff --git a/image_tagger b/image_tagger index e0265fcbde3ae78a35ec70556318ccfdd04dfe5a..21c28ec862030ad33cff3438bf886188c5f470e6 100755 GIT binary patch delta 7309 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 GQXK#~LTP6J delta 7689 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 -- GitLab