summaryrefslogtreecommitdiff
path: root/structures.h
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2019-09-15 14:47:44 +0100
committerLuke Bratch <luke@bratch.co.uk>2019-09-15 14:47:44 +0100
commite9d4ad3c33b81ff56c4e4b2cac4aad559a303104 (patch)
treec177baee475291dc1545f48c942560351aa92e4f /structures.h
parent4dea4c16313ba3d1575cfa6722d75492c907f551 (diff)
Start tracking nicks in channels (upon JOIN/PART/QUIT/NICK) and use that to correctly log QUITs in the replay log and normal log(s).
Diffstat (limited to 'structures.h')
-rw-r--r--structures.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/structures.h b/structures.h
index 8d68083..02b13b8 100644
--- a/structures.h
+++ b/structures.h
@@ -30,6 +30,7 @@
#define CLIENTCODELEN 17 // Max length of a client code + 1 for null
#define MAXCLIENTCODES 64 // Max number of client codes to track
#define MAXCONFARR 10 // Max number of entries that a configuration array can have
+#define MAXCHANNICKS 8192 // Maximum number of nicks to track per channel
struct ircdstate {
char greeting001[MAXDATASIZE];
@@ -118,6 +119,7 @@ struct channel {
// TODO - Make this an int? It's just going to arrive and leave as a string every time anyway...
char topicwhen[11]; // 32-bit unixtime is up to 10 characters (+1 for null char) We use "0" to mean "not set".
int gotnames; // Have we finished getting the RPL_NAMREPLYs for this channel yet?
+ char nicks[MAXCHANNICKS][MAXNICKLENGTH]; // Nicks in the channel to track things like nick changes and quits for log files
};
#endif