Typecasts Gefixt.

Teilweise ausgebaut, teilweise zu deklarativen Casts geaendert bzw.
deklarative Casts hinzugefuegt.

Weiterhin ein paar call_other() auf this_object() ausgebaut.

Change-Id: I0c493914c41c53e884aaf80b01db600aeb6508e9
diff --git a/obj/tools/MGtool/toolcmd.c b/obj/tools/MGtool/toolcmd.c
index d37e1df..e2546c1 100644
--- a/obj/tools/MGtool/toolcmd.c
+++ b/obj/tools/MGtool/toolcmd.c
@@ -60,7 +60,7 @@
     {
       obj=find_object(LPC_FILE);
       ru1=rusage();
-      error=catch(res=(mixed)obj->eval(callobj, cloner, ENV(cloner)));
+      error=catch(res=obj->eval(callobj, cloner, ENV(cloner)));
       ru2=rusage();
       if(error)
 	W("Error: "+error[1..]);
@@ -183,7 +183,7 @@
   TK("Xcd: str: "+(str?str:"(NULL)"));
   if(!str)
   {
-    if(!(path=(string)cloner->QueryProp("start_home")))
+    if(!(path=cloner->QueryProp("start_home")))
       path="/";
   }
   else if((dest=XFindObj(str,1)))
@@ -487,7 +487,7 @@
   else
   {
     ru1=rusage();
-    error=catch(res=(mixed)obj->eval(cloner, ENV(cloner)));
+    error=catch(res=obj->eval(cloner, ENV(cloner)));
     ru2=rusage();
     if(error)
       W("Error: "+error[1..]);
@@ -952,7 +952,7 @@
   if(!(daemon=load_object(LAG_O_DAEMON)))
     lag=({-1.0,-1.0,-1.0});
   else
-    lag=(float *)daemon->read_lag_data();
+    lag=daemon->read_lag_data();
   lags="Letzte 60 min: ";
   if(lag[0]>=0.0)
   {
@@ -1102,7 +1102,7 @@
   else
   {
     ru1=rusage();
-    error=catch(res=(mixed)obj->eval(cloner, ENV(cloner)));
+    error=catch(res=obj->eval(cloner, ENV(cloner)));
     ru2=rusage();
     if(error)
       W("Error: "+error[1..]);
@@ -1266,12 +1266,12 @@
     opt="";
   else
     opt=implode(strs[0..s-3], " ");
-  if(!(dir="/"+(string)MASTER->valid_read(strs[s-2], geteuid(),
+  if(!(dir="/"+MASTER->valid_read(strs[s-2], geteuid(),
 					  "get_dir", ME))) {
     WDLN("No permission to open directory for reading");
     return TRUE;
   }
-  if(!(file="/"+(string)MASTER->valid_write(strs[s-1], geteuid(),
+  if(!(file="/"+MASTER->valid_write(strs[s-1], geteuid(),
 					    "write_file", ME))) {
     WDLN("No permission to open script file for writing");
     return TRUE;
@@ -1380,7 +1380,7 @@
   }
   else if(obj=XFindObj(str))
   {
-    if(xpr=(mapping)obj->__query_xprof_data__())
+    if(xpr=obj->__query_xprof_data__())
     {
       funcs=m_indices(xpr);
       data=m_values(xpr);
diff --git a/obj/tools/MGtool/toollib.c b/obj/tools/MGtool/toollib.c
index fdf40b8..4f8e59f 100644
--- a/obj/tools/MGtool/toollib.c
+++ b/obj/tools/MGtool/toollib.c
@@ -115,7 +115,7 @@
       case T_POINTER:
       return "({"+implode(map(mix,"mixed_to_string",ME,lvl-1),",")+"})";
       case T_OBJECT:
-      return "["+short_path(object_name((object)mix))+"]";
+      return "["+short_path(object_name(mix))+"]";
       case T_MAPPING:
       s=sizeof(keys=m_indices(mix));
       t=get_type_info(mix, 1);