New features with AN-2016-10-27: This is the first localization step for the schily source consolidation. Many programs now (hopefully) call gettext() for all strings that need localization. - The next step will include dgettext() calls for the libraries and the missing programs - The following step will include the extracted strings - The last step will include German translations and install support for the resulting binary message object files. ----------> Please test and report compilation problems! <--------- ***** NOTE: As mentioned since 2004, frontends to the tools should ***** ***** call all programs in the "C" locale ***** ***** by e.g. calling: LC_ALL=C cdrecord .... ***** ***** unless these frontends support localized strings ***** ***** used by the cdrtools with NLS support. ***** *** WARNING *** *** Need new smake *** *** Due to the fact that schily-tools 2014-04-03 introduced to use new macro *** expansions and a related bug fix in smake, you need a new smake *** to compile this source. To ensure this, call: cd ./psmake ./MAKE-all cd .. psmake/smake psmake/smake install WARNING: the new version of the isoinfo program makes use of the *at() series of functions that have been introduced by Sun in August 2001 and added to POSIX.1-2008. For older platforms, libschily now includes emulations for these functions but these emulations have not yet been tested thoroughly. Please report problems! The new smake version mentioned above is smake-1.2.4 - include/schily/sha3.h: Added new aliases with SHA3_*_DIGEST_LENGTH to create a more uniform interface to other interfaces in libmdigest. - libschily: getargs()/getarllargs()/ getfiles() the man page now mentions the newer features introduced during the past 20 years. - libschily: getargs() now supports a new speudo struct ga_props * GA_POSIX_PROPS - libschily: the getv*() functions now have the same oder of arguments as the getl*() functions and all functions now have struct ga_props as third parameter. - mdigest: Now using SHA3_*_DIGEST_LENGTH - mkisofs: the getvargs() call now honors the parameter order change in libschily::getvargs(). - mkisofs: when stripping off "./" and "//" from graft points, mkisofs now uses ovstrcpy() that supports to copy overlapping strings as Mac OS has a strlcpy() that fails with overlapping strings. Thanks to a hint from Colin Finck - mkisofs: the function prototype readsecs() is now available even when USE_SCG is not defined. Thanks to a hint from Colin Finck - mkisofs: The option -no-cache-inodes is available again in all compile versions. - mkisofs: Some unused variables have been removed. - SCCS diff(1): support for the option -B has been added. - SCCS diff(1): the man page now mentions the original authors James W. Hunt and M. Douglas McIlroy - SCCS diff(1): the man page now mentions that Douglas McIlroy did write the initial revision in 1974. - SCCS diff(1): directory comparison is now implemented as recursive function call and not longer using vfork()/exec(). This makes diff(1) now 5x-8x faster than the original OpenSolaris diff(1) - SCCS diff(1): Regular file comparison as a result from diff -r and directory scanning no longer uses vfork()/exec(). This makes diff(1) now up to 16x faster then the original OpenSolaris diff(1) when fully cached directory trees are compared. Our diff -r now is up to 2x faster than GNU diff with normal sized files and when both trees are in the filesystem cache. - SCCS diff(1): Add a free() call to avoid a possible memory leak from calling strdup() more than once while parsing command line arguments. - SCCS diff(1): Added support to avoid hanging in directory loops from either virtual (caused by symlinks) or real directory loops (cause by hard linkes directories). - SCCS diff(1): Does no longer compare directories that are identical. This helps with virtual directory loops. - SCCS diff(1): The malloc() code for variables has been reworked to permit to call the basic code more than once in order to allow in-process recursion for diff -r. - SCCS diff(1): The malloc() code for variables has been reworked to avoid frequent calls to realloc() - SCCS diff(1): Added code to avoid seeks while creating the diff output. This speeds up things in case of huge files. A speedup of 50% was seen with two 500MB text files. - SCCS diff(1): diff -S no longer copies the argument and this way avoids a GCC warning. - SCCS diffh(1): The code has been reworked to support lines of arbitrary length. This helps to avoid unexpected behavior when lines are longer than the previous maximum line length 8192 that was already more then the 256 bytes from the Solaris original. - Bourne Shell: The builtin commands cd(1), pwd(1), pushd(1), popd(1) and dirs(1) now have a different default when in POSIX mode. In POSIX mode, the defaut is to use logical operations (-L) and otherwise physical (-P). Be careful: the -L default may cause problems (see man page for more information). - Bourne Shell: Added text to the man page to explain why cd -L as a default is dangerous. - Bourne Shell Missing features for POSIX compliance: - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be named SUSv8). The development of SUSv8 will start in late 2016. We are now expecting the Bourne Shell to be fully POSIX compliant. - Bourne Shell further TODO list: - Try to make lastline= while read line do lastline=$line done < /etc/passwd echo "lastline=$lastline" print the last line of /etc/passwd without the exec "trick" that is documented in the man page. - Finish loadable builtin support. - POSIX does not allow us to implement ". -h", so we will add a "source" builtin to be able to implement "source -h" - The following builtins (that are available in bsh) are still missing in the Bourne Shell: err echo with output going to stderr glob echo with '\0' instead of ' ' between args env a builtin version of /usr/bin/env The following bsh intrinsics are still missing in the Bourne Shell: - the restricted bsh has restriction features that are missing in the Bourne shell. - source -h read file into history but do not execute and probably more features not yet identified to be bsh unique. Author: Joerg Schilling D-13353 Berlin Germany Email: joerg@schily.net, js@cs.tu-berlin.de joerg.schilling@fokus.fraunhofer.de Please mail bugs and suggestions to me.