- lprintf(9, "%30s (%5ld) %s",
- qrbuf->QRname,
- qrbuf->QRnumber,
- asctime(localtime(&qrbuf->QRmtime)));
+ time_t now, age;
+ struct PurgeList *pptr;
+
+ /* Any of these attributes render a room non-purgable */
+ if (qrbuf->QRflags & QR_PERMANENT) return;
+ if (qrbuf->QRflags & QR_DIRECTORY) return;
+ if (qrbuf->QRflags & QR_NETWORK) return;
+ if (qrbuf->QRflags & QR_MAILBOX) return;
+ if (is_noneditable(qrbuf)) return;
+
+ /* Otherwise, check the date of last modification */
+ time(&now);
+ age = now - (qrbuf->QRmtime);
+ lprintf(9, "<%s> is <%ld> seconds old\n", qrbuf->QRname, age);
+ if ( (qrbuf->QRmtime > 0L)
+ && (age > (time_t)(config.c_roompurge * 86400L))) {
+
+ pptr = (struct PurgeList *) malloc(sizeof(struct PurgeList));
+ pptr->next = RoomPurgeList;
+ strcpy(pptr->name, qrbuf->QRname);
+ RoomPurgeList = pptr;
+
+ }