mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-21 23:29:16 +00:00
added "validity of pathnames" comment
removed perror implementation and trap.asm concheck comments
This commit is contained in:
parent
353efc72a2
commit
6a8369544e
50
NOTES/TO.DO
50
NOTES/TO.DO
@ -1,18 +1,22 @@
|
||||
*******
|
||||
* 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
|
||||
chmod -
|
||||
fchmod -
|
||||
creat - done
|
||||
open - done
|
||||
stat - unnecessary
|
||||
fstat - 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)
|
||||
|
||||
Write a test that handles:
|
||||
@ -33,31 +37,45 @@ libc/sys/exec.c:
|
||||
These functions should operate closer to GS/OS when possible.
|
||||
Also need to reduce stack requirements.
|
||||
|
||||
*******
|
||||
* remove from / replace in Orcalib
|
||||
*******
|
||||
For the exec* functions, there should be a test for whether
|
||||
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
|
||||
perror orcalib/stdio.a
|
||||
sys_errlist orcalib/stdio.a problem
|
||||
sys_nerr orcalib/vars.a problem
|
||||
Fix filename mapping code:
|
||||
|
||||
--- inclusion start
|
||||
> 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
|
||||
*******
|
||||
|
||||
libc/stdio/perror.c:
|
||||
use BSDish implementation for perror(3) to avoid stdio.
|
||||
|
||||
libc/sys/syscall.c:
|
||||
for unlink, if file is open, then register a call to unlink
|
||||
(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:
|
||||
Review routines. Force them to use GSString routines, reduce
|
||||
stack usage (depend on dynamic allocation for parm blocks).
|
||||
|
@ -1,18 +1,22 @@
|
||||
*******
|
||||
* 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
|
||||
chmod -
|
||||
fchmod -
|
||||
creat - done
|
||||
open - done
|
||||
stat - unnecessary
|
||||
fstat - 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)
|
||||
|
||||
Write a test that handles:
|
||||
@ -33,31 +37,45 @@ libc/sys/exec.c:
|
||||
These functions should operate closer to GS/OS when possible.
|
||||
Also need to reduce stack requirements.
|
||||
|
||||
*******
|
||||
* remove from / replace in Orcalib
|
||||
*******
|
||||
For the exec* functions, there should be a test for whether
|
||||
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
|
||||
perror orcalib/stdio.a
|
||||
sys_errlist orcalib/stdio.a problem
|
||||
sys_nerr orcalib/vars.a problem
|
||||
Fix filename mapping code:
|
||||
|
||||
--- inclusion start
|
||||
> 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
|
||||
*******
|
||||
|
||||
libc/stdio/perror.c:
|
||||
use BSDish implementation for perror(3) to avoid stdio.
|
||||
|
||||
libc/sys/syscall.c:
|
||||
for unlink, if file is open, then register a call to unlink
|
||||
(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:
|
||||
Review routines. Force them to use GSString routines, reduce
|
||||
stack usage (depend on dynamic allocation for parm blocks).
|
||||
|
Loading…
Reference in New Issue
Block a user