diff --git a/src/main.h b/src/main.h index 7d4a897..71e89ca 100644 --- a/src/main.h +++ b/src/main.h @@ -41,7 +41,6 @@ enum user_privileges { enum error_reason { NO_REASON, - LOGIN, EXIT, }; diff --git a/src/server.c b/src/server.c index f464a65..62d8f8f 100644 --- a/src/server.c +++ b/src/server.c @@ -73,7 +73,7 @@ void server_main_loop(server_data_t *s_d) { if (line != NULL && res) { perform_session_action(sess, line, s_d); free(line); - if (process_error(sess)) { + if (sess->state == ERR) { close_session(connections, i); } } diff --git a/src/user.c b/src/user.c index c703294..8895634 100644 --- a/src/user.c +++ b/src/user.c @@ -76,29 +76,9 @@ int login(session *sess, char *pass) { session_send_string(sess, tmp_string); return 0; } else { - sess->state = ERR; - sess->reason = EXIT; + sprintf(tmp_string, "login_again>\n"); + session_send_string(sess, tmp_string); + sess->state = OP_LOGIN_USR; return 1; } -} - -/* returns 1 if session needs to be closed, 0 - in the opposite case */ -int process_error(session *sess) { - if (sess->state == ERR) { - switch (sess->reason) { - case NO_REASON: - case EXIT: - return 1; - break; - case LOGIN: - session_send_string(sess, - "Can't find the user with such credentials\04\n"); - sess->state = OP_LOGIN_USR; - sess->reason = NO_REASON; - session_send_string(sess, "login_again> "); - break; - } - } - - return 0; -} +} \ No newline at end of file diff --git a/src/user.h b/src/user.h index 7a94a18..c4dfb9d 100644 --- a/src/user.h +++ b/src/user.h @@ -3,6 +3,5 @@ #include "main.h" int login(session *sess, char *pass); -int process_error(session *sess); int process_user_name(char *uname, session *sess); #endif \ No newline at end of file