+/*
+ * Batch up and send all outbound traffic from the current room
+ */
+void network_queue_interesting_rooms(struct ctdlroom *qrbuf, void *data) {
+ int i;
+ struct RoomProcList *ptr;
+ long QRNum = qrbuf->QRnumber;
+ void *v;
+ roomlists *RP = (roomlists*) data;
+
+ if (!GetHash(RP->RoomsInterestedIn, LKEY(QRNum), &v))
+ return;
+
+ ptr = (struct RoomProcList *) malloc(sizeof (struct RoomProcList));
+ if (ptr == NULL) return;
+
+ ptr->namelen = strlen(qrbuf->QRname);
+ if (ptr->namelen > ROOMNAMELEN)
+ ptr->namelen = ROOMNAMELEN - 1;
+
+ memcpy (ptr->name, qrbuf->QRname, ptr->namelen);
+ ptr->name[ptr->namelen] = 0;
+ ptr->QRNum = qrbuf->QRnumber;
+
+ for (i = 0; i < ptr->namelen; i++)
+ {
+ ptr->lcname[i] = tolower(ptr->name[i]);
+ }
+
+ ptr->key = hashlittle(ptr->lcname, ptr->namelen, 9872345);
+ ptr->next = RP->rplist;
+ RP->rplist = ptr;
+}
+