leave(): nicht existierende Ebenen behandeln

Aus nicht-existierenden Ebenen austreten sollte keinen
Fehler ausloesen.
Es ist sogar erfolgreich, damit das Spielerobjekt diese
nicht mehr weiterhin speichert.

Change-Id: Ibe2841cfe066775e601b33acf0a5e18750cf5f50
diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index 09cb6a1..96a3cce 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -1061,6 +1061,10 @@
 public int leave(string chname, object leaving)
 {
   struct channel_s ch = channels[lower_case(chname)];
+  // Nicht-existierenden Ebenen soll das Spielerobjekt austragen, also tun wir
+  // so, als sei das erfolgreich gewesen.
+  if (!ch)
+    return 0;
 
   ch.members -= ({0}); // kaputte Objekte erstmal raus