]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Add server markers.
authorChris Porter <redacted>
Sun, 12 Oct 2008 23:04:53 +0000 (00:04 +0100)
committerChris Porter <redacted>
Sun, 12 Oct 2008 23:04:53 +0000 (00:04 +0100)
server/server.c
server/server.h

index 6cc8809b330753907a5546612fe3ad8576121b94..4d818e98049dcf000ebc731a1ed60bdbf2717d03 100644 (file)
@@ -85,6 +85,7 @@ int handleservermsg(void *source, int cargc, char **cargv) {
   serverlist[servernum].name=getsstring(cargv[0],HOSTLEN);
   serverlist[servernum].description=getsstring(cargv[cargc-1],REALLEN);
   serverlist[servernum].maxusernum=numerictolong(cargv[5]+2,3);
+  serverlist[servernum].marker=0;
   setflags(&serverlist[servernum].flags,SMODE_ALL,cargv[6],smodeflags,REJECT_NONE);
 
   if (!strncmp((char *)source,"INIT",4)) {
@@ -212,3 +213,18 @@ int findserver(const char *name) {
   return -1;
 }
 
+unsigned int nextservermarker(void) {
+  int i;
+  static unsigned int servermarker=0;
+
+  servermarker++;
+  if (!servermarker) {
+    /* If we wrapped to zero, zap the marker on all hosts */
+    for (i=0;i<MAXSERVERS;i++)
+      serverlist[i].marker=0;
+    servermarker++;
+  }
+
+  return servermarker;
+}
+
index f1f30d6b8b738a7982e394f938310c465dfd35f7..1a6f6a6fca09b49bb55bb851f150b819ac311ac1 100644 (file)
@@ -35,6 +35,7 @@ typedef struct {
   short      linkstate;
   int        maxusernum;
   flag_t     flags;
+  unsigned int marker;
 } server;
 
 extern server serverlist[MAXSERVERS];
@@ -45,5 +46,6 @@ int handlesquitmsg(void *source, int cargc, char **cargv);
 void handledisconnect(int hooknum, void *arg);
 void deleteserver(long servernum);
 int findserver(const char *name);
+unsigned int nextservermarker(void);
 
 #endif