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()))