Removed the caching of netconfig entries. The caching of configdb entries now serves...
[citadel.git] / citadel / room_ops.c
index abd5e14b1475020ab63db518e397a49fe5954099..a39cf314beb8e622168931f112237c787f5a5987 100644 (file)
@@ -678,12 +678,11 @@ void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data, RoomNetC
                {
                        OneRoomNetCfg* RNCfg;
                        RNCfg = CtdlGetNetCfgForRoom(qrbuf.QRnumber);
-                       if ((RNCfg != NULL) &&
-                           ((filter == maxRoomNetCfg) ||
-                            (RNCfg->NetConfigs[filter] != NULL)))
+                       if ((RNCfg != NULL) && ((filter == maxRoomNetCfg) || (RNCfg->NetConfigs[filter] != NULL)))
                        {
                                CB(&qrbuf, in_data, RNCfg);
                        }
+                       // FIXME free RNCfg
                }
        }
 }
@@ -1132,6 +1131,7 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
 {
        struct floor flbuf;
        char filename[PATH_MAX];
+       char configdbkeyname[25];
 
        syslog(LOG_NOTICE, "Deleting room <%s>", qrbuf->QRname);
 
@@ -1143,9 +1143,9 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
        assoc_file_name(filename, sizeof filename, qrbuf, ctdl_image_dir);
        unlink(filename);
 
-       /* Delete the room's network config file */
-       assoc_file_name(filename, sizeof filename, qrbuf, ctdl_netcfg_dir);
-       unlink(filename);
+       /* Delete the room's network configdb entry */
+       netcfg_keyname(configdbkeyname, qrbuf->QRnumber);
+       CtdlDelConfig(configdbkeyname);
 
        /* Delete the messages in the room
         * (Careful: this opens an S_ROOMS critical section!)
@@ -1167,7 +1167,6 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
 }
 
 
-
 /*
  * Check access control for deleting a room
  */