mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-30 04:33:01 +00:00
6a8369544e
removed perror implementation and trap.asm concheck comments
109 lines
3.3 KiB
Plaintext
109 lines
3.3 KiB
Plaintext
*******
|
|
* soon
|
|
*
|
|
* $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:
|
|
- negative process numbers
|
|
- process numbers exceeding INT_MAX and UINT_MAX
|
|
the easiest way to do this is to repeatedly exec a program that prints
|
|
it's process number. Keep doing so until either the number wraps or
|
|
the machine crashes.
|
|
|
|
libc/sys/exec.c:
|
|
buildCmd should single-quote strings containing whitespace.
|
|
If the string already has single quotes, then backspace them.
|
|
|
|
buildPath should only return files of type S16, EXEC, or EXE.
|
|
|
|
buildPath should use the mapPath facility.
|
|
|
|
These functions should operate closer to GS/OS when possible.
|
|
Also need to reduce stack requirements.
|
|
|
|
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)
|
|
|
|
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/sys/syscall.c:
|
|
for unlink, if file is open, then register a call to unlink
|
|
(non-recursive) the file via atexit(3)
|
|
|
|
libc/gen/environ.c:
|
|
Review routines. Force them to use GSString routines, reduce
|
|
stack usage (depend on dynamic allocation for parm blocks).
|
|
|
|
libc/gen/err.c:
|
|
Use syslogd if not on a tty.
|
|
|
|
libc/gen/tty.c:
|
|
review these routines
|
|
|
|
do intro man pages:
|
|
1 done
|
|
2 review DEFINITIONS section
|
|
3 done
|
|
4 done
|
|
5 done
|
|
6 done
|
|
7 done
|
|
8 done
|
|
|
|
various man pages:
|
|
add note under COMPATIBILITY as to whether the routines
|
|
are thread-safe. If they write any globals or static
|
|
variables, they are not.
|
|
|
|
Verify that the setdebug(2) macros in gno/gno.h are correct.
|
|
|
|
Add implementations for execle; the final
|
|
envp can't appear in the prototype, but it can be found since it is
|
|
the last argument after the first NULL pointer.
|