home *** CD-ROM | disk | FTP | other *** search
- Fixes to the following bugs reports are included in this archive.
-
- bzero.s
- A long count is taken from the stack. It should be an int.
-
- bzero.s
- The 'btst' instruction is not assembled correctly by Sozobon.
-
- memcpy.s
- A long count is taken from the stack. It should be an int.
-
- memcpy.s
- The 'btst' instruction is not assembled correctly by Sozobon.
-
- lmemcpy.s
- The 'btst' instruction is not assembled correctly by Sozobon.
-
- lmemcpy.s
- The source pointer is not checked for alignment and the case of
- different src/dst alignment (requiring a byte-copy) is not checked.
-
- stat.c
- The access() return values are reversed.
-
- findfile.c
- Fixed access() call to use corrected return value.
-
- open.c
- Fixed access() call to use corrected return value.
-
- stdio.h
- Fixed #define for exists() to use corrected return value.
-
- assert.h
- __LINE__ and __FILE__ are not yet defined for Sozobon, and
- are definately not availble for Alcyon, thus causing errors
- when -DNDEBUG is not used. A simplistic assert() is provided
- instead which only reports a failure, not the file and line.
-
- osbind.h
- Added an undocumented XBIOS call, Steprate(drive,rate).
-
- fopen.c/fdopen.c
- fopen() and fdopen() contain calls to fputs() with the arguments
- reversed. This can only happen if they're passed an illegal
- argument string, which isn't likely, but if it happens a crash
- would result.
-
- write.c
- Short output counts are not being reported as errors.
-
- perror.c
- The fputs() call to print the error message needs a file pointer.
-
- fclose.c
- The return value from fflush() is not tested.
-
-
- The following bug reports have been confirmed, but not fixed yet.
-
- dlibs.a
- The library order is wrong. realloc.o references lmemcpy.o.
- All of mem*.o and maybe str*.o should be moved below malloc.o
- and friends.
-
-
- The following bug reports have been denied.
-
- system.c
- system() is practically guaranteed to fail.
- [[system() tries to used the system variable _shell_p first,
- then tries to execute a program named by the SHELL environment
- variable, finally it tries to execute a program named by the
- first token on the command line. The PATH environement
- variable is used for all but the _shell_p case. Since TOS
- has a default PATH consisting only of the boot device root
- directory, and not "." or "" indicating the current directory,
- the PATH search often fails to find the program. -Dal]]
-
- memcpy.c/lmemcpy.c
- dLibs documentation claims that length parameter to memcpy and
- lmemcpy is either int or long. Code documents and works (more
- logically, but with some discrepancy with U*IX library) with
- unsigned quantities.
- [[Although the documentation and implementation differ, the
- documentation is consistent with *NIX libraries. The fact
- that the implementation is more flexible is intended to be
- more convenient, and should not be counted on in portable
- programs. If the documentation is followed the program will
- operate correctly. -Dal]]
-