RemoveItem() an aktuellen Codestyle angepasst.

Und dabei einige Sprachmittel modernisiert.

Change-Id: I4dc20797835bc7646aa71e2f2cceee2061a6d7d0
diff --git a/std/container/items.c b/std/container/items.c
index 5b87bf0..4e76cfb 100644
--- a/std/container/items.c
+++ b/std/container/items.c
@@ -154,26 +154,22 @@
 private void ri_rem_ob(object ob)
 {
   object *inv;
-  int i;
 
-  if(objectp(ob) && present(ob,ME))
+  if(objectp(ob) && environment(ob)==this_object())
   {
     inv=deep_inventory(ob);
-      
-    for(i=sizeof(inv);i--;)
+
+    foreach(object o : inv)
     {
-      if(inv[i])
+      o->remove(1);
+      if(objectp(o))
       {
-        inv[i]->remove(1);
-              
-        if(inv[i])
-        {
-          destruct(inv[i]);
-        }
+        destruct(o);
       }
     }
+
     ob->remove(1);
-      
+
     if(ob)
     {
       destruct(ob);
@@ -181,48 +177,53 @@
   }
 }
 
-
-private int ri_filter(mixed *ritem, mixed file)
+private int ri_filter(<int|<string|string*>|object>* ritem, 
+  string|string* file)
 {
-  object ob, *inv;
-  int i;
-
+  object ob;
+  
   ob=ritem[RITEM_OBJECT];
-
+  
   if(stringp(file) && ritem[RITEM_FILE]==file)
-    return ri_rem_ob(ob), 0;
+  {
+    ri_rem_ob(ob);
+    return 0;
+  }
   else if(pointerp(ritem[RITEM_FILE]) && pointerp(file) &&
-            sizeof(file&ritem[RITEM_FILE])==sizeof(ritem[RITEM_FILE]))
-    return ri_rem_ob(ob), 0;
+          sizeof(file & ritem[RITEM_FILE])==sizeof(ritem[RITEM_FILE]))
+  {
+    ri_rem_ob(ob);
+    return 0;
+  }
 
   return 1;
 }
 
 
-public void RemoveItem(mixed filename)
+public void RemoveItem(string|string* filename)
 {
-  mixed *items;
-  int i;
+  < <int|<string|string*>|object>* >* items=QueryProp(P_ITEMS);
 
-  if(!pointerp(items=QueryProp(P_ITEMS)) || !sizeof(items))
+  if(!pointerp(items) || !sizeof(items))
+  {
     return;
+  }
 
   if(pointerp(filename))
   {
-    for(i=sizeof(filename);i--;)
+    foreach(string fn: &filename)
     {
-      filename[i] = (string)master()->_get_path( filename[i], "?" );
+      fn=master()->_get_path(fn,"?");
     }
   }
   else
   {
-    filename = (string)master()->_get_path( filename, "?" );
+    filename=master()->_get_path( filename,"?");
   }
-
-  SetProp(P_ITEMS,filter(items,#'ri_filter,filename));
+  
+  SetProp(P_ITEMS,filter(items, #'ri_filter/*'*/,filename));
 }
 
-
 private mixed _do_refresh(mixed item)
 {
   string file;