summaryrefslogtreecommitdiff
path: root/functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'functions.c')
-rw-r--r--functions.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/functions.c b/functions.c
index 6eddc35..8ef2b21 100644
--- a/functions.c
+++ b/functions.c
@@ -1074,15 +1074,13 @@ void tryautonick(struct ircdstate *ircdstate) {
void cleanexit(SSL *server_ssl, struct client *clients, int sourcefd, struct ircdstate *ircdstate, struct settings *settings, char *quitmsg) {
char outgoingmsg[MAXDATASIZE];
- // Index of client fd in clients array for use later
- int clientindex = arrindex(clients, sourcefd);
- if (clientindex < 0) {
- debugprint(DEBUG_CRIT, "cleanexit(): error: arrindex() returned '%d', exiting!\n", clientindex);
- exit(1);
- }
-
// Tell clients and debug log
if (sourcefd) {
+ int clientindex = arrindex(clients, sourcefd);
+ if (clientindex < 0) {
+ debugprint(DEBUG_CRIT, "cleanexit(): error: arrindex() returned '%d', exiting!\n", clientindex);
+ exit(1);
+ }
snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Exiting on request from client %s, message '%s'.", ircdstate->ircnick, clients[clientindex].remoteip, quitmsg);
debugprint(DEBUG_CRIT, "Exiting on request from client %s with fd '%d', message '%s'.\n", clients[clientindex].remoteip, sourcefd, quitmsg);
} else {