Diverse kaputte Casts repariert.
Unwirksame und ueberfluessige Casts entfernt,
etwas Code-Cleanup.
Change-Id: I92f01e6391c432cd0881a5faac580f6d0b40c323
diff --git a/std/thing/commands.c b/std/thing/commands.c
index 5bfa386..c3eddf6 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -277,7 +277,7 @@
// ggf. id in das ID-Mapping eintragen
if(cmdid) {
mixed *tmp;
- j=sizeof((string*)added_cmds[str, CMDIDX_FUN]);
+ j=sizeof(added_cmds[str, CMDIDX_FUN]);
tmp=added_cmds[str, CMDIDX_ID]||allocate(j);
if(sizeof(tmp)<j) tmp+=allocate(j-sizeof(tmp));
tmp[<1]=cmdid;
@@ -355,7 +355,8 @@
cachecl[j..j] = allocate(0);
if(ids) {
ids[j..j] = allocate(0);
- if(!sizeof(ids-allocate(1))) ids=(mixed*)0;
+ if(!sizeof(ids-allocate(1)))
+ ids=0;
}
ret++;
}
@@ -378,7 +379,7 @@
static int _execute(mixed fun, string str, mixed *parsed) {
switch(typeof(fun)) {
case T_CLOSURE:
- return ((int)funcall(fun,str,&parsed));
+ return (({int})funcall(fun,str,&parsed));
case T_STRING:
int ret;
if(!call_resolved(&ret, this_object(), fun, str, &parsed))
@@ -488,7 +489,7 @@
else if(check_present&CHECK_ID && id(tmpstr)) // ID ?
matchstr=this_object();
else if((check_present&CHECK_PUTGET) && // PUT_GET_??? ?
- (tmpobj=(object*)
+ (tmpobj=({object*})
this_player()->find_obs(tmpstr,
([CHECK_PUTGETNONE:PUT_GET_NONE,
CHECK_PUTGETDROP:PUT_GET_TAKE,
@@ -669,7 +670,7 @@
}
static mapping _set_commands(mapping commands) {
- if(!commands) added_cmds=(mapping)0;
+ if(!commands) added_cmds=0;
else if(mappingp(commands)) {
if(widthof(commands) != CMDS_WIDTH)
raise_error("SetProp(P_COMMANDS): corrupt commands-mapping.\n");
diff --git a/std/thing/description.c b/std/thing/description.c
index 15d6afc..b2326da 100644
--- a/std/thing/description.c
+++ b/std/thing/description.c
@@ -88,7 +88,7 @@
Set( P_CLONER, NOSETMETHOD|SECURED, F_MODE_AS );
// Gibt es FPs ?
- explore = (mixed *)EPMASTER->QueryExplore();
+ explore = ({<string*|int>*})EPMASTER->QueryExplore();
return;
}
@@ -121,7 +121,7 @@
// Danach sollte der EPMASTER neu nach den Details befragt werden.
visible void __reload_explore()
{
- explore = (mixed *)EPMASTER->QueryExplore();
+ explore = ({<string*|int>*})EPMASTER->QueryExplore();
return;
}
@@ -359,7 +359,7 @@
case WEM:
case WEN:
if ( art && last=='e'&&QueryProp(P_GENDER) == MALE)
- sh = (string)sh + "n";
+ sh = sh + "n";
break;
case WESSEN:
@@ -370,11 +370,11 @@
case 'x':
case 's':
case 'z':
- sh = (string)sh + "'";
+ sh = sh + "'";
break;
default:
- sh = (string)sh + "s";
+ sh = sh + "s";
}
}
else
@@ -383,11 +383,11 @@
{
default:
if (QueryProp(P_GENDER)!=FEMALE)
- sh=(string)sh+"s";
+ sh=sh+"s";
break;
case 'e':
if (QueryProp(P_GENDER)==MALE)
- sh=(string)sh+"n";
+ sh=sh+"n";
case 'x':
case 's':
case 'z':
@@ -398,7 +398,7 @@
} /* pointerp(sh) */
// RAW? Dann mal zurueck
- if (demon == RAW) return (string)sh;
+ if (demon == RAW) return sh;
// Selber Artikel suchen ...
if (demon==2)
@@ -653,11 +653,11 @@
if (!stringp(detail))
{
if (closurep(detail))
- detail = (string)funcall(detail,key);
+ detail = ({string})funcall(detail,key);
else if (mappingp(detail))
- detail = (string)(detail[race]||detail[0]);
+ detail = detail[race] || detail[0];
else if (pointerp(detail))
- detail = (string)(detail[random(sizeof(detail))]);
+ detail = detail[random(sizeof(detail))];
}
// FP vergeben (so vorhanden ;-) )
@@ -722,7 +722,7 @@
if (stringp(str))
str = ({ str });
// Aliase aufloesen und implizite Klassen addieren.
- str = (string*)CLASSDB->AddImplicitClasses(str);
+ str = ({string*})CLASSDB->AddImplicitClasses(str);
// Summe mit alten Klassen bilden und Doppelte eliminieren
str = str + Query(P_CLASS, F_VALUE);
Set( P_CLASS, m_indices(mkmapping(str)), F_VALUE);
@@ -737,7 +737,7 @@
str = ({ str });
// Aliase aufloesen und implizite Klassen addieren.
- str = (string*)CLASSDB->AddImplicitClasses(str);
+ str = ({string*})CLASSDB->AddImplicitClasses(str);
// Und alle - inklusive impliziter Klassen - entfernen
// TODO: Pruefen, ob dies die richtige Entscheidung ist.
@@ -833,14 +833,14 @@
// Anteil der Gruppe am Objekt
public int QueryMaterialGroup( string matgroup )
{
- return (int)call_other( MATERIALDB, "MaterialGroup",
+ return ({int})call_other( MATERIALDB, "MaterialGroup",
QueryProp(P_MATERIAL), matgroup );
}
public string MaterialList( int casus, mixed idinf )
{
- return (string)call_other( MATERIALDB, "ConvMaterialList",
+ return ({string})call_other( MATERIALDB, "ConvMaterialList",
QueryProp(P_MATERIAL), casus, idinf );
}
diff --git a/std/thing/moving.c b/std/thing/moving.c
index 978fe97..8845c10 100644
--- a/std/thing/moving.c
+++ b/std/thing/moving.c
@@ -41,11 +41,11 @@
return ME_CANT_BE_TAKEN;
// Gewicht ermitteln
- if ( !(tmp = (int)QueryProp(P_TOTAL_WEIGHT)) )
- tmp = (int)QueryProp(P_WEIGHT);
+ if ( !(tmp = ({int})QueryProp(P_TOTAL_WEIGHT)) )
+ tmp = ({int})QueryProp(P_WEIGHT);
// Ist das Objekt nicht zu schwer?
- if ( (tmp = (int)dest->MayAddWeight(tmp)) < 0) {
+ if ( (tmp = ({int})dest->MayAddWeight(tmp)) < 0) {
if ( tmp == -2 ) return ME_TOO_HEAVY_FOR_ENV;
return ME_TOO_HEAVY;
}
@@ -87,7 +87,7 @@
// Bewegung in Para-Welt-Raeume?
// tmp ist die Ziel-Parallelweltnummer
if (!environment()||!living(environment())||
- !intp(tmp =(int)environment()->Query(P_PARA)))
+ !intp(tmp =({int})environment()->Query(P_PARA)))
tmp=0;
// Wenn das Objekt von einem in der Parawelt befindlichen Spieler
@@ -110,7 +110,7 @@
if ( (find_object(fn) || ((file_size(fn+".c")>0||
(file_size(vc=implode(explode(fn,"/")[0..<2],"/")+
"/virtual_compiler.c")>0 &&
- !catch(tmp=(int)call_other(vc,"QueryValidObject",fn);
+ !catch(tmp=({int})call_other(vc,"QueryValidObject",fn);
publish) && tmp>0)) &&
!catch(load_object( fn );publish))) &&
(!fn->QueryProp(P_NO_PLAYERS) || QueryProp(P_TESTPLAYER)) )