Hallo,
wir müssten eigentlich noch festlegen mit welche Entwicklungsumgebung gearbeitet wird. Ich bin für PureC bzw. AHCC. Dann kann sich ein Anfänger auch auf den ersten teil des Programmier-Tutorials hier im Forum beziehen. Und man kann den Bootmanager auch auf dem ST kompilieren
Aber ich weiss das es mit der dirent struktur und portabilität nicht so weit her ist ( ...ist unter den unterschiedlichen compilern unterschiedlich implementiert... )
Der Rückgabewert müßte ja rein theoretisch ein array sein, weiß nur nicht 100pro ob das so funktionieren würde, ist eine ganze weile her wo ich das letzte mal C Programmiert habe so 3 Jahre.
Rein theoretisch ja, soweit ich weiss geht das sogar irgendwie. Aber das werden wir anders machen - ohne Rückgabewert, mit einer Globalen Variable. Denn auf die Liste muss eh auch von anderen Programmen aus zugegriffen werden.
Ausserdem kommen wir bei diesen Überlegungen auch schon zu den ersten unwegsamkeiten von C - das einlesen eines Verzeichnis ist im ANSI C standard soweit ich weiss nicht definiert. In deinem code werden erweiterungen der Sprache verwendet ( DIR Struktur, dirent.h etc. ) - Ich glaube am besten ist es, wenn wir an diesem Punkt nicht auf solche erweiterungen setzen - sondernd auf die Funktionen die uns TOS zur verfügung stellt. Diese können dann zwar nicht unter anderen Betriebs-Systemen genutzt werden - dafür können wir aber relativ sicher sein das jeder Compiler für den Atari diese Funktionen anbietet. (Sehr sicher sogar )
TOS (bzw. GEMDOS) bietet hierfür die Funktionen Fsfirst() / Fsnext().
Aber das ist durchaus noch eine Überlegung, keine Festlegung