Unwirksame Typecasts entfernt.
Entweder ganz oder wenn noetig durch deklarative Casts ersetzt.
Change-Id: I3769c849215df487bc8dde2b8c11f8c59d8a1c13
diff --git a/secure/master.c b/secure/master.c
index 9c33f97..92405f4 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -129,7 +129,7 @@
// Standard-Fehlermeldung
//set_driver_hook(H_NOTIFY_FAIL, "Wie bitte?\n");
set_driver_hook(H_NOTIFY_FAIL, function string (string cmd, object tp)
- {if (tp && stringp(cmd=(string)tp->QueryProp(P_DEFAULT_NOTIFY_FAIL)))
+ {if (tp && stringp(cmd=({string})tp->QueryProp(P_DEFAULT_NOTIFY_FAIL)))
return(cmd);
return("Wie bitte?\n");});
@@ -610,7 +610,7 @@
|| file_size(compiler+".c")>0)
{
if(catch(
- ret=(object)call_other(compiler,"compile_object",str[<1]); publish))
+ ret=({object})call_other(compiler,"compile_object",str[<1]); publish))
return 0;
}
else
@@ -753,7 +753,7 @@
return 0;
// Ansonsten query_prevent_shadow fragen ...
- return !(int)ob->query_prevent_shadow(PO);
+ return !({int})ob->query_prevent_shadow(PO);
}
diff --git a/secure/master/destruct.c b/secure/master/destruct.c
index 7e76a11..1b7c19a 100644
--- a/secure/master/destruct.c
+++ b/secure/master/destruct.c
@@ -23,7 +23,7 @@
// wenn Bewegung buggt oder nicht funktioniert und ob noch existiert,
// rekursiv zerstoeren.
object oldenv=environment(ob);
- if ( (catch(res=(int)ob->move("/room/void",M_TPORT|M_NOCHECK,0,"faellt");
+ if ( (catch(res=({int})ob->move("/room/void",M_TPORT|M_NOCHECK,0,"faellt");
publish) || (ob && environment(ob) == oldenv) )
&& ob) {
// Spieler speichern, dann erst Inventar entleeren, dann remove() und
@@ -53,11 +53,11 @@
protected mixed prepare_destruct(object ob)
{
object old_env,env,item;
- mixed res;
+ int|string res;
// zuerst das notify_destruct() rufen und ggf. abbrechen, falls ob
// privilegiert ist.
- catch(res = (mixed)ob->NotifyDestruct(previous_object()); publish);
+ catch(res = ({int|string})ob->NotifyDestruct(previous_object()); publish);
if (res &&
(getuid(ob) == ROOTID ||
(IS_ARCH(ob)) ||
diff --git a/secure/master/file_access.c b/secure/master/file_access.c
index 8b1bbd5..d050c58 100644
--- a/secure/master/file_access.c
+++ b/secure/master/file_access.c
@@ -123,9 +123,7 @@
int access_rights(string *p_arr, string euid)
{
- int i;
-
- i = sizeof(p_arr) - 2;
+ int i = sizeof(p_arr) - 2;
while ( i >= 0 &&
file_size( implode(p_arr[0..i], "/") + "/access_rights.c" ) < 0 )
@@ -134,7 +132,7 @@
if ( i < 0 )
return 0;
- if ( !catch(i = (int)call_other(
+ if ( !catch(i = ({int})call_other(
implode(p_arr[0..i], "/") + "/access_rights",
"access_rights", euid,
implode(p_arr[i+1..], "/") ); publish) )
diff --git a/secure/master/misc.c b/secure/master/misc.c
index 9bb274f..d7d8eb5 100644
--- a/secure/master/misc.c
+++ b/secure/master/misc.c
@@ -417,9 +417,8 @@
mixed *ginfo;
// Lese- und Schreibberechtigungen fuer die Rubrik 'polizei' setzen
- call_other( "/secure/news", "???" );
- ob = find_object("secure/news");
- ginfo = ((mixed)ob->GetGroup("polizei"))[5..6];
+ ob = load_object("secure/news");
+ ginfo = (({mixed*})ob->GetGroup("polizei"))[5..6];
ob->RemoveAllowed( "polizei", 0, ginfo[0], ginfo[1] );
ob->AddAllowed( "polizei", 0, deputies, deputies );
LoadDeputyFileList();
@@ -565,7 +564,7 @@
if (heart_beat) heart_beat->_restart_beat();
}
-int renew_player_object(mixed who)
+int renew_player_object(string|object who)
{
object newob;
object *obs, *obs2;
@@ -615,8 +614,8 @@
}
efun::configure_object(who, OC_COMMANDS_ENABLED, 0);
efun::set_this_player(0);
- armours=(object *)who->QueryProp(P_ARMOURS);
- weapon=(object)who->QueryProp(P_WEAPON);
+ armours=({object*})who->QueryProp(P_ARMOURS);
+ weapon=({object})who->QueryProp(P_WEAPON);
if ( previous_object() && object_name(previous_object()) == "/secure/merlin" )
send_channel_msg("Debug",
@@ -630,7 +629,7 @@
ob_name=explode(object_name(newob),"#")[0];
if (sizeof(ob_name)>11 && ob_name[0..11]=="/std/shells/")
ob_name=ob_name[11..];
- ob_name=ob_name+":"+getuid((object)who);
+ ob_name=ob_name+":"+getuid(who);
if (active)
exec(newob,who);
if (active && (interactive(who)||!interactive(newob)))
diff --git a/secure/master/network.c b/secure/master/network.c
index 3e7d0b1..26767a5 100644
--- a/secure/master/network.c
+++ b/secure/master/network.c
@@ -72,7 +72,7 @@
switch ( mess[1] ){
case "wholist":
case "who":
- data = (string *)"/obj/werliste"->QueryWhoListe();
+ data = ({string*})"/obj/werliste"->QueryWhoListe();
break;
case "uptime":
@@ -112,7 +112,14 @@
// gewesen. Davon geht auch aller hier gerufener Code aus. Daher wird jetzt
// hier zentral die Bytesequenz als ASCII interpretiert und in string
// gewandelt, der dann wie bislang auch verarbeitet wird.
- string msg_text = to_text(message, "ASCII");
+ string msg_text;
+ if (catch(msg_text = to_text(message, "ASCII");publish))
+ {
+ msg_text = to_text(message, "ISO8859-1");
+ log_file("UDP_INVALID",sprintf(
+ "Nachricht von %s mit nicht-ASCII-Zeichen: %s\n",
+ host, msg_text));
+ }
UDP_DEBUG(sprintf("%s %s:%d: %s\n",strftime(),host,port,msg_text));
diff --git a/secure/master/userinfo.c b/secure/master/userinfo.c
index 83fdbf1..9e6a06b 100644
--- a/secure/master/userinfo.c
+++ b/secure/master/userinfo.c
@@ -832,7 +832,7 @@
if (!PO || PO!=TP || PO!=TI || real_name != getuid(PO) ||
!find_userinfo(real_name))
return 0;
- mixed erstie=(mixed)this_interactive()->QueryProp(P_SECOND);
+ string|int erstie=({string|int})this_interactive()->QueryProp(P_SECOND);
password = userlist[real_name,USER_PASSWORD];
wlevel = get_wiz_level(real_name);
if (!update_password(passwd, passwd)) return 0;
@@ -977,7 +977,7 @@
// entfernt werden, das uebernimmt RemoveWizardFromUID().
if (pointerp(userlist[player, USER_DOMAIN])) {
string *removeduids=
- ((string*)userlist[player, USER_DOMAIN] | domains) - domains;
+ (userlist[player, USER_DOMAIN] | domains) - domains;
foreach(string uid: removeduids)
RemoveWizardFromUID(uid, player);
}
@@ -996,7 +996,7 @@
// entfernt werden, das uebernimmt RemoveWizardFromUID().
if (pointerp(userlist[player, USER_GUILD])) {
string *removeduids=
- ((string*)userlist[player, USER_GUILD] | guilds) - guilds;
+ (userlist[player, USER_GUILD] | guilds) - guilds;
foreach(string uid: removeduids)
RemoveWizardFromUID(uid, player);
}
@@ -1070,7 +1070,7 @@
object guild;
catch(guild=load_object(GUILDDIR"/"+alias));
if (objectp(guild)
- && (sizeof(spbook=(string)
+ && (sizeof(spbook=({string})
guild->QueryProp(P_GUILD_DEFAULT_SPELLBOOK)))
&& spbook!=alias)
uids += ({GUILDID"."+spbook});