added "validity of pathnames" comment

removed perror implementation and trap.asm concheck comments
This commit is contained in:
gdr 1997-08-08 05:09:51 +00:00
parent 353efc72a2
commit 6a8369544e
2 changed files with 68 additions and 32 deletions

View File

@ -1,18 +1,22 @@
******* *******
* soon * soon
* *
* $Id: TO.DO,v 1.1 1997/02/28 05:42:26 gdr Exp $ * $Id: TO.DO,v 1.2 1997/08/08 05:09:51 gdr Exp $
* *
******* *******
Use result of _setModeEmulation(3) in appropriate calls. These include Use result of _setModeEmulation(3) in appropriate calls. These include
chmod - chmod -
fchmod -
creat - done creat - done
open - done open - done
stat - unnecessary stat - unnecessary
fstat - unnecessary fstat - unnecessary
lstat - unnecessary lstat - unnecessary
specifying 'chmod +x' (effectively) on a file of type TXT or SRC should
change that file to be type SRC and auxtype EXEC.
check up on the type of nlink_t, used in stat(2) check up on the type of nlink_t, used in stat(2)
Write a test that handles: Write a test that handles:
@ -33,31 +37,45 @@ libc/sys/exec.c:
These functions should operate closer to GS/OS when possible. These functions should operate closer to GS/OS when possible.
Also need to reduce stack requirements. Also need to reduce stack requirements.
******* For the exec* functions, there should be a test for whether
* remove from / replace in Orcalib or not the file is of type SRC and auxtype EXEC. If that
******* is the case, and if the first two characters of the file
are '#!', then the shell should be exec'd instead. (currently,
shell scripts cannot be exec'd)
strerror orcalib/string.asm Fix filename mapping code:
perror orcalib/stdio.a
sys_errlist orcalib/stdio.a problem --- inclusion start
sys_nerr orcalib/vars.a problem > A#38: The first thing to watch for is known compiler and library bugs.
> [...]
> validity of pathnames
> [...]
> - use dynamic directory delimiters. The ':' character is
> always considered to be a directory separator. The '/'
> character is considered to be a directory separator unless
> ':' is present, in which case it is part of the file name.
> This is the closest to GS/OS, but also has some problems
> with POSIX compliance. For example, the PATH environment
> variable is _supposed_ to a list of pathnames delimited
> by the ':' character.
GS/OS behaves a little differently than this paragraph describes. The
first ':' or '/' encountered when scanning the pathname from left to
right is assumed to be the separator. If a '/' occurs first, then any
':'s appearing later are illegal. The paragraph suggests that the '/'
will be considered part of the file name if a ':' appears later. (Your
point about POSIX compliance is still valid, though.)
--- inclusion end
******* *******
* defer * defer
******* *******
libc/stdio/perror.c:
use BSDish implementation for perror(3) to avoid stdio.
libc/sys/syscall.c: libc/sys/syscall.c:
for unlink, if file is open, then register a call to unlink for unlink, if file is open, then register a call to unlink
(non-recursive) the file via atexit(3) (non-recursive) the file via atexit(3)
libc/sys/trap.asm:
Insert conchecks in trap functions to check to see if GNO
is active and at the right version level. If not, they
should abort.
libc/gen/environ.c: libc/gen/environ.c:
Review routines. Force them to use GSString routines, reduce Review routines. Force them to use GSString routines, reduce
stack usage (depend on dynamic allocation for parm blocks). stack usage (depend on dynamic allocation for parm blocks).

View File

@ -1,18 +1,22 @@
******* *******
* soon * soon
* *
* $Id: TO.DO,v 1.1 1997/02/28 05:42:26 gdr Exp $ * $Id: TO.DO,v 1.2 1997/08/08 05:09:51 gdr Exp $
* *
******* *******
Use result of _setModeEmulation(3) in appropriate calls. These include Use result of _setModeEmulation(3) in appropriate calls. These include
chmod - chmod -
fchmod -
creat - done creat - done
open - done open - done
stat - unnecessary stat - unnecessary
fstat - unnecessary fstat - unnecessary
lstat - unnecessary lstat - unnecessary
specifying 'chmod +x' (effectively) on a file of type TXT or SRC should
change that file to be type SRC and auxtype EXEC.
check up on the type of nlink_t, used in stat(2) check up on the type of nlink_t, used in stat(2)
Write a test that handles: Write a test that handles:
@ -33,31 +37,45 @@ libc/sys/exec.c:
These functions should operate closer to GS/OS when possible. These functions should operate closer to GS/OS when possible.
Also need to reduce stack requirements. Also need to reduce stack requirements.
******* For the exec* functions, there should be a test for whether
* remove from / replace in Orcalib or not the file is of type SRC and auxtype EXEC. If that
******* is the case, and if the first two characters of the file
are '#!', then the shell should be exec'd instead. (currently,
shell scripts cannot be exec'd)
strerror orcalib/string.asm Fix filename mapping code:
perror orcalib/stdio.a
sys_errlist orcalib/stdio.a problem --- inclusion start
sys_nerr orcalib/vars.a problem > A#38: The first thing to watch for is known compiler and library bugs.
> [...]
> validity of pathnames
> [...]
> - use dynamic directory delimiters. The ':' character is
> always considered to be a directory separator. The '/'
> character is considered to be a directory separator unless
> ':' is present, in which case it is part of the file name.
> This is the closest to GS/OS, but also has some problems
> with POSIX compliance. For example, the PATH environment
> variable is _supposed_ to a list of pathnames delimited
> by the ':' character.
GS/OS behaves a little differently than this paragraph describes. The
first ':' or '/' encountered when scanning the pathname from left to
right is assumed to be the separator. If a '/' occurs first, then any
':'s appearing later are illegal. The paragraph suggests that the '/'
will be considered part of the file name if a ':' appears later. (Your
point about POSIX compliance is still valid, though.)
--- inclusion end
******* *******
* defer * defer
******* *******
libc/stdio/perror.c:
use BSDish implementation for perror(3) to avoid stdio.
libc/sys/syscall.c: libc/sys/syscall.c:
for unlink, if file is open, then register a call to unlink for unlink, if file is open, then register a call to unlink
(non-recursive) the file via atexit(3) (non-recursive) the file via atexit(3)
libc/sys/trap.asm:
Insert conchecks in trap functions to check to see if GNO
is active and at the right version level. If not, they
should abort.
libc/gen/environ.c: libc/gen/environ.c:
Review routines. Force them to use GSString routines, reduce Review routines. Force them to use GSString routines, reduce
stack usage (depend on dynamic allocation for parm blocks). stack usage (depend on dynamic allocation for parm blocks).