Add this to do_dig and when you type 'dig <dir> -1' it will remove the corresponding exit from the other side.
Code:
ACMD(do_dig)
{
.
.
.
/* Target room == -1 removes the exit. */
if (rvnum == NOTHING)
{
if (W_EXIT(IN_ROOM(ch), dir))
{
+ /* remove the exit on the other side */
+ if (EXIT(ch, dir)->to_room != NOWHERE)
+ if ((world[EXIT(ch, dir)->to_room].dir_option[rev_dir[dir]]) != NULL)
+ {
+ /* free the old pointers on other side, if any */
+ if (W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir])->general_description)
+ free(W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir])->general_description);
+ if (W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir])->keyword)
+ free(W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir])->keyword);
+
+ free(W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir]));
+ W_EXIT(EXIT(ch, dir)->to_room, rev_dir[dir]) = NULL;
+ }
/* free the old pointers, if any */