Typfix in ChannelMessage()

Change-Id: Ia529c578f39165915df28cdc7ef98bc6a406fd81
diff --git a/std/player/channel.c b/std/player/channel.c
index 93ac6f0..f1521f7 100644
--- a/std/player/channel.c
+++ b/std/player/channel.c
@@ -153,13 +153,21 @@
   return "<Unbekannt>";
 }
 
-// <nonint> unterdrueckt die AUsgabe an den Spieler und liefert den Text
+// <nonint> unterdrueckt die Ausgabe an den Spieler und liefert den Text
 // zurueck. Wird nur fuer die Ebenenhistory benutzt. 
-string ChannelMessage(mixed* msg, int nonint)
+string ChannelMessage(<string|object|int>* msg, int nonint)
 {
   string channel_message;
   string channel=msg[0];
-  object sender=msg[1];
+
+  // Wenn eine Ebenenmeldung ausgegeben werden soll, ist msg[1] ein Objekt,
+  // im Fall der History aber ein String. Daher wird <sender> als Union
+  // deklariert. Das ist unproblematisch, weil die beiden Datentypen
+  // komplett getrennte Wege nehmen: ein Objekt wird an ReceiveMsg()
+  // durchgereicht (Ebenenmeldung). Ein String wird direkt in die Meldung
+  // (History) eingebaut, diese an den ChannelParser() zurueckgegeben, der
+  // sie via More() ausgibt.
+  string|object sender=msg[1];
   string message=msg[2];
   int msg_type = msg[3];