Kaj schrieb:
> Und sowas
>
1 | > memset(ImageMap,FALSE,MEMORY_BUFFER_SIZE);
|
2 | > ^^^^^
|
3 | >
|
> ist auch ganz dolle pfui! Wenn man den Speicher mit 0 fuellen will, dann
> sollte man auch hinschreiben, dass man 0 meint, und nicht 'false'...
>
> Der ganze Code sollte mal ueberarbeitet werden. Ist ja gruselig...
Da das Array ImageMap Booleans enthält, erscheint es mir richtig.
Es soll mit False initialisiert werden, nicht mit 0.
1 | ImageMap[rec_addr+i] = TRUE;
|
und an anderer Stelle wird
als Schleifenabbruch genutzt und nicht zur Prüfung, dass der
Eingabeparameter addr zu groß ist. Der wird durch den Kontext maximal
addr == MemSize.
Nicht toll, aber dass es nur zufällig funktioniert... Na ja.
Kaj schrieb:
> Soweit ich das beim ueberfliegen sehe, wird nie geprueft, ob man
> ueberhaupt speicher bekommen hat.
Auch nicht toll. Aber wenn man die paar Byte nicht bekommt, dann hat man
ein größeres Problem.
Natürlich ist der Source nicht das gelbe vom Ei. Aber der TO will es
auch nur wieder zum Laufen bekommen. Nicht das Ziel aus den Augen
verlieren.