minor, but important fixes for client part

This commit is contained in:
2026-03-11 20:24:37 +02:00
parent 1905bab927
commit 55b4ef7d5b
4 changed files with 5 additions and 27 deletions
-1
View File
@@ -41,7 +41,6 @@ enum user_privileges {
enum error_reason {
NO_REASON,
LOGIN,
EXIT,
};
+1 -1
View File
@@ -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);
}
}
+3 -23
View File
@@ -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;
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");
sprintf(tmp_string, "login_again>\n");
session_send_string(sess, tmp_string);
sess->state = OP_LOGIN_USR;
sess->reason = NO_REASON;
session_send_string(sess, "login_again> ");
break;
return 1;
}
}
return 0;
}
-1
View File
@@ -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