home *** CD-ROM | disk | FTP | other *** search
- ----------------------------------------------------------------------
- gadtoolsbox.library version 39.
- ----------------------------------------------------------------------
-
- MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ
-
- I have to make very big appology to all GTB 2.0 users that are
- running on a 68000 based machine. After hearing some very disturbing
- messages about GTB crashing I (finaly) found out that loading a GUI on
- 68000 based machines in some cases caused a GURU #80000003 (address
- error). This was the reason:
-
- GadToolsBox writes strings the following way in the file:
-
- len (16bits)
- chars (len of characters)
-
- Now the code reads a complete chunk into memory from which the strings
- where read as follows:
-
- UBYTE *data; <-- pointer to chunk data
- UWORD len;
-
- len = *(( UWORD * )data );
- data += 2;
-
- Since the strings are located after eachother this could cause an
- address error (reading a WORD from an un-aligned address). Now I use
- the following code which eliminates the problem:
-
- UBYTE *data;
- UWORD len;
-
- len = (( *data++ ) << 8 );
- len |= *data++;
-
- Now I can tell you all sorts of excuses for not testing on a 68000
- based machine but I wont. I screwed up *BIG* and I am sorry for that.
-
- P.S. The version bump to 39 is because the V38 version of the library
- is hereby declared obsolete. (Rev. 1)
-