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];