· Text 2338 · w8 · inlagg
Här följer en kort förklaring hur en av buggarna yttrade sig eftersom
några
undrade.
Felet uppstod i skarven mellan två segment. När doset skulle räkna ut
om
önskad record fanns i nästa segment så skrev det över lagringsplatsen
för
pekaren till basicens filbeskrivning (IX-registret).
Följande program demonstrerar felet.
10 OPEN 'FIL.EXT' ASFILE 1
20 ONERRORGOTO 70
30 Z%=CALL(28666%,1%)
40 Z%=CALL(28668%,B%)
50 B%=B%+1%
60 GOTO 40
70 ;'ERROR'ERRCODE
80 CLOSE 1%
Om allt är som det ska så skall programmet sluta med ERROR 38
'Recordnummer utanför filen' ,allt annat är galet.
Felet upptäcks inte om man ändrar rad 60 till GOTO 30 eftersom då initieras
pekaren på nytt innan läsningen.
M.v.h Bengt Holgersson
PS Jag glömde att max radbredd var mindre än 80 tecken !