Aenderungen fuer wieder funktionierendes strict_types
- Deklarative Casts hinzugefuegt
- Typen gefixt
Change-Id: I44c6082d907efb241a35da248774809054f8c5ab
diff --git a/std/shells/magier/admin.c b/std/shells/magier/admin.c
index 64f3168..0dcac9f 100644
--- a/std/shells/magier/admin.c
+++ b/std/shells/magier/admin.c
@@ -89,7 +89,7 @@
if (!str) return 0;
if (sscanf(str,"%s %s",master,domain)!=2) return 0;
if (!master || !domain) return 0;
- if (!"/secure/master"->add_domain_master(master,domain))
+ if (!({int})"/secure/master"->add_domain_master(master,domain))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -109,7 +109,7 @@
if (!str) return 0;
if (sscanf(str,"%s %s",master,domain)!=2) return 0;
if (!master || !domain) return 0;
- if (!"/secure/master"->remove_domain_master(master,domain))
+ if (!({int})"/secure/master"->remove_domain_master(master,domain))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -130,7 +130,7 @@
if (!str) return 0;
if (sscanf(str, "%s %s", master, guild)!=2) return 0;
if (!master || !guild) return 0;
- if (!"/secure/master"->add_guild_master(master,guild))
+ if (!({int})"/secure/master"->add_guild_master(master,guild))
write("Hat nicht funktioniert.\n");
else
write ("Ok.\n");
@@ -150,7 +150,7 @@
if (!str) return 0;
if (sscanf(str, "%s %s", master, guild)!=2) return 0;
if (!master || !guild) return 0;
- if (!"/secure/master"->remove_guild_master(master,guild))
+ if (!({int})"/secure/master"->remove_guild_master(master,guild))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -179,12 +179,12 @@
if ( arg=="?" )
{
- write(call_other("/secure/sinmaster","ListSinners"));
+ write(({string})call_other("/secure/sinmaster","ListSinners"));
return 1;
}
if ( arg=="!" )
{
- write(call_other("/secure/sinmaster","Dump"));
+ write(({string})call_other("/secure/sinmaster","Dump"));
return 1;
}
if ( arg=="*" )
@@ -200,7 +200,7 @@
{
if ( i<2 )
return 0;
- write(call_other("/secure/sinmaster","RemoveSin",
+ write(({string})call_other("/secure/sinmaster","RemoveSin",
lowerstring(parts[0][1..]),
to_int(parts[1])));
}
@@ -208,7 +208,7 @@
{
if ( i<2 )
return 0;
- write(call_other("/secure/sinmaster","AddSin",
+ write(({string})call_other("/secure/sinmaster","AddSin",
lowerstring(parts[0][1..]),
implode(parts[1..]," ")));
}
@@ -216,7 +216,7 @@
{
if ( i>1 )
return 0;
- write(call_other("/secure/sinmaster","ListSins",
+ write(({string})call_other("/secure/sinmaster","ListSins",
lowerstring(parts[0])));
}
return 1;
@@ -251,7 +251,7 @@
}
name=lower_case(name);
- "/secure/master"->BanishName( name, grund, force );
+ ({int})"/secure/master"->BanishName( name, grund, force );
return 1;
}
@@ -305,7 +305,7 @@
name = lower_case(name);
if ( !grund || !stringp(grund) || lower_case(grund) != "loeschen" ){
- "/secure/merlin"->MBanishInsert( name, grund, this_interactive() );
+ ({void})"/secure/merlin"->MBanishInsert( name, grund, this_interactive() );
write( "Du setzt "+capitalize(name)+" auf die MBanish-Liste.\n" );
}
else{
@@ -313,7 +313,7 @@
write( "Das duerfen nur Erzmagier.\n" );
return 1;
}
- "/secure/merlin"->MBanishDelete( name );
+ ({void})"/secure/merlin"->MBanishDelete( name );
write( "Du loescht "+capitalize(name)+" von der MBanish-Liste.\n" );
}
@@ -342,7 +342,7 @@
name = lower_case(name);
- if ( !"/secure/master"->TBanishName( name, days ) )
+ if ( !({int})"/secure/master"->TBanishName( name, days ) )
return 1;
if ( !days )
@@ -395,7 +395,7 @@
_notify_fail("Syntax: sbanish <numerische ip> <tage>\n");
- if ( sscanf( this_player()->_unparsed_args(), "%s %d", ip, days ) != 2 )
+ if ( sscanf( ({string})this_player()->_unparsed_args(), "%s %d", ip, days ) != 2 )
return 0;
if ( !ip || !sizeof(ip) )
diff --git a/std/shells/magier/comm.c b/std/shells/magier/comm.c
index 5263979..444efb3 100644
--- a/std/shells/magier/comm.c
+++ b/std/shells/magier/comm.c
@@ -51,7 +51,7 @@
}
msg=break_string(msg,78);
tell_object(ob,msg);
- printf("%s->%s",ob->Name(WEN),msg);
+ printf("%s->%s",({string})ob->Name(WEN),msg);
return 1;
}
diff --git a/std/shells/magier/magier_ext.c b/std/shells/magier/magier_ext.c
index 365ac63..926d0b2 100644
--- a/std/shells/magier/magier_ext.c
+++ b/std/shells/magier/magier_ext.c
@@ -154,7 +154,7 @@
static string _set_currentdir(string path)
{
Set(P_CURRENTDIR, path);
- this_object()->modify_prompt(); // Prompt mit neuem Pfad setzen, telnetneg
+ ({void})this_object()->modify_prompt(); // Prompt mit neuem Pfad setzen, telnetneg
return path;
}
@@ -212,7 +212,7 @@
static string _set_prompt(string prompt) {
Set(P_PROMPT, prompt, F_VALUE);
- this_object()->modify_prompt(); // neuen Prompt setzen (telnetneg.c)
+ ({void})this_object()->modify_prompt(); // neuen Prompt setzen (telnetneg.c)
return prompt;
}
@@ -292,7 +292,7 @@
"nicht moeglich.\n");
return 1;
}
- ob->start_player(capitalize(getuid(this_object())));
+ ({int})ob->start_player(capitalize(getuid(this_object())));
remove();
return 1;
}
@@ -451,7 +451,7 @@
QueryProp(P_MMSGOUT)),({ this_object() }));
if (inform=="e") {
// Logout-event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_LOGOUT, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_LOGOUT, ([
E_OBJECT: this_object(),
E_PLNAME: getuid(this_object()),
E_ENVIRONMENT: environment() ]) );
@@ -473,7 +473,7 @@
SetProp(P_INVIS, 0);
if (inform=="e") {
// Login-event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_LOGIN, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_LOGIN, ([
E_OBJECT: this_object(),
E_PLNAME: getuid(this_object()),
E_ENVIRONMENT: environment() ]) );
diff --git a/std/shells/magier/objects.c b/std/shells/magier/objects.c
index 1a51ba5..b93f6c7 100644
--- a/std/shells/magier/objects.c
+++ b/std/shells/magier/objects.c
@@ -67,8 +67,8 @@
if (!objectp(ob))
return printf("clone: %s: Objekt beim Erzeugen zerstoert.\n",
args[0]),1;
- if ((ob->move(this_object(),M_GET)>0) ||
- (!objectp(ob)||ob->move(environment(),M_NOCHECK)>0)||!objectp(ob))
+ if ((({int})ob->move(this_object(),M_GET)>0) ||
+ (!objectp(ob)||({int})ob->move(environment(),M_NOCHECK)>0)||!objectp(ob))
{
if (!objectp(ob))
return printf("clone: %s: Objekt beim Erzeugen zerstoert.\n",
@@ -118,11 +118,11 @@
}
else
ob=args[0];
- cmdline=capitalize(to_string(ob->name(WER)));
+ cmdline=capitalize(to_string(({string})ob->name(WER)));
flags=({int})ob->QueryProp(P_PLURAL); // Missbrauch von flags :o)
if (query_verb()=="destruct")
{
- if (!ob->remove())
+ if (!({int})ob->remove())
{
notify_fail(cmdline+" will nicht zerstoert werden!\n");
return 0;
diff --git a/std/shells/magier/parsing.c b/std/shells/magier/parsing.c
index a38210a..31d3429 100644
--- a/std/shells/magier/parsing.c
+++ b/std/shells/magier/parsing.c
@@ -285,7 +285,7 @@
}
// Normalisiertes Pfadarray besorgen
- string *patharray=master()->path_array(filename);
+ string *patharray=({string*})master()->path_array(filename);
// und daraus auch filename neu erzeugen
filename=implode(patharray, "/");
@@ -301,7 +301,7 @@
object *vrooms = ({});
if (vcompiler)
- vrooms = vcompiler->QueryObjects();
+ vrooms = ({object*})vcompiler->QueryObjects();
map(vrooms,#'_vc_map,&data);
}
diff --git a/std/shells/magier/players.c b/std/shells/magier/players.c
index a07c343..6c80ffe 100644
--- a/std/shells/magier/players.c
+++ b/std/shells/magier/players.c
@@ -87,7 +87,7 @@
if ( !pointerp(message) || sizeof(message) != 3 ){
tell_room(environment(),sprintf("%s beschwoert einen Blitz "
"vom Himmel.\n",capitalize(getuid())),({ this_object() }));
- printf("Du toetest %s.\n",opfer->name( WEN,2));
+ printf("Du toetest %s.\n",({string})opfer->name( WEN,2));
}
else
{
@@ -97,7 +97,7 @@
tell_object(opfer,_zap_message(message[2],opfer));
}
- opfer->die();
+ ({void})opfer->die();
return 1;
}
else{
@@ -121,7 +121,7 @@
mixed *pur = Query(P_PURSUERS);
if ( pointerp(pur) && sizeof(pur) && objectp(pur[0]) )
{
- pur[0]->RemovePursuer(this_object());
+ ({void})pur[0]->RemovePursuer(this_object());
ReceiveMsg("Verfolgungsmodus abgeschaltet.", MT_NOTIFICATION);
}
else
@@ -167,10 +167,10 @@
else
{
ReceiveMsg(sprintf(
- "Du verfolgst jetzt %s. [%s]", ziel->name(WEN), object_name(ziel)),
+ "Du verfolgst jetzt %s. [%s]", ({string})ziel->name(WEN), object_name(ziel)),
MT_NOTIFICATION, MA_MOVE);
- ziel->AddPursuer(this_object());
- ziel->TakeFollowers();
+ ({void})ziel->AddPursuer(this_object());
+ ({void})ziel->TakeFollowers();
}
}
else
@@ -201,10 +201,10 @@
}
if(living=find_living(livname))
{
- if (living->move(object_name(environment()),
+ if (({int})living->move(object_name(environment()),
M_TPORT|M_NOCHECK)<=0)
{
- printf("Teleportieren von %s fehlgeschlagen.\n",living->Name(WEM));
+ printf("Teleportieren von %s fehlgeschlagen.\n",({string})living->Name(WEM));
if (IS_LEARNER(living))
tell_object(living,sprintf("%s wollte Dich teleportieren, "
"hat aber versagt!\n",capitalize(getuid())));
@@ -215,7 +215,7 @@
"Du verlierst die Orientierung ...\n"
+(QueryProp(P_INVIS)?"":"%s holt Dich zu sich.\n"),
capitalize(getuid())));
- printf("%s wurde herbeizitiert.\n",living->Name(WER));
+ printf("%s wurde herbeizitiert.\n",({string})living->Name(WER));
return 1;
}
printf("Das Lebewesen '%s' konnte nicht gefunden werden.\n",
@@ -249,13 +249,13 @@
mapping enemies = ({mapping})obj->StopHuntingMode(1);
foreach(object en : enemies)
{
- en->StopHuntFor(obj, 1);
+ ({int})en->StopHuntFor(obj, 1);
tell_object(obj,sprintf("%s beendet Deinen Kampf mit %s.\n",
- capitalize(getuid()),en->Name(WEM)));
+ capitalize(getuid()),({string})en->Name(WEM)));
tell_object(en,sprintf("%s beendet Deinen Kampf mit %s.\n",
capitalize(getuid()),him));
}
- printf("%s und alle Gegner wurden befriedet.\n",obj->Name(WER));
+ printf("%s und alle Gegner wurden befriedet.\n",({string})obj->Name(WER));
}
return 1;
}
@@ -281,7 +281,7 @@
spieler = filter(users(),(: return !IS_LEARNER($1); :));
#endif
spieler = sort_array(spieler, function int (object a, object b)
- { return a->QueryProp(P_LEVEL) > b->QueryProp(P_LEVEL); } );
+ { return ({int})a->QueryProp(P_LEVEL) > ({int})b->QueryProp(P_LEVEL); } );
res = "Lvl Name Erfahrung QP Int Str Dex Con WC "
"AC HANDS HP (max)\n"
@@ -290,19 +290,19 @@
for (i=sizeof(spieler)-1; i>=0; i--)
res += sprintf("%3d %-12s %9d %5d %3d %3d %3d %3d %4d %4d %5d "
"%4d (%4d)\n",
- spieler[i]->QueryProp(P_LEVEL),
+ ({int})spieler[i]->QueryProp(P_LEVEL),
capitalize(getuid(spieler[i])),
- spieler[i]->QueryProp(P_XP),
- spieler[i]->QueryProp(P_QP),
- spieler[i]->QueryAttribute(A_INT),
- spieler[i]->QueryAttribute(A_STR),
- spieler[i]->QueryAttribute(A_DEX),
- spieler[i]->QueryAttribute(A_CON),
- spieler[i]->QueryProp(P_TOTAL_WC),
- spieler[i]->QueryProp(P_TOTAL_AC),
- (sizeof(hands=(({int *})spieler[i]->QueryProp(P_HANDS)))?hands[1]:0),
- spieler[i]->QueryProp(P_HP),
- spieler[i]->QueryProp(P_MAX_HP));
+ ({int})spieler[i]->QueryProp(P_XP),
+ ({int})spieler[i]->QueryProp(P_QP),
+ ({int})spieler[i]->QueryAttribute(A_INT),
+ ({int})spieler[i]->QueryAttribute(A_STR),
+ ({int})spieler[i]->QueryAttribute(A_DEX),
+ ({int})spieler[i]->QueryAttribute(A_CON),
+ ({int})spieler[i]->QueryProp(P_TOTAL_WC),
+ ({int})spieler[i]->QueryProp(P_TOTAL_AC),
+ (sizeof(hands=(({<int|string|string*>*})spieler[i]->QueryProp(P_HANDS)))?hands[1]:0),
+ ({int})spieler[i]->QueryProp(P_HP),
+ ({int})spieler[i]->QueryProp(P_MAX_HP));
More(res);
return 1;
}
@@ -324,14 +324,14 @@
if (!(living = find_living(living_name)))
return printf ("Ein Lebewesen namens '%s' konnte nicht gefunden werden!\n",
capitalize(living_name)),1;
- if (living->command_me(what))
+ if (({int})living->command_me(what))
{
printf("Du zwingst %s zu \"%s\".\n",capitalize(living_name),what);
if (!IS_ARCH(this_object()) &&
getuid()!=({string|int})living->QueryProp(P_TESTPLAYER))
log_file(SHELLLOG("ZWINGE"),
sprintf("%s zwingt %s (%s) zu %s [%s]\n",
- capitalize(getuid()),living->Name(),capitalize(getuid(living)),
+ capitalize(getuid()),({string})living->Name(),capitalize(getuid(living)),
what,dtime(time())));
}
else
@@ -360,7 +360,7 @@
}
lpv = ({int})ob->QueryProp(P_HP);
mpv = ({int})ob->QueryProp(P_SP);
- ob->heal_self(1000000);
+ ({void})ob->heal_self(1000000);
string|int testie = ({string|int})ob->QueryProp(P_TESTPLAYER);
if (!IS_LEARNER(ob)
&& (!testie || (to_string(testie)[<5..<1] == "Gilde")))
@@ -368,7 +368,7 @@
log_file(SHELLLOG("HEAL"),
sprintf("%s heilt %s (%s) %s (LP: %d -> %d, MP: %d -> %d)\n",
capitalize(geteuid(this_player())),
- call_other(ob,"name"), capitalize(geteuid(ob)),
+ ({string})call_other(ob,"name"), capitalize(geteuid(ob)),
dtime(time()), lpv, ({int})ob->QueryProp(P_HP),
mpv,({int})ob->QueryProp(P_SP)));
}
@@ -422,11 +422,11 @@
a=0;res="";
for(i=0; i<sizeof(list); i++) {
string name_;
- name_ = capitalize(list[i]->query_real_name()||"<logon>");
+ name_ = capitalize(({string})list[i]->query_real_name()||"<logon>");
res += sprintf( "%s%-15s%s %s%-13s%s %s%3d%s %s %s %s%s%s%s %s%s\n",
a_ipnum, query_ip_number(list[i]),a_end,a_name,
- (list[i]->QueryProp(P_INVIS)?"("+name_+")":name_),
- a_end,a_level, MASTER->get_wiz_level(getuid(list[i])),
+ (({int})list[i]->QueryProp(P_INVIS)?"("+name_+")":name_),
+ a_end,a_level, ({int})MASTER->get_wiz_level(getuid(list[i])),
a_end,a_age,
time2string("%4x %0X",(({int})list[i]->QueryProp(P_AGE))*2),
query_idle(list[i])>=300?(a++,(a_idle+"I")):" ",
@@ -522,10 +522,10 @@
foreach(object u: spieler)
{
- string second=u->QueryProp(P_SECOND);
+ string second=({string})u->QueryProp(P_SECOND);
if (stringp(second) && sizeof(second))
{
- if (!master()->find_userinfo(second))
+ if (!({int})master()->find_userinfo(second))
second = "*ungueltig*";
else
second = capitalize(second);
@@ -535,7 +535,7 @@
arg+=sprintf("%-11s %-17s %26s %-15s\n",
capitalize(getuid(u)), second,
- dtime(u->QueryProp(P_LAST_LOGIN)),
+ dtime(({int})u->QueryProp(P_LAST_LOGIN)),
_spieler_time2string(query_idle(u)));
}
arg+="==============================================================="
diff --git a/std/shells/magier/upd.c b/std/shells/magier/upd.c
index f48d73c..87a3030 100644
--- a/std/shells/magier/upd.c
+++ b/std/shells/magier/upd.c
@@ -39,7 +39,7 @@
{
if ( query_once_interactive(obj) )
{
- obj->move( inv_saver, NO_CHECK );
+ ({int})obj->move( inv_saver, NO_CHECK );
return obj;
}
return 0;
@@ -140,7 +140,7 @@
}
if (!(flags&UPD_H))
{
- if(err = catch(obj->remove()))
+ if(err = catch(({int})obj->remove()))
printf("upd: %s: remove() fehlgeschlagen. Aufruf von " +
"destruct().\n",file);
}
@@ -394,10 +394,10 @@
items=transpose_array(items)[0];
while (i--)
if (member(items, inv[i])==-1)
- inv[i]->move(inv_saver,NO_CHECK);
+ ({int})inv[i]->move(inv_saver,NO_CHECK);
}
else // In diesem Objekt sind keine Items gesetzt.
- while (i--) inv[i]->move(inv_saver,NO_CHECK);
+ while (i--) ({int})inv[i]->move(inv_saver,NO_CHECK);
}
}
else
@@ -453,7 +453,7 @@
_illegal_closure(pro[names[i], F_SET_METHOD]) )
m_delete( pro, names[i] );
- obj->SetProperties(pro);
+ ({mapping})obj->SetProperties(pro);
msg += ", Properties gesetzt";
}
// Wenn kein UPD_C, wird ggf. das Ergebnis von Configure() wieder
@@ -476,7 +476,7 @@
}
if (env)
{
- if ( obj->move( env, NO_CHECK ) <= 0 )
+ if ( ({int})obj->move( env, NO_CHECK ) <= 0 )
printf( "upd: /%O konnte nicht in /%O zurueckbewegt werden\n",
obj, env );
else
@@ -484,7 +484,7 @@
}
if (i=sizeof(inv))
{
- while(i--) if (inv[i]) inv[i]->move(obj, NO_CHECK );
+ while(i--) if (inv[i]) ({int})inv[i]->move(obj, NO_CHECK );
msg += ", Inhalt zurueckbewegt";
}
}