diff options
Diffstat (limited to 'src/login.c')
-rw-r--r-- | src/login.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/login.c b/src/login.c index c6ab408..c94ad42 100644 --- a/src/login.c +++ b/src/login.c @@ -5,16 +5,20 @@ #include "server.h" #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <sys/socket.h> #include <unistd.h> void handle_player(int conn_fd) { + printf("Let's make a new player object\n"); playerc_t plrc = {0}; plrc.state = LoggedOut; plrc.conn = conn_fd; player_t plr = {0}; plrc.plr = plr; + printf("No sense in having a player if they can't log in!\n"); + int err = step_login(&plrc, conn_fd); if (err) { err = send_to_fd(conn_fd, "Error in login process, exiting"); @@ -35,11 +39,15 @@ int step_login(playerc_t *player, int conn_fd) { switch (player->state) { case LoggedOut: /* the player has yet to log in, this is a fresh connection! */ + printf("The player is logged out\n"); send_to_fd(player->conn, "Welcome! Please enter your **username** below\n"); char *buf = (char *)malloc(1 << 10); + printf("Waiting to receive...\n"); recv(player->conn, buf, sizeof(buf), 0); - err = try_load_file(buf); + printf("Received!\n"); + err = try_load_plr(buf, player); + printf("Finished trying to load the player\n"); if (err) { // File doesn't exist, let's create a player! strcpy(player->plr.name, buf); @@ -60,7 +68,9 @@ int step_login(playerc_t *player, int conn_fd) { case WantMakeAccount: asprintf(&buf, "Welcome aboard %s! Why don't you start us off by giving me a " - "password.\n", ) send_to_fd(player->conn, "Welcome aboard! ") + "password.\n", + *player->plr.name); + send_to_fd(player->conn, buf); } } |