Index of /geminiatari/FILES/LANGUAGE/FIXES

      Name                    Last modified       Size  Description

[DIR] Parent Directory 24-Sep-2006 15:35 - [TXT] ASSERT.H 19-Nov-1985 13:09 1k [TXT] BZERO.S 19-Nov-1985 13:21 1k [TXT] FCLOSE.C 04-Jun-1989 00:51 1k [TXT] FDOPEN.C 19-Nov-1985 13:21 1k [TXT] FINDFILE.C 19-Nov-1985 13:21 1k [TXT] FOPEN.C 19-Nov-1985 13:21 2k [TXT] LMEMCPY.S 19-Nov-1985 13:21 2k [TXT] MEMCPY.S 19-Nov-1985 13:20 2k [TXT] OPEN.C 19-Nov-1985 13:21 1k [TXT] OSBIND.H 07-May-1989 02:56 5k [TXT] PERROR.C 19-Nov-1985 13:21 3k [TXT] STAT.C 19-Nov-1985 13:21 1k [TXT] STDIO.H 19-Nov-1985 13:08 4k [TXT] WRITE.C 19-Nov-1985 13:21 1k

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]]