} tVFS_Driver;
// === GLOBALS ===
+#define VFS_MAXSKIP ((void*)1024)
#define VFS_SKIP ((void*)1)
#define VFS_SKIPN(n) ((void*)(n))
extern tVFS_Node NULLNode;
return 0;
}
- tmp = h->Node->ReadDir(h->Node, h->Position);
+ do {
+ tmp = h->Node->ReadDir(h->Node, h->Position);
+ if((Uint)tmp < (Uint)VFS_MAXSKIP)
+ h->Position += (Uint)tmp;
+ else
+ h->Position ++;
+ } while((Uint)tmp < (Uint)VFS_MAXSKIP);
LOG("tmp = '%s'", tmp);
if(!tmp) {
return 0;
}
- h->Position ++;
-
strcpy(Dest, tmp);
if(IsHeap(tmp)) free(tmp);