These are the changes done by the `patches' file: [These patches have been applied, more or less, so I don't supply the patches file--law] Compilation of some portions is done conditional on the definition of the following symbols: BINARY Enables the usage of setmode under MSDOS (added binmode command) BUGGY_MSC Adds #pragma_function(memset) to avoid internal compiler error CHOWN Enables chown CHROOT Enables chroot FORK Enables fork and changes the compilation of system GETLOGIN Enables getlogin GETPPID Enables getppid GROUP Enables all the group access functions KILL Enables kill LINK Enables link PASSWD Enables all the password access functions PIPE Enables the pipe function WAIT Enables the wait function UMASK Enables the umask function S_IFBLK * Enables the block special device check S_ISGID * Enables the setgid check S_ISUID * Enables the setuid check S_ISVTX * Enables the vtx check unix * Compiles globbing for Unix MSDOS * Compiles globbing for MS-DOS Closes stdaux and stdprn on startup Adds a copyright message for -v Disables the compilation of my_popen, my_pclose as the are in a separate file. Symbols marked with * are defined in the compilation environment. The rest should be added to config.h (config.h.SH). All functions when not supported give a fatal error. Added documentation for the binmode function in the manual. Fixed the following bugs: In eval.c function eval if ioctl or fcntl returned something other than 0 or -1 the result was a random number as the double `value' variable wasn't set to `anum'. In doio.c function do_exec there were two errors associated with firing up the shell when the execv fails. First argv was not freed, secondly an attempt was made to start up the shell with the cmd string that was now cut to pieces for the execv. Also the maxible possible length of argv was calculated by (s - cmd). Problem was that s was not pointing to the end of the string, but to the first non alpha. [These are incorporated in patches 15 and 16--law] Diomidis Spinellis, March 1990