Roland Goretzki schrieb:
Hallo Liste, hallo Thorsten,
Du schriebst:
Also, wenn das wirklich ein Fehler im Compiler ist, dürfte mir ja urandom auch nicht helfen, da die Fehlerquelle dann wahrscheinlich nicht mit der Wahl des Gerätes beseitigt wird.
Nein, es war ein Compiler-Fehler, der bewirkte, dass die linke Seite von String-Zuweisungen zweimal ausgewertet wurde, insbes. die Funktion zweimal aufgerufen wurde (einmal für die String-Länge, einmal für den String-Wert).
Wenn die Funktion beide Male den gleichen Wert liefert, fällt das nicht auf, aber Random-Funktionen (egal welcher Art) sollten dies i.a. nicht tun (na ja, fast immer ... http://xkcd.com/c221.html ;-).
Mit dem folgenden GPC-Patch müsste es gehen (für ältere GPC-Versionen so wie deine; für neuere s. meine Mail in der englischen Liste).
Allerdings spielt die Portabilität bei meinem Programm diesmal überhaupt keine Rolle ...
Diese Aussage hört man leider viel zu oft (zwar meistens in Bezug auf gewisse andere Systeme ...), s. auch:
http://gnu-pascal.org/gpc/Portability-hints.html#Portability%20hints
Frank