Indizierungen ueber Arraygrenzen hinaus entfernt.

Change-Id: I72ed8701e8e8b7e2b81111a4c789efd8691d27fd
diff --git a/std/shells/magier/parsing.c b/std/shells/magier/parsing.c
index bbf2054..37eaebd 100644
--- a/std/shells/magier/parsing.c
+++ b/std/shells/magier/parsing.c
@@ -144,7 +144,7 @@
   if(!sizeof(data)) return ({});
   mixed *files=({});
 
-  while(sizeof(data))
+  while(1)
   {
     mixed *tmp=({});
     string base=data[BASENAME];
@@ -164,7 +164,10 @@
     if (sizeof(files)+sizeof(tmp)>MAX_ARRAY_SIZE)
        raise_error("Zu viele Files (>3000)!! Abgebrochen!\n");
     files+=tmp;
-    data=data[3..];
+    if (sizeof(data) > 3)
+      data=data[3..];
+    else
+      break;
   }
 
   if(sizeof(files)>300&&!IS_ARCH(this_object()))