Discard messages empty or with only whitespace

This commit is contained in:
Ultracoolguy 2020-10-24 19:40:36 -04:00 committed by Eyal Sawady
parent e3c8b41ce4
commit 4504fb3cda
No known key found for this signature in database
GPG Key ID: 604D3459E53A9952
1 changed files with 15 additions and 9 deletions

24
main.c
View File

@ -611,11 +611,12 @@ void
discussion(size_t pid, char *input)
{
char buf[300];
intmax_t vote = 0, max_votes = 0, tie = 0, winner = -1;
intmax_t vote = 0, max_votes = 0, tie = 0, winner = -1, hasvalidchar = 0;
for (size_t i = 0; i < strlen(input); i++) {
if(!isprint(input[i])) {
if (!isprint(input[i]))
input[i] = '\0';
}
else if (!isspace(input[i]))
hasvalidchar = 1;
}
if (input[0] == '/' && input[1] != '/') {
@ -809,7 +810,7 @@ not_yet:
snprintf(buf, sizeof(buf), "(dead) [%s]: %s", players[pid].name, &input[1]);
broadcast_ghosts(buf, -1);
}
} else {
} else if (hasvalidchar) {
if (state.chats_left <= 0 && alive(players[pid])) {
snprintf(buf, sizeof(buf), "No chats left, you can only vote now\n");
write(players[pid].fd, buf, strlen(buf));
@ -1264,13 +1265,18 @@ handle_input(int fd)
}
}
} else {
for (size_t i = 0; i < strlen(buf); i++) {
if(!isprint(buf[i])) {
int hasvalidchar = 0;
for (size_t i = 0; i < strlen(buf); i++) {
if (!isprint(buf[i]))
buf[i] = '\0';
}
else if (!isspace(buf[i]))
hasvalidchar = 1;
}
if (hasvalidchar) {
snprintf(buf2, sizeof(buf2), "[%s]: %s", players[pid].name, buf);
broadcast(buf2, fd);
}
snprintf(buf2, sizeof(buf2), "[%s]: %s", players[pid].name, buf);
broadcast(buf2, fd);
}
break;
case PLAYER_STAGE_MAIN: