]> code.citadel.org Git - citadel.git/commitdiff
* Changed all "generation" variables from char to long, in preparation
authorArt Cancro <ajc@citadel.org>
Sun, 27 Sep 1998 20:38:27 +0000 (20:38 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 27 Sep 1998 20:38:27 +0000 (20:38 +0000)
          for removing MAXROOMS.  Generations for new rooms are now timestamps.
        * Defined "struct visit" to hold user/room relationships.
        * Removed some #define's from citadel.h that are no longer used.

citadel/ChangeLog
citadel/citadel.h
citadel/import.c
citadel/room_ops.c
citadel/user_ops.c

index edb93cdfc53f76cb9d99fc53dcd8482cf4268376..c104af4489ec0a82df0838dee1da910381bae5b0 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep 27 16:10:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+       * Changed all "generation" variables from char to long, in preparation
+         for removing MAXROOMS.  Generations for new rooms are now timestamps.
+       * Defined "struct visit" to hold user/room relationships.
+       * Removed some #define's from citadel.h that are no longer used.
+
 Wed Sep 23 13:41:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * More changes to support attachments.  They mostly work, but only
          in fixed-format messages.
index b1913411a4db63e81279dd57e5b2b421942bfd63..6f4294dc2839ed6db19a61a2a2534f631a14ca30 100644 (file)
@@ -59,20 +59,31 @@ struct config {
 #define PHONENUM               config.c_phonenum
 #define BBSUID                 config.c_bbsuid
 #define CREATAIDE              config.c_creataide
-#define INITAX                 config.c_initax
 #define REGISCALL              config.c_regiscall
 #define TWITDETECT             config.c_twitdetect
 #define TWITROOM               config.c_twitroom
-#define MORE_PROMPT            config.c_moreprompt
 #define RESTRICT_INTERNET      config.c_restrict
-#define MM_FILELEN             config.c_msgbase
 
+
+/* Defines the relationship of a user to a particular room */
+struct visit {
+       char v_roomname[20];
+       long v_generation;
+       long v_lastseen;
+       unsigned int v_flags;
+       };
+
+#define V_FORGET       1               /* User has zapped this room        */
+#define V_LOCKOUT      2               /* User is locked out of this room  */
+
+
+/* Defines the actual user record */
 struct usersupp {                      /* User record                      */
        int USuid;                      /* userid (==BBSUID for bbs only)   */
        char password[20];              /* password (for BBS-only users)    */
        long lastseen[MAXROOMS];        /* Last message seen in each room   */
-       char generation[MAXROOMS];      /* Generation # (for private rooms) */
-       char forget[MAXROOMS];          /* Forgotten generation number      */
+       long generation[MAXROOMS];      /* Generation # (for private rooms) */
+       long forget[MAXROOMS];          /* Forgotten generation number      */
        unsigned flags;                 /* See US_ flags below              */
        int timescalled;                /* Total number of logins           */
        int posted;                     /* Number of messages posted (ever) */
@@ -119,7 +130,7 @@ struct quickroom {
        char QRpasswd[10];              /* Only valid if it's a private rm  */
        long QRroomaide;                /* User number of room aide         */
        long QRhighest;                 /* Highest message NUMBER in room   */
-       char QRgen;                     /* Generation number of room        */
+       long QRgen;                     /* Generation number of room        */
        unsigned QRflags;               /* See flag values below            */
        char QRdirname[15];             /* Directory name, if applicable    */
        long QRinfo;                    /* Info file update relative to msgs*/
index da9b111df413a4d85bd96eb22929b54143bdc17b..7772564b2a41890254d98dceea5b3cb41b402f10 100644 (file)
@@ -221,7 +221,7 @@ void import_a_user() {
                if (!strcasecmp(key, "generation"))
                        for (a=0; a<ssv_maxrooms; ++a) {
                                fpgetfield(imfp, list);
-                               us.generation[a] = atoi(list);
+                               us.generation[a] = atol(list);
                                }
                if (!strcasecmp(key, "forget"))
                        for (a=0; a<ssv_maxrooms; ++a) {
@@ -387,7 +387,7 @@ void imp_rooms() {
                                if (!strcasecmp(tag, "qrhighest"))
                                        qr.QRhighest = atol(tval);
                                if (!strcasecmp(tag, "qrgen"))
-                                       qr.QRgen = atoi(tval);
+                                       qr.QRgen = atol(tval);
                                if (!strcasecmp(tag, "qrflags"))
                                        qr.QRflags = atoi(tval);
                                if (!strcasecmp(tag, "qrdirname"))
index 445aa2f61675390f186e9c86aae413db9cd824e9..7392623e4be289f06ed536f6fb1e65abb23c9ea0 100644 (file)
@@ -99,7 +99,7 @@ void getroom(struct quickroom *qrbuf, int room_num)
        else {
                if (room_num < 3) {
                        qrbuf->QRflags = QR_INUSE;
-                       qrbuf->QRgen = 1;
+                       time(&qrbuf->QRgen);
                        switch(room_num) {
                                case 0: strcpy(qrbuf->QRname, "Lobby");
                                        break;
@@ -829,7 +829,8 @@ void cmd_setr(char *args) {
        /* Kick everyone out if the client requested it */
        if (extract_int(args,4)) {
                ++CC->quickroom.QRgen;
-               if (CC->quickroom.QRgen==100) CC->quickroom.QRgen=1;
+               if (CC->quickroom.QRgen==100) time(&CC->quickroom.QRgen);
+
                }
 
        old_floor = CC->quickroom.QRfloor;
@@ -1071,7 +1072,7 @@ unsigned create_room(int free_slot, char *new_room_name, int new_room_type, char
        if ((new_room_type > 0)&&(CREATAIDE==1))
                qrbuf.QRroomaide=CC->usersupp.usernum;
        qrbuf.QRhighest = 0L;
-       ++qrbuf.QRgen; if (qrbuf.QRgen>=126) qrbuf.QRgen=10;
+       time(&qrbuf.QRgen);
        qrbuf.QRfloor = new_room_floor;
 
        /* save what we just did... */
index 25aa64693ef3166cfa3793d1d22329f8799e4f11..3e7f044b6ee518aabbad6df2e51e878bd4133b1a 100644 (file)
@@ -414,7 +414,7 @@ int create_user(char *newusername)
 
        CC->usersupp.timescalled = 0;
        CC->usersupp.posted = 0;
-       CC->usersupp.axlevel = INITAX;
+       CC->usersupp.axlevel = config.c_initax;
        CC->usersupp.USscreenwidth = 80;
        CC->usersupp.USscreenheight = 24;
        time(&CC->usersupp.lastcall);