* room_ops.c: Fix for old room record not being deleted when renaming
authorMichael Hampton <io_error@uncensored.citadel.org>
Tue, 18 Jun 2002 16:34:07 +0000 (16:34 +0000)
committerMichael Hampton <io_error@uncensored.citadel.org>
Tue, 18 Jun 2002 16:34:07 +0000 (16:34 +0000)
  baseroom or aideroom

citadel/ChangeLog
citadel/room_ops.c

index 7f9d1d443bf80a720ae62a720fb163154c8e234d..602467082fdebe7b81fede4c7a10249b01fd2ff9 100644 (file)
@@ -1,4 +1,8 @@
  $Log$
+ Revision 591.47  2002/06/18 16:34:06  error
+ * room_ops.c: Fix for old room record not being deleted when renaming
+   baseroom or aideroom
+
  Revision 591.46  2002/06/16 21:01:11  ajc
  * Allow Aides to create rooms in other users' namespaces (if global access
    controls allow)
@@ -3739,4 +3743,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
-
index 70d81ab4eeae268d6e5c5f0e4d9468691cffc513..8d83038c65d4f61a2ffd12aff66cdedfb5e6e407 100644 (file)
@@ -1096,6 +1096,20 @@ int CtdlRenameRoom(char *old_name, char *new_name, int new_floor) {
                qrbuf.QRfloor = new_floor;
                putroom(&qrbuf);
 
+               begin_critical_section(S_CONFIG);
+       
+               /* If baseroom/aideroom name changes, update config */
+               if (!strncasecmp(old_name, config.c_baseroom, ROOMNAMELEN)) {
+                       safestrncpy(config.c_baseroom, new_name, ROOMNAMELEN);
+                       put_config();
+               }
+               if (!strncasecmp(old_name, config.c_aideroom, ROOMNAMELEN)) {
+                       safestrncpy(config.c_aideroom, new_name, ROOMNAMELEN);
+                       put_config();
+               }
+       
+               end_critical_section(S_CONFIG);
+       
                /* If the room name changed, then there are now two room
                 * records, so we have to delete the old one.
                 */
@@ -1108,20 +1122,6 @@ int CtdlRenameRoom(char *old_name, char *new_name, int new_floor) {
 
        end_critical_section(S_QUICKROOM);
 
-       begin_critical_section(S_CONFIG);
-
-       /* If baseroom/aideroom name changes, update config */
-       if (!strncasecmp(old_name, config.c_baseroom, ROOMNAMELEN)) {
-               safestrncpy(config.c_baseroom, new_name, ROOMNAMELEN);
-               put_config();
-       }
-       if (!strncasecmp(old_name, config.c_aideroom, ROOMNAMELEN)) {
-               safestrncpy(config.c_aideroom, new_name, ROOMNAMELEN);
-               put_config();
-       }
-
-       end_critical_section(S_CONFIG);
-
        /* Adjust the floor reference counts if necessary */
        if (new_floor != old_floor) {
                lgetfloor(&flbuf, old_floor);