diff options
Diffstat (limited to 'functions.c')
-rw-r--r-- | functions.c | 12 |
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 { |