RemoveSpecialExit()
*******************


FUNKTION
========

   void RemoveSpecialExit(string|string* cmd);


DEFINIERT IN
============

   /std/room/exits


ARGUMENTE
=========

   string/string* cmd
        Richtung(en), die entfernt werden sollen.


BESCHREIBUNG
============

   Die in cmd angegebenen Ausgaenge werden wieder entfernt.

   Ist cmd = 0, so werden alle Ausgaenge entfernt.


BEMERKUNGEN
===========

   Ausgaenge werden an der gleichen Stelle gespeichert:
   - RemoveSpecialExit() greift auf die gleichen Daten wie RemoveExit()
     zu, entfernt also auch normale Ausgaenge!


SIEHE AUCH
==========

   AddExit(), AddSpecialExit(), AddGuardedExit(), GetExits()
   RemoveExit(),
   P_EXITS, P_HIDE_EXITS, /std/room/exits.c
   ausgaenge

31.01.2015, Zesstra
