1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Various minor capitalization and typo fixes (#371)

This commit fixes various minor typos, punctuation errors and
corrects the capitalization of many names.
This commit is contained in:
Johnothan King 2021-12-12 13:40:38 -08:00 committed by Martijn Dekker
parent cd562b16e2
commit e54001d58b
204 changed files with 779 additions and 784 deletions

8
NEWS
View file

@ -239,7 +239,7 @@ Any uppercase BUG_* names are modernish shell bug IDs.
of declaration built-ins. This reverts a change introduced on 2020-09-11. of declaration built-ins. This reverts a change introduced on 2020-09-11.
[*] https://austingroupbugs.net/view.php?id=1393 [*] https://austingroupbugs.net/view.php?id=1393
- Fixed arithmetic assignment operations for multidimensional indexed arrays - Fixed arithmetic assignment operations for multidimensional indexed arrays.
2021-04-30: 2021-04-30:
@ -258,7 +258,7 @@ Any uppercase BUG_* names are modernish shell bug IDs.
- Fixed a bug introduced on 2021-02-20 in which a shared-state command - Fixed a bug introduced on 2021-02-20 in which a shared-state command
substitution stopped sharing its state with the calling shell environment substitution stopped sharing its state with the calling shell environment
if it executed a command that locally redirected standard outpuut. if it executed a command that locally redirected standard output.
2021-04-22: 2021-04-22:
@ -608,7 +608,7 @@ Any uppercase BUG_* names are modernish shell bug IDs.
2021-02-14: 2021-02-14:
- Due to a deficiency in some UNIX veriants, the 'sleep' built-in command could - Due to a deficiency in some UNIX variants, the 'sleep' built-in command could
occasionally sleep for slightly less than the time specified. It now performs occasionally sleep for slightly less than the time specified. It now performs
an additional check against the system clock to make sure it sleeps at least an additional check against the system clock to make sure it sleeps at least
the given amount of time. Thanks to Lev Kujawski for adding this feature. the given amount of time. Thanks to Lev Kujawski for adding this feature.
@ -999,7 +999,7 @@ Any uppercase BUG_* names are modernish shell bug IDs.
- Added the '${.sh.pid}' variable as an alternative to Bash's '$BASHPID'. - Added the '${.sh.pid}' variable as an alternative to Bash's '$BASHPID'.
This variable is set to the current shell's PID, unlike '$$' (which is This variable is set to the current shell's PID, unlike '$$' (which is
set to the parent shell's PID). In virtual subshells '${.sh.pid}' is not set to the main shell's PID). In virtual subshells '${.sh.pid}' is not
changed from its previous value, while in forked subshells '${.sh.pid}' changed from its previous value, while in forked subshells '${.sh.pid}'
is set to the subshell's process ID. is set to the subshell's process ID.

View file

@ -138,7 +138,7 @@ modification.
The code should conform to the The code should conform to the
[IEEE POSIX 1003.1 standard](http://www.opengroup.org/austin/papers/posix_faq.html) [IEEE POSIX 1003.1 standard](http://www.opengroup.org/austin/papers/posix_faq.html)
and to the proposed ANSI-C standard so that it should be portable to all and to the proposed ANSI C standard so that it should be portable to all
such systems. Like the previous version, KSH-88, it is designed to accept such systems. Like the previous version, KSH-88, it is designed to accept
eight bit character sets transparently, thereby making it internationally eight bit character sets transparently, thereby making it internationally
compatible. It can support multi-byte characters sets with some compatible. It can support multi-byte characters sets with some

View file

@ -159,7 +159,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
initialized. \bCC\b, \bCCFLAGS\b, \bHOSTTYPE\b and \bSHELL\b may be set initialized. \bCC\b, \bCCFLAGS\b, \bHOSTTYPE\b and \bSHELL\b may be set
by explicit command argument assignments to override the defaults.] by explicit command argument assignments to override the defaults.]
[+?Packages are composed of components. Each component is built and [+?Packages are composed of components. Each component is built and
installed by an \bast\b \bnmake\b(1) makefile. Each package is also installed by an \bAST\b \bnmake\b(1) makefile. Each package is also
described by an \bnmake\b makefile that lists its components and described by an \bnmake\b makefile that lists its components and
provides a content description. The package makefile and component provides a content description. The package makefile and component
makefiles provide all the information required to read, write, build makefiles provide all the information required to read, write, build
@ -271,10 +271,10 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
{ {
[+canon \aname\a?An external host type name to be [+canon \aname\a?An external host type name to be
converted to \bpackage\b syntax.] converted to \bpackage\b syntax.]
[+cpu?The number of cpus; 1 if the host is not a [+cpu?The number of CPUs; 1 if the host is not a
multiprocessor.] multiprocessor.]
[+name?The host name.] [+name?The host name.]
[+rating?The cpu rating in pseudo mips; the value is [+rating?The CPU rating in pseudo mips; the value is
useful useful only in comparisons with rating values of useful useful only in comparisons with rating values of
other hosts. Other than a vax rating (mercifully) fixed other hosts. Other than a vax rating (mercifully) fixed
at 1, ratings can vary wildly but consistently from at 1, ratings can vary wildly but consistently from
@ -405,7 +405,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
matches for a given file then the mode, user and group are matches for a given file then the mode, user and group are
changed as necessary to match the checksum entry. A warning is changed as necessary to match the checksum entry. A warning is
printed on the standard error for each mismatch. Requires the printed on the standard error for each mismatch. Requires the
\bast\b package \bcksum\b(1) command.] \bAST\b package \bcksum\b(1) command.]
[+view\b?Initialize the architecture specific viewpath [+view\b?Initialize the architecture specific viewpath
hierarchy. If \bflat\b is specified then the \b$INSTALLROOT\b { hierarchy. If \bflat\b is specified then the \b$INSTALLROOT\b {
bin fun include lib } directories are linked to the same bin fun include lib } directories are linked to the same
@ -428,12 +428,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
packages are written first. Package components must be listed packages are written first. Package components must be listed
in \apackage\a\b.pkg\b. \aformat\a may be one of:] in \apackage\a\b.pkg\b. \aformat\a may be one of:]
{ {
[+cyg?Generate a \bcygwin\b package.] [+cyg?Generate a \bCygwin\b package.]
[+exp?Generate an \bexptools\b maintainer source [+exp?Generate an \bexptools\b maintainer source
archive and \aNPD\a file, suitable for \bexpmake\b(1)] archive and \aNPD\a file, suitable for \bexpmake\b(1)]
[+lcl?Generate a package archive suitable for [+lcl?Generate a package archive suitable for
restoration into the local source tree (i.e., the restoration into the local source tree (i.e., the
source is not annotated for licencing).] source is not annotated for licensing).]
[+pkg?Generate a \bpkgmk\b(1) package suitable for [+pkg?Generate a \bpkgmk\b(1) package suitable for
\bpkgadd\b(1).] \bpkgadd\b(1).]
[+rpm?Generate an \brpm\b(1) package.] [+rpm?Generate an \brpm\b(1) package.]
@ -452,7 +452,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
[+?A package may be either a \bbase\b or \bdelta\b. A base [+?A package may be either a \bbase\b or \bdelta\b. A base
package contains a complete copy of all components. A delta package contains a complete copy of all components. A delta
package contains only changes from a previous base package. package contains only changes from a previous base package.
Delta recipients must have the \bast\b \bpax\b(1) command (in Delta recipients must have the \bAST\b \bpax\b(1) command (in
the \bast-base\b package). If neither \bbase\b nor \bdelta\b is the \bast-base\b package). If neither \bbase\b nor \bdelta\b is
specified, then the current base is overwritten if there are no specified, then the current base is overwritten if there are no
deltas referring to the current base. Only the \btgz\b and deltas referring to the current base. Only the \btgz\b and
@ -493,12 +493,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
closure of component makefile dependencies.] closure of component makefile dependencies.]
[+?\b$PACKAGEROOT/lib/package\b contains package specific files. The [+?\b$PACKAGEROOT/lib/package\b contains package specific files. The
package naming convention is \agroup\a[-\apart\a]]; e.g., \bast-base\b, package naming convention is \agroup\a[-\apart\a]]; e.g., \bast-base\b,
\bgnu-fileutils\b. The *\b.pkg\b files are ast \bnmake\b(1) makefiles \bgnu-fileutils\b. The *\b.pkg\b files are AST \bnmake\b(1) makefiles
that contain the package name, package components, references to other that contain the package name, package components, references to other
packages, and a short package description. *\b.pkg\b files are used by packages, and a short package description. *\b.pkg\b files are used by
\bpackage write\b to generate new source and binary packages.] \bpackage write\b to generate new source and binary packages.]
[+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license [+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license
information that is used by the \bast\b \bproto\b(1) and \bnmake\b(1) information that is used by the \bAST\b \bproto\b(1) and \bnmake\b(1)
commands to generate source and binary license strings. \agroup\a is commands to generate source and binary license strings. \agroup\a is
determined by the first \b:PACKAGE:\b operator name listed in the determined by the first \b:PACKAGE:\b operator name listed in the
component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the
@ -534,12 +534,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
against \b$HOSTTYPE\b when making binaries; these are limited to against \b$HOSTTYPE\b when making binaries; these are limited to
makefile compiler workarounds, e.g., if \b$HOSTTYPE\b matches \bhp.*\b makefile compiler workarounds, e.g., if \b$HOSTTYPE\b matches \bhp.*\b
then turn off the optimizer for these objects. All other architecture then turn off the optimizer for these objects. All other architecture
dependent logic is handled either by the \bast\b \biffe\b(1) command or dependent logic is handled either by the \bAST\b \biffe\b(1) command or
by component specific configure scripts. Explicit \b$HOSTYPE\b by component specific configure scripts. Explicit \b$HOSTYPE\b
values matching *,*cc*[,-*,...]] optionally set the default \bCC\b and values matching *,*cc*[,-*,...]] optionally set the default \bCC\b and
\bCCFLAGS\b. This is handy for build farms that support different \bCCFLAGS\b. This is handy for build farms that support different
compilers on the same architecture.] compilers on the same architecture.]
[+?Each component contains an \bast\b \bnmake\b(1) makefile (either [+?Each component contains an \bAST\b \bnmake\b(1) makefile (either
\bNmakefile\b or \bMakefile\b) and a \bMAM\b (make abstract machine) \bNmakefile\b or \bMakefile\b) and a \bMAM\b (make abstract machine)
file (\bMamfile\b). A Mamfile contains a portable makefile description file (\bMamfile\b). A Mamfile contains a portable makefile description
that is used by \bmamake\b(1) to simulate \bnmake\b. Currently there is that is used by \bmamake\b(1) to simulate \bnmake\b. Currently there is
@ -556,7 +556,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
\bproto\b(1) converts an ANSI C subset to code that is compatible with \bproto\b(1) converts an ANSI C subset to code that is compatible with
K&R, ANSI, and C++ dialects.] K&R, ANSI, and C++ dialects.]
[+?All scripts and commands under \b$PACKAGEROOT\b use \b$PATH\b [+?All scripts and commands under \b$PACKAGEROOT\b use \b$PATH\b
relative pathnames (via the \bast\b \bpathpath\b(3) function); there relative pathnames (via the \bAST\b \bpathpath\b(3) function); there
are no embedded absolute pathnames. This means that binaries generated are no embedded absolute pathnames. This means that binaries generated
under \b$PACKAGEROOT\b may be copied to a different root; users need under \b$PACKAGEROOT\b may be copied to a different root; users need
only change their \b$PATH\b variable to reference the new installation only change their \b$PATH\b variable to reference the new installation
@ -1044,7 +1044,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
and rsh(1) access. and rsh(1) access.
[remote:[[master]:]]PACKAGEROOT [remote:[[master]:]]PACKAGEROOT
The absolute remote package root directory and The absolute remote package root directory and
optionally the remote prorocol (rsh or ssh) if optionally the remote protocol (rsh or ssh) if
the directory is on a different server than the the directory is on a different server than the
master package root directory. If master package root directory. If
lib/package/admin/$admin_env exists under lib/package/admin/$admin_env exists under
@ -1092,10 +1092,10 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
order. The attributes are: order. The attributes are:
canon The next argument is a host type name to be canon The next argument is a host type name to be
converted to package syntax. converted to package syntax.
cpu The number of cpus; 1 if the host is not a cpu The number of CPUs; 1 if the host is not a
multiprocessor. multiprocessor.
name The host name. name The host name.
rating The cpu rating in pseudo mips; the value is useful rating The CPU rating in pseudo mips; the value is useful
useful only in comparisons with rating values of useful only in comparisons with rating values of
other hosts. Other than a vax rating fixed at 1, other hosts. Other than a vax rating fixed at 1,
ratings can vary wildly but consistently from ratings can vary wildly but consistently from
@ -1224,7 +1224,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
mode, user and group information. If the checksum matches mode, user and group information. If the checksum matches
for a given file then the mode, user and group are changed for a given file then the mode, user and group are changed
as necessary to match the checksum entry. A warning is printed as necessary to match the checksum entry. A warning is printed
on the standard error for each mismatch. Requires the ast on the standard error for each mismatch. Requires the AST
package cksum(1) command. package cksum(1) command.
view view
Initialize the architecture specific viewpath hierarchy. The Initialize the architecture specific viewpath hierarchy. The
@ -1237,7 +1237,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
Write a package archive for PACKAGE. All work is done in the Write a package archive for PACKAGE. All work is done in the
\$PACKAGEROOT/lib/package directory. FORMAT-specific files \$PACKAGEROOT/lib/package directory. FORMAT-specific files
are placed in the FORMAT subdirectory. A PACKAGE[.TYPE].tim are placed in the FORMAT subdirectory. A PACKAGE[.TYPE].tim
file in this directory tracksthe write time and prevents a file in this directory tracks the write time and prevents a
package from being read in the same root it was written. If package from being read in the same root it was written. If
more than one file is generated for a particular FORMAT then more than one file is generated for a particular FORMAT then
those files are placed in the FORMAT/PACKAGE subdirectory. those files are placed in the FORMAT/PACKAGE subdirectory.
@ -1248,7 +1248,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
only the named packages will be written; otherwise only the named packages will be written; otherwise
prerequisite packages are written first. Package components prerequisite packages are written first. Package components
must be listed in PACKAGE.pkg. FORMAT may be one of: must be listed in PACKAGE.pkg. FORMAT may be one of:
cyg generate a cygwin package cyg generate a Cygwin package
exp generate an exptools(1) maintainer source archive exp generate an exptools(1) maintainer source archive
and NPD file in the exp subdirectory, suitable for and NPD file in the exp subdirectory, suitable for
expmake(1); support files are placed in the expmake(1); support files are placed in the
@ -1271,7 +1271,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
be either a base or delta. A base package contains a be either a base or delta. A base package contains a
complete copy of all components. A delta package contains complete copy of all components. A delta package contains
only changes from a previous base package. Delta recipients only changes from a previous base package. Delta recipients
must have the ast pax(1) command (in the ast-base package). must have the AST pax(1) command (in the ast-base package).
If neither base nor delta is specified, then the current If neither base nor delta is specified, then the current
base is overwritten if there are no deltas referring to the base is overwritten if there are no deltas referring to the
current base. Only the tgz and lcl formats support delta. current base. Only the tgz and lcl formats support delta.
@ -1600,7 +1600,7 @@ executable() # [!] command
} }
# initialize SHELLMAGIC # initialize SHELLMAGIC
# tangible proof of cygwin's disdain for unix (well, this and execrate) # tangible proof of Cygwin's disdain for Unix (well, this and execrate)
shellmagic() shellmagic()
{ {
@ -3243,7 +3243,7 @@ if test -r $INSTALLROOT/lib/package/profile
then . $INSTALLROOT/lib/package/profile then . $INSTALLROOT/lib/package/profile
fi fi
# more cygwin hassles # more Cygwin hassles
case $HOSTTYPE in case $HOSTTYPE in
cygwin.*) cygwin.*)
@ -3270,7 +3270,7 @@ cygwin.*)
;; ;;
esac esac
case $lose in case $lose in
?*) echo "$command: $HOSTTYPE: export '$lose' in CYGWIN or languish in windows" >&2 ?*) echo "$command: $HOSTTYPE: export '$lose' in CYGWIN or languish in Windows" >&2
exit 1 exit 1
;; ;;
esac esac
@ -4385,7 +4385,7 @@ checksrc()
esac esac
} }
# check for native ascii 0:yes 1:no # check for native ASCII 0:yes 1:no
__isascii__= __isascii__=
@ -4928,7 +4928,7 @@ admin) while test ! -f $admin_db
;; ;;
*) case " $hosts " in *) case " $hosts " in
*" $2 "*) *" $2 "*)
: ast date command assumed : : AST date command assumed :
E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $admin_log/$2 | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\`` E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $admin_log/$2 | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\``
M=$6 T=$7 W=$8 M=$6 T=$7 W=$8
case $admin_action in case $admin_action in

View file

@ -273,7 +273,7 @@ The development kit provides a portable interface
to the C library and to libast. to the C library and to libast.
The header files in the development kit are compatible with The header files in the development kit are compatible with
K&amp;R C<FONT SIZE=-6>[3]</FONT>, K&amp;R C<FONT SIZE=-6>[3]</FONT>,
ANSI-C<FONT SIZE=-6>[4]</FONT>, ANSI C<FONT SIZE=-6>[4]</FONT>,
and C++<FONT SIZE=-6>[5]</FONT>. and C++<FONT SIZE=-6>[5]</FONT>.
<P> <P>
The best thing to do is to include the header file <TT>&lt;shell.h&gt;</TT>. The best thing to do is to include the header file <TT>&lt;shell.h&gt;</TT>.
@ -285,7 +285,7 @@ services for your builtins.
The header file <TT>&lt;ast.h&gt;</TT> The header file <TT>&lt;ast.h&gt;</TT>
provides prototypes for many <STRONG>libast</STRONG> functions provides prototypes for many <STRONG>libast</STRONG> functions
and all the symbol and function definitions from the and all the symbol and function definitions from the
ANSI-C headers, <TT>&lt;stddef.h&gt;</TT>, ANSI C headers, <TT>&lt;stddef.h&gt;</TT>,
<TT>&lt;stdlib.h&gt;</TT>, <TT>&lt;stdarg.h&gt;</TT>, <TT>&lt;limits.h&gt;</TT>, <TT>&lt;stdlib.h&gt;</TT>, <TT>&lt;stdarg.h&gt;</TT>, <TT>&lt;limits.h&gt;</TT>,
and <TT>&lt;string.h&gt;</TT>. and <TT>&lt;string.h&gt;</TT>.
It also provides all the symbols and definitions for the It also provides all the symbols and definitions for the
@ -311,7 +311,7 @@ the Safe/Fast I/O library<FONT SIZE=-6>[7]</FONT>,
to perform all I/O operations. to perform all I/O operations.
The <STRONG>sfio</STRONG> library, which is part of <STRONG>libast</STRONG>, The <STRONG>sfio</STRONG> library, which is part of <STRONG>libast</STRONG>,
provides a superset of the functionality provided by the standard provides a superset of the functionality provided by the standard
I/O library defined in ANSI-C. I/O library defined in ANSI C.
If none of the additional functionality is required, If none of the additional functionality is required,
and if you are not familiar with <STRONG>sfio</STRONG> and and if you are not familiar with <STRONG>sfio</STRONG> and
you do not want to spend the time learning it, you do not want to spend the time learning it,

View file

@ -101,7 +101,7 @@ the man page for ksh93 is kept up to date.
The only major new interactive features are key binding and tab completion. The only major new interactive features are key binding and tab completion.
Major new language features are floating point arithmetic, Major new language features are floating point arithmetic,
associative arrays, complete ANSI-C printf, name reference associative arrays, complete ANSI C printf, name reference
variables, new expansion operators, dynamic loading of variables, new expansion operators, dynamic loading of
built-in commands, active variables, and compound variables. built-in commands, active variables, and compound variables.
Active and compound variables allow shell variables to Active and compound variables allow shell variables to
@ -164,7 +164,7 @@ bash compatibility mode.
</UL> </UL>
<LI> <LI>
<EM>version</EM>-- <EM>version</EM>--
a lower-case letter signifying major release points. a lowercase letter signifying major release points.
An optional <STRONG>-</STRONG> following <EM>features</EM> signifies an alpha release. An optional <STRONG>-</STRONG> following <EM>features</EM> signifies an alpha release.
The first stable release has no <STRONG>-</STRONG>. The first stable release has no <STRONG>-</STRONG>.
An optional <STRONG>+</STRONG> signifies a stable release with bug patches and minor enhancements. An optional <STRONG>+</STRONG> signifies a stable release with bug patches and minor enhancements.
@ -180,7 +180,7 @@ in a numeric context is an integer that encodes the release
<DT>What new features are planned for ksh?<DD> <DT>What new features are planned for ksh?<DD>
We are in the early stage of planning but the likely additions We are in the early stage of planning but the likely additions
are namespaces, ability to read xml and json object into shell variables, are namespaces, ability to read XML and JSON object into shell variables,
and handling of queued signals. and handling of queued signals.
Support for multi-threading is also being considered. Support for multi-threading is also being considered.
@ -464,7 +464,7 @@ is to make the command a builtin. On systems in which the cmd
library is installed, you can invoke 'builtin &#45;f cmd mv' to make library is installed, you can invoke 'builtin &#45;f cmd mv' to make
mv a shell builtin in which case the line length limit no longer mv a shell builtin in which case the line length limit no longer
applies. Another alternative is to use a for loop and invoke applies. Another alternative is to use a for loop and invoke
the mv command for each file, for exampe, the mv command for each file, for example,
'for i in *;do mv $i ../elsewhere;done'. 'for i in *;do mv $i ../elsewhere;done'.
Starting with ksh93o+, a new feature was added to ksh to overcome Starting with ksh93o+, a new feature was added to ksh to overcome
this limit in some cases. If a command is preceded by this limit in some cases. If a command is preceded by
@ -549,9 +549,9 @@ read x
The $'...' string literal syntax was added to ksh93 to solve the problem The $'...' string literal syntax was added to ksh93 to solve the problem
of entering special characters in scripts. of entering special characters in scripts.
It uses It uses
ANSI-C rules to translate the string between the '...'. ANSI C rules to translate the string between the '...'.
It would have been cleaner to have all "..." strings handle It would have been cleaner to have all "..." strings handle
ANSI-C escapes, but that would not be backward compatible. ANSI C escapes, but that would not be backward compatible.
<DT>What is the -n option used for?<DD> <DT>What is the -n option used for?<DD>
@ -773,7 +773,7 @@ or indexed, use ${!var&#0091;@&#0093;}.
Use // instead of / for global substitution, ${var//aa/bb} will Use // instead of / for global substitution, ${var//aa/bb} will
expand to the value of var with each "aa" replaced by "bb". expand to the value of var with each "aa" replaced by "bb".
<DT>How can I convert %XX values to ascii?<DD> <DT>How can I convert %XX values to ASCII?<DD>
You can convert this to a sequence of ANSI C strings and then eval that You can convert this to a sequence of ANSI C strings and then eval that
string, for example suppose the variable 'foo' contains %XX strings, then string, for example suppose the variable 'foo' contains %XX strings, then
@ -782,7 +782,7 @@ string, for example suppose the variable 'foo' contains %XX strings, then
eval print -r -- "\$'${foo//'%'@(??)/'\x\1"'\$'"}'" eval print -r -- "\$'${foo//'%'@(??)/'\x\1"'\$'"}'"
</DIV> </DIV>
</PRE> </PRE>
will print out the string in ascii. will print out the string in ASCII.
<DT>I want to use exec to open a file. How do I prevent the script from exiting if the exec fails?<DD> <DT>I want to use exec to open a file. How do I prevent the script from exiting if the exec fails?<DD>

View file

@ -39,7 +39,7 @@ In addition,
scripts can be run on KSH-93 without modification. scripts can be run on KSH-93 without modification.
<P> <P>
The code should conform to the IEEE POSIX 1003.1 standard and to the The code should conform to the IEEE POSIX 1003.1 standard and to the
proposed ANSI-C standard so that it should be portable to all proposed ANSI C standard so that it should be portable to all
such systems. such systems.
Like the previous version, KSH-88, Like the previous version, KSH-88,
it is designed to accept eight bit character sets it is designed to accept eight bit character sets

View file

@ -103,7 +103,7 @@ All recorded changes follow.
12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm) 12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm)
12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile 12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h 12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h
12-05-28 iffe.sh: api foo YYYYMMDD => FOOAPI(rel) test macro 12-05-28 iffe.sh: API foo YYYYMMDD => FOOAPI(rel) test macro
12-05-24 package.sh: change admin.db comment => owner attributes 12-05-24 package.sh: change admin.db comment => owner attributes
12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit 12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
12-04-17 package.sh: skip sh version logic for ``use'' 12-04-17 package.sh: skip sh version logic for ``use''
@ -185,14 +185,14 @@ All recorded changes follow.
09-10-21 iffe.sh,Makefile: test -e is not in ksh88! 09-10-21 iffe.sh,Makefile: test -e is not in ksh88!
09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi) 09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi)
09-10-06 package.sh: stub in ar intercept checks -- not used yet 09-10-06 package.sh: stub in ar intercept checks -- not used yet
09-10-06 ar.ibm.risc: add ar intercept because some aix require -Xfoo first!! 09-10-06 ar.ibm.risc: add ar intercept because some AIX require -Xfoo first!!
09-09-24 regress.sh: fix UMASK logic to create test support files before umask 09-09-24 regress.sh: fix UMASK logic to create test support files before umask
09-08-28 release.c: change docs to mention stdin if no file operands 09-08-28 release.c: change docs to mention stdin if no file operands
09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space 09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space
09-08-20 make.probe: add CC.SHARED.NAME 09-08-20 make.probe: add CC.SHARED.NAME
09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO } 09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO }
09-08-11 package.sh: filter lines containing : for package results 09-08-11 package.sh: filter lines containing : for package results
09-07-31 make.probe: add CC.AR.ARFLAGS (for aix ar -xany) 09-07-31 make.probe: add CC.AR.ARFLAGS (for AIX ar -xany)
09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options 09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options
09-06-24 package.sh: fix admin.db output formatting 09-06-24 package.sh: fix admin.db output formatting
09-05-05 package.sh: export dll hackery environment vars 09-05-05 package.sh: export dll hackery environment vars
@ -240,7 +240,7 @@ All recorded changes follow.
08-04-28 regress.sh: fix EXPORT quoting 08-04-28 regress.sh: fix EXPORT quoting
08-04-28 regress.sh: fix UNIT set check args too 08-04-28 regress.sh: fix UNIT set check args too
08-04-24 rt.sh: exit code > 256 => signal termination 08-04-24 rt.sh: exit code > 256 => signal termination
08-04-10 C+probe: change probe_so order to check .so last (macos ld workaround) 08-04-10 C+probe: change probe_so order to check .so last (Mac OS X ld workaround)
08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST 08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST
08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes 08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes
08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally 08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally
@ -248,8 +248,8 @@ All recorded changes follow.
08-02-02 make.probe: add CC.RUNPATH to match default -L order 08-02-02 make.probe: add CC.RUNPATH to match default -L order
08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH 08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH
08-01-31 iffe.sh: tweak ancient /bin/sh workarounds 08-01-31 iffe.sh: tweak ancient /bin/sh workarounds
08-01-28 make.probe: darwin ld export dynamic is -force_flat_namespace 08-01-28 make.probe: Darwin ld export dynamic is -force_flat_namespace
08-01-28 C+probe: handle sgi cc error message but exit 0 botch(es) 08-01-28 C+probe: handle SGI cc error message but exit 0 botch(es)
08-01-23 package.sh: fix checksum doc typo 08-01-23 package.sh: fix checksum doc typo
08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list 08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list
07-12-14 iffe.sh: add set nooptimize 07-12-14 iffe.sh: add set nooptimize
@ -317,8 +317,8 @@ All recorded changes follow.
06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.` 06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.`
06-02-14 package.sh: "results failed test" == "results test failed" 06-02-14 package.sh: "results failed test" == "results test failed"
cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0 cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0
cc.linux.ia64-icc: add for intel cc cc.linux.ia64-icc: add for Intel cc
06-02-02 package.sh: freebsd stuck with os version for all arch 06-02-02 package.sh: FreeBSD stuck with OS version for all arch
06-02-01 package.mk: fix locale logic (tw -d requires dir arg) 06-02-01 package.mk: fix locale logic (tw -d requires dir arg)
06-01-31 package.sh: require $CC only for make|test 06-01-31 package.sh: require $CC only for make|test
06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd 06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd
@ -328,9 +328,9 @@ All recorded changes follow.
hurl.sh: wget --http-pass => --http-password hurl.sh: wget --http-pass => --http-password
06-01-11 package.mk: pass package.license.class to make --mam too 06-01-11 package.mk: pass package.license.class to make --mam too
package.mk: variants=pattern => --variants=pattern package.mk: variants=pattern => --variants=pattern
package.sh: darwin rel<=7 => darwin7.ppc package.sh: Darwin rel<=7 => darwin7.ppc
package.sh: freebsd rel<=4 => freebsd4 package.sh: FreeBSD rel<=4 => freebsd4
package.sh: freebsd rel<=5 => freebsd5 package.sh: FreeBSD rel<=5 => freebsd5
05-12-07 iffe.sh: don't emit <stdio.h> if <sfio.h>|<ast.h> (XXX) 05-12-07 iffe.sh: don't emit <stdio.h> if <sfio.h>|<ast.h> (XXX)
05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0 05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0
05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ] 05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ]
@ -356,7 +356,7 @@ All recorded changes follow.
iffe.sh: fix 'op var - ... - ...' grouping logic iffe.sh: fix 'op var - ... - ...' grouping logic
05-04-15 rt.sh: handle autom4ate style 05-04-15 rt.sh: handle autom4ate style
05-04-11 regress.sh: fix unit name when command line unit also specified 05-04-11 regress.sh: fix unit name when command line unit also specified
rt.sh: handle all ast package test output formats rt.sh: handle all AST package test output formats
package.sh: fix make docs for options passed to underlying make package.sh: fix make docs for options passed to underlying make
05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime 05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime
regress.sh: add "TITLE name" to change TEST output title regress.sh: add "TITLE name" to change TEST output title
@ -371,7 +371,7 @@ All recorded changes follow.
package.sh: admin action now properly resets sibling remote logs package.sh: admin action now properly resets sibling remote logs
package.mk: relax unknown/unwritten package messages to warnings package.mk: relax unknown/unwritten package messages to warnings
package.sh: handle space in command line name=value package.sh: handle space in command line name=value
make.probe: add mvs -Wc,dll,exportall,longname,rent to CC.DLL probe make.probe: add MVS -Wc,dll,exportall,longname,rent to CC.DLL probe
05-02-24 package.sh: hosttype *.powerpc => *.ppc 05-02-24 package.sh: hosttype *.powerpc => *.ppc
cc.lynxos.ppc,ldd.lynxos.ppc: add cc.lynxos.ppc,ldd.lynxos.ppc: add
05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug 05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug
@ -424,7 +424,7 @@ All recorded changes follow.
package.mk: add the runtime package type (no *.[ah]) package.mk: add the runtime package type (no *.[ah])
iffe.sh: fix key test reports iffe.sh: fix key test reports
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] } 04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
04-08-11 package.mk: handle HOSTTYPE for solaris > 9 04-08-11 package.mk: handle HOSTTYPE for Solaris > 9
package.sh: add `checkaout proto' for { make view } package.sh: add `checkaout proto' for { make view }
package.sh: check for { md5sum md5 } package.sh: check for { md5sum md5 }
iffe.sh: add {if|elif|else|endif} test ... iffe.sh: add {if|elif|else|endif} test ...
@ -482,7 +482,7 @@ All recorded changes follow.
04-03-18 iffe.sh: -d2 does not remove core dumps on exit 04-03-18 iffe.sh: -d2 does not remove core dumps on exit
04-03-17 package.sh: fix make recurse arg/action order 04-03-17 package.sh: fix make recurse arg/action order
04-02-29 package.sh: add regress action to compare current and previous tests 04-02-29 package.sh: add regress action to compare current and previous tests
package.sh: fix sgi.mips[23] HOSTTYPE test for old irix cc package.sh: fix sgi.mips[23] HOSTTYPE test for old IRIX cc
package.sh: add `export variable ...' package.sh: add `export variable ...'
package.sh: admin action now handles host name with non-id chars package.sh: admin action now handles host name with non-id chars
package.sh: non-numeric M T W in admin.db disables that action package.sh: non-numeric M T W in admin.db disables that action
@ -542,9 +542,9 @@ All recorded changes follow.
03-06-04 make.probe: add +forceread +noforceread 03-06-04 make.probe: add +forceread +noforceread
03-05-11 hurl.sh: handle http://host:port/path 03-05-11 hurl.sh: handle http://host:port/path
03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic 03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic
03-05-05 package.mk: fix cygwin tarball names 03-05-05 package.mk: fix Cygwin tarball names
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile 03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => "" 03-04-27 make.probe: fix MVS CC.PREFIX.SHARED "lib" => ""
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR) make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD } make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
probe.win32: sync with latest CC.* probe.win32: sync with latest CC.*
@ -562,7 +562,7 @@ All recorded changes follow.
03-04-11 package.mk: tidy up cyg tarballs 03-04-11 package.mk: tidy up cyg tarballs
package.sh: fix old shell clash between get() and $get package.sh: fix old shell clash between get() and $get
03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions 03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions
package.sh: add pthread_num_processors_np() last resort for cpu count package.sh: add pthread_num_processors_np() last resort for CPU count
package.sh: use `make believe' to accept mamake generated files package.sh: use `make believe' to accept mamake generated files
package.sh: handle `make [make-flags] [target ...]' package.sh: handle `make [make-flags] [target ...]'
mamake.c: ignore -e mamake.c: ignore -e
@ -570,14 +570,14 @@ All recorded changes follow.
package.sh: switch to `package setup' instructions package.sh: switch to `package setup' instructions
03-03-19 package.sh: add registry checks for `host cpu' 03-03-19 package.sh: add registry checks for `host cpu'
package.sh: `results failed' now lists core dump messages package.sh: `results failed' now lists core dump messages
03-03-17 package.sh: on cygwin verify 'ntsec binmode' in $CYGWIN or die 03-03-17 package.sh: on Cygwin verify 'ntsec binmode' in $CYGWIN or die
Makefile: install gcc wrapper if no cc Makefile: install gcc wrapper if no cc
package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops
03-03-12 package.mk: add :DETAILS: for style-specific details 03-03-12 package.mk: add :DETAILS: for style-specific details
03-03-11 package.sh: add beta setup/update support 03-03-11 package.sh: add beta setup/update support
TEST.mk: add (TESTCC) prereq for .sh tests TEST.mk: add (TESTCC) prereq for .sh tests
03-03-07 hurl.sh: add 03-03-07 hurl.sh: add
03-03-06 iffe.sh: fix lib win32 test cygwin vs native incompatibility 03-03-06 iffe.sh: fix lib Win32 test Cygwin vs native incompatibility
iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro
03-03-03 package.sh: check for curl or wget for update 03-03-03 package.sh: check for curl or wget for update
package.sh: add setup action == update read make package.sh: add setup action == update read make
@ -585,7 +585,7 @@ All recorded changes follow.
mamake.c: treat name+=value args like name=value mamake.c: treat name+=value args like name=value
mamake.c: add ${var?*|value?match?no-match?} mamake.c: add ${var?*|value?match?no-match?}
mamake.c: fix archive vs. dynamic bind logic mamake.c: fix archive vs. dynamic bind logic
03-02-28 package.sh: add the "cyg" (cygwin) package type 03-02-28 package.sh: add the "cyg" (Cygwin) package type
package.mk: add "cyg" stubs, :CATEGORY: for category name(s) package.mk: add "cyg" stubs, :CATEGORY: for category name(s)
03-02-25 mamake.c: add -D4 system(3) debug trace 03-02-25 mamake.c: add -D4 system(3) debug trace
03-02-24 package.mk: change --mismatch to --corrupt=accept 03-02-24 package.mk: change --mismatch to --corrupt=accept
@ -622,7 +622,7 @@ All recorded changes follow.
02-10-20 package.sh: fix lib/probe/C/make/probe update test 02-10-20 package.sh: fix lib/probe/C/make/probe update test
02-10-18 probe.win32: update for mingw 02-10-18 probe.win32: update for mingw
make.probe: add bash workaround to SHELLMAGIC test make.probe: add bash workaround to SHELLMAGIC test
package.sh: work around yet another cygwin hassle package.sh: work around yet another Cygwin hassle
02-10-17 iffe.sh: short circuit id check for *[-+/\\]* 02-10-17 iffe.sh: short circuit id check for *[-+/\\]*
02-10-08 regress.sh: unset FIGNORE to avoid rm . errors 02-10-08 regress.sh: unset FIGNORE to avoid rm . errors
package.sh: unset FIGNORE to avoid rm . errors package.sh: unset FIGNORE to avoid rm . errors
@ -638,7 +638,7 @@ All recorded changes follow.
iffe.sh: fix bug that didn't define mac variable on success iffe.sh: fix bug that didn't define mac variable on success
02-09-22 package.sh: handle admin_action=ditto 02-09-22 package.sh: handle admin_action=ditto
iffe.sh: --config sizeof(foo) macro is SIZEOF_foo iffe.sh: --config sizeof(foo) macro is SIZEOF_foo
iffe.sh: fix long.long test so it doesn't defeat uwin "typ long.long" iffe.sh: fix long.long test so it doesn't defeat UWIN "typ long.long"
mamprobe.sh: convert $("foo") nmake string constants mamprobe.sh: convert $("foo") nmake string constants
02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout 02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh 02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
@ -659,7 +659,7 @@ All recorded changes follow.
Makefile: add LICENSE:.DONTCARE to workaround mam Makefile: add LICENSE:.DONTCARE to workaround mam
02-08-11 iffe.sh: provide defaults for LD_* additions 02-08-11 iffe.sh: provide defaults for LD_* additions
02-08-07 ratz.c: change -m to use * instead of non-portable inverse video 02-08-07 ratz.c: change -m to use * instead of non-portable inverse video
02-07-17 mamprobe.sh: close tmp file in trap before rm for cygwin 02-07-17 mamprobe.sh: close tmp file in trap before rm for Cygwin
package.sh: fix "type" to handle i1586 (P4) package.sh: fix "type" to handle i1586 (P4)
package.sh: add the view action package.sh: add the view action
02-06-28 package.sh: handle multiple packages for release action 02-06-28 package.sh: handle multiple packages for release action
@ -690,7 +690,7 @@ All recorded changes follow.
package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: } package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: }
package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: } package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: }
Makefile: move proto.c generation to the proto component dir Makefile: move proto.c generation to the proto component dir
02-02-02 execrate.sh: add for .exe challenged win32 systems/commands 02-02-02 execrate.sh: add for .exe challenged Win32 systems/commands
mamprobe.sh: add STD* commands/flags mamprobe.sh: add STD* commands/flags
mamake.c: update mamprobe info when older than mamprobe executable mamake.c: update mamprobe info when older than mamprobe executable
package.sh: move ed/ex workaround to mamprobe.sh package.sh: move ed/ex workaround to mamprobe.sh
@ -775,14 +775,14 @@ All recorded changes follow.
01-04-25 package.mk: include non cc-g variants by default 01-04-25 package.mk: include non cc-g variants by default
package.sh: *[._]* => *?[_.]* for mvs.390 /bin/sh package.sh: *[._]* => *?[_.]* for mvs.390 /bin/sh
01-04-24 TEST.mk: no tests for VARIANT=="DLL" 01-04-24 TEST.mk: no tests for VARIANT=="DLL"
01-04-22 package.mk,package.sh: tarball text members are ascii encoded 01-04-22 package.mk,package.sh: tarball text members are ASCII encoded
01-04-18 package.mk: allow package name to be the same as one of its components 01-04-18 package.mk: allow package name to be the same as one of its components
cc.mvs.390: handle .C .cpp .cxx cc.mvs.390: handle .C .cpp .cxx
cc.mvs.390: compensate for -o that does not overwrite cc.mvs.390: compensate for -o that does not overwrite
01-04-01 regress: fix SAME that just skipped it -- we should regress regress! 01-04-01 regress: fix SAME that just skipped it -- we should regress regress!
iffe: fix bug that didn't emit _hdr_foo for internal hdr tests iffe: fix bug that didn't emit _hdr_foo for internal hdr tests
iffe: fix lcl bug for cc -E that doesn't emit line syncs iffe: fix lcl bug for cc -E that doesn't emit line syncs
ratz: add ascii=>ebcdic conversion for text archive members ratz: add ASCII=>EBCDIC conversion for text archive members
mamake: fix buffer overlap bug that clobbered the probe file path mamake: fix buffer overlap bug that clobbered the probe file path
01-03-17 iffe: handle : separator as first arg 01-03-17 iffe: handle : separator as first arg
01-03-15 mamake.c,ratz.c,release.c: add <stdlib.h> and <string.h> 01-03-15 mamake.c,ratz.c,release.c: add <stdlib.h> and <string.h>
@ -795,7 +795,7 @@ All recorded changes follow.
package.sh: fix INIT a.out updates for knr cc package.sh: fix INIT a.out updates for knr cc
package.sh: package list now handles large tgz dirs package.sh: package list now handles large tgz dirs
package.sh: *-ok executables moved to ok/* for *.dll systems package.sh: *-ok executables moved to ok/* for *.dll systems
iffe.sh: change "exec >&-" to "exec >/dev/null" else linux mkdir fails! iffe.sh: change "exec >&-" to "exec >/dev/null" else Linux mkdir fails!
mamake: handle `bind -lx [dontcare]' mamake: handle `bind -lx [dontcare]'
01-02-12 ratz.c: fix _PACKAGE_ast includes 01-02-12 ratz.c: fix _PACKAGE_ast includes
package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/ package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/
@ -808,13 +808,13 @@ All recorded changes follow.
01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE 01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE
package.sh: create intermediate recursion makefiles when needed package.sh: create intermediate recursion makefiles when needed
package.sh: add $SECONDS to the DEBUG trace prompt package.sh: add $SECONDS to the DEBUG trace prompt
01-01-01 ratz.c: #ifdef for uwin ncc 01-01-01 ratz.c: #ifdef for UWIN ncc
iffe.sh,package.sh: check PACKAGE_PATH for local installations iffe.sh,package.sh: check PACKAGE_PATH for local installations
package.sh: add psrinfo for osf.alpha host cpu package.sh: add psrinfo for osf.alpha host CPU
package.sh: change pax --meter probe; some hang on /dev/tty package.sh: change pax --meter probe; some hang on /dev/tty
package.sh: fix `install flat ARCH' package.sh: fix `install flat ARCH'
mamake: eliminate loops from scan order mamake: eliminate loops from scan order
C+probe: add probe_verbose -V for aix cc=xlc C+probe: add probe_verbose -V for AIX cc=xlc
cc.ibm.risc,ldd.ibm.risc: add cc.ibm.risc,ldd.ibm.risc: add
package.mk: list refs to top-level licenses only package.mk: list refs to top-level licenses only
package.mk: add local link table to change log html package.mk: add local link table to change log html
@ -848,7 +848,7 @@ All recorded changes follow.
00-10-22 regress: fix VIEW to skip empty dirs 00-10-22 regress: fix VIEW to skip empty dirs
00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake => $(PACKAGEROOT)/bin/manmake 00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake => $(PACKAGEROOT)/bin/manmake
iffe: validate #define identifiers iffe: validate #define identifiers
00-10-18 C+probe: mac os10 additions 00-10-18 C+probe: Mac OS X additions
package: add DYLD_LIBRARY_PATH initialization package: add DYLD_LIBRARY_PATH initialization
add ldd.$(CC.HOSTTYPE) add ldd.$(CC.HOSTTYPE)
00-10-01 iffe: handle -I* -L* options 00-10-01 iffe: handle -I* -L* options
@ -895,7 +895,7 @@ All recorded changes follow.
package.mk: beef up source and binary help => html package.mk: beef up source and binary help => html
00-02-08 package: mkdir man/man[138] in the new arch to cover MAM bug 00-02-08 package: mkdir man/man[138] in the new arch to cover MAM bug
00-01-28 package,release: add -rcount to release 00-01-28 package,release: add -rcount to release
package: fix linux "host cpu" and "host rating" package: fix Linux "host cpu" and "host rating"
package: copy *.lic to $PACKAGEBIN for "make" and "write binary" package: copy *.lic to $PACKAGEBIN for "make" and "write binary"
package: fix 'release change log' case match package: fix 'release change log' case match
00-01-24 package: add copyright action 00-01-24 package: add copyright action
@ -946,7 +946,7 @@ All recorded changes follow.
98-10-01 hostinfo: add unixware.* 98-10-01 hostinfo: add unixware.*
use: export PACKAGE_* use: export PACKAGE_*
98-08-11 C.probe: add /usr/include check (for sco CC) 98-08-11 C.probe: add /usr/include check (for sco CC)
hostinfo: handle uwin uname update hostinfo: handle UWIN uname update
98-05-01 regress: fix bug sometimes didn't list last test 98-05-01 regress: fix bug sometimes didn't list last test
98-04-01 hostinfo: add cc path arg 98-04-01 hostinfo: add cc path arg
hostinfo: now works with /bin/sh hostinfo: now works with /bin/sh
@ -980,15 +980,15 @@ All recorded changes follow.
mm2html: differentiate mm/man in some non-obvious cases mm2html: differentiate mm/man in some non-obvious cases
hostinfo: r5000 is not mips4 hostinfo: r5000 is not mips4
97-02-14 hostinfo: validate type with cc 97-02-14 hostinfo: validate type with cc
96-12-25 C.probe: uwin tweaks 96-12-25 C.probe: UWIN tweaks
iffe: use `...` instead of $(...) for alpha /bin/sh iffe: use `...` instead of $(...) for alpha /bin/sh
iffe: fix `typ' divide by 0 iffe: fix `typ' divide by 0
iffe: `lcl' now drops X: prefix iffe: `lcl' now drops X: prefix
iffe: +l* -> -l* iffe: +l* -> -l*
iffe: eval around ${...#%...} for bsd /bin/sh iffe: eval around ${...#%...} for BSD /bin/sh
use: add sgi.mips LD_LIBRARY<abi>_PATH variants use: add sgi.mips LD_LIBRARY<abi>_PATH variants
use: add -e to list exports use: add -e to list exports
iffe: lcl leaves leading [a-zA-Z]: for dos iffe: lcl leaves leading [a-zA-Z]: for DOS
iffe: fix no{link|output|execute} logic iffe: fix no{link|output|execute} logic
C.probe: don't automatically add /usr/include for non-hosted compilers C.probe: don't automatically add /usr/include for non-hosted compilers
C.probe: don't automatically place /usr/include last C.probe: don't automatically place /usr/include last
@ -999,10 +999,10 @@ All recorded changes follow.
hostinfo: fix ncr.i386 tests hostinfo: fix ncr.i386 tests
96-10-31 iffe: work around old bsh here doc bug by running separate sh 96-10-31 iffe: work around old bsh here doc bug by running separate sh
96-10-11 iffe: *.iffe and *.iff for iffe src files 96-10-11 iffe: *.iffe and *.iff for iffe src files
hostinfo: tighten sgi.mips cpu type check hostinfo: tighten sgi.mips CPU type check
96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib 96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib
96-09-17 iffe: fix typ bug that failed for single id types! 96-09-17 iffe: fix typ bug that failed for single id types!
96-08-31 hostinfo: handle recent sgi hinv cpu changes 96-08-31 hostinfo: handle recent SGI hinv CPU changes
96-07-17 make sure sizeof(long xxx)>sizeof(xxx) for typ long.xxx 96-07-17 make sure sizeof(long xxx)>sizeof(xxx) for typ long.xxx
96-05-09 C.probe: drop multiple / in stdinclude 96-05-09 C.probe: drop multiple / in stdinclude
96-02-29 use: package root must have bin and lib subdir 96-02-29 use: package root must have bin and lib subdir
@ -1012,8 +1012,8 @@ All recorded changes follow.
96-01-31 use: add pkg dir 96-01-31 use: add pkg dir
hostinfo: add tandem hostinfo: add tandem
96-01-01 hostinfo: windows_nt|windows[0-9][0-9] -> win32 96-01-01 hostinfo: windows_nt|windows[0-9][0-9] -> win32
95-11-24 hostinfo: linux-aout.* for non-elf linux 95-11-24 hostinfo: linux-aout.* for non-ELF Linux
95-11-11 use: add aix LIBPATH 95-11-11 use: add AIX LIBPATH
95-10-11 hostinfo: no args prints type 95-10-11 hostinfo: no args prints type
95-08-11 use: add 95-08-11 use: add
95-05-09 save original PATH in _probe_PATH 95-05-09 save original PATH in _probe_PATH
@ -1021,7 +1021,7 @@ All recorded changes follow.
95-04-01 use c source suffix if it still preserves the dialect 95-04-01 use c source suffix if it still preserves the dialect
add hostinfo add hostinfo
add lib/hostinfo/typemap user type map add lib/hostinfo/typemap user type map
add sol.sun4 cpu count add sol.sun4 CPU count
fix C.probe to properly handle C/C++ combined compiler drivers fix C.probe to properly handle C/C++ combined compiler drivers
add NeXT to hostinfo add NeXT to hostinfo
bummer: mach has /usr/bin/hostinfo bummer: mach has /usr/bin/hostinfo

View file

@ -65,7 +65,7 @@ All recorded changes follow.
12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last &amp; -lm) 12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last &amp; -lm)
12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile 12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h =&gt; $(INSTALLROOT)/$(ID)/prototyped.h 12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h =&gt; $(INSTALLROOT)/$(ID)/prototyped.h
12-05-28 iffe.sh: api foo YYYYMMDD =&gt; FOOAPI(rel) test macro 12-05-28 iffe.sh: API foo YYYYMMDD =&gt; FOOAPI(rel) test macro
12-05-24 package.sh: change admin.db comment =&gt; owner attributes 12-05-24 package.sh: change admin.db comment =&gt; owner attributes
12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit 12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
12-04-17 package.sh: skip sh version logic for ``use'' 12-04-17 package.sh: skip sh version logic for ``use''
@ -147,14 +147,14 @@ All recorded changes follow.
09-10-21 iffe.sh,Makefile: test -e is not in ksh88! 09-10-21 iffe.sh,Makefile: test -e is not in ksh88!
09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi) 09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi)
09-10-06 package.sh: stub in ar intercept checks -- not used yet 09-10-06 package.sh: stub in ar intercept checks -- not used yet
09-10-06 ar.ibm.risc: add ar intercept because some aix require -Xfoo first!! 09-10-06 ar.ibm.risc: add ar intercept because some AIX require -Xfoo first!!
09-09-24 regress.sh: fix UMASK logic to create test support files before umask 09-09-24 regress.sh: fix UMASK logic to create test support files before umask
09-08-28 release.c: change docs to mention stdin if no file operands 09-08-28 release.c: change docs to mention stdin if no file operands
09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space 09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space
09-08-20 make.probe: add CC.SHARED.NAME 09-08-20 make.probe: add CC.SHARED.NAME
09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO } 09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO }
09-08-11 package.sh: filter lines containing : for package results 09-08-11 package.sh: filter lines containing : for package results
09-07-31 make.probe: add CC.AR.ARFLAGS (for aix ar -xany) 09-07-31 make.probe: add CC.AR.ARFLAGS (for AIX ar -xany)
09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options 09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options
09-06-24 package.sh: fix admin.db output formatting 09-06-24 package.sh: fix admin.db output formatting
09-05-05 package.sh: export dll hackery environment vars 09-05-05 package.sh: export dll hackery environment vars
@ -202,7 +202,7 @@ All recorded changes follow.
08-04-28 regress.sh: fix EXPORT quoting 08-04-28 regress.sh: fix EXPORT quoting
08-04-28 regress.sh: fix UNIT set check args too 08-04-28 regress.sh: fix UNIT set check args too
08-04-24 rt.sh: exit code &gt; 256 =&gt; signal termination 08-04-24 rt.sh: exit code &gt; 256 =&gt; signal termination
08-04-10 C+probe: change probe_so order to check .so last (macos ld workaround) 08-04-10 C+probe: change probe_so order to check .so last (Mac OS X ld workaround)
08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST 08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST
08-03-28 C+probe: add C++ #include &lt;iostream&gt; (no extension) dir probes 08-03-28 C+probe: add C++ #include &lt;iostream&gt; (no extension) dir probes
08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally 08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally
@ -210,8 +210,8 @@ All recorded changes follow.
08-02-02 make.probe: add CC.RUNPATH to match default -L order 08-02-02 make.probe: add CC.RUNPATH to match default -L order
08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH 08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH
08-01-31 iffe.sh: tweak ancient /bin/sh workarounds 08-01-31 iffe.sh: tweak ancient /bin/sh workarounds
08-01-28 make.probe: darwin ld export dynamic is -force_flat_namespace 08-01-28 make.probe: Darwin ld export dynamic is -force_flat_namespace
08-01-28 C+probe: handle sgi cc error message but exit 0 botch(es) 08-01-28 C+probe: handle SGI cc error message but exit 0 botch(es)
08-01-23 package.sh: fix checksum doc typo 08-01-23 package.sh: fix checksum doc typo
08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list 08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list
07-12-14 iffe.sh: add set nooptimize 07-12-14 iffe.sh: add set nooptimize
@ -279,8 +279,8 @@ All recorded changes follow.
06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.` 06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.`
06-02-14 package.sh: "results failed test" == "results test failed" 06-02-14 package.sh: "results failed test" == "results test failed"
cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0 cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0
cc.linux.ia64-icc: add for intel cc cc.linux.ia64-icc: add for Intel cc
06-02-02 package.sh: freebsd stuck with os version for all arch 06-02-02 package.sh: FreeBSD stuck with OS version for all arch
06-02-01 package.mk: fix locale logic (tw -d requires dir arg) 06-02-01 package.mk: fix locale logic (tw -d requires dir arg)
06-01-31 package.sh: require $CC only for make|test 06-01-31 package.sh: require $CC only for make|test
06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd 06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd
@ -290,9 +290,9 @@ All recorded changes follow.
hurl.sh: wget --http-pass =&gt; --http-password hurl.sh: wget --http-pass =&gt; --http-password
06-01-11 package.mk: pass package.license.class to make --mam too 06-01-11 package.mk: pass package.license.class to make --mam too
package.mk: variants=pattern =&gt; --variants=pattern package.mk: variants=pattern =&gt; --variants=pattern
package.sh: darwin rel&lt;=7 =&gt; darwin7.ppc package.sh: Darwin rel&lt;=7 =&gt; darwin7.ppc
package.sh: freebsd rel&lt;=4 =&gt; freebsd4 package.sh: FreeBSD rel&lt;=4 =&gt; freebsd4
package.sh: freebsd rel&lt;=5 =&gt; freebsd5 package.sh: FreeBSD rel&lt;=5 =&gt; freebsd5
05-12-07 iffe.sh: don't emit &lt;stdio.h&gt; if &lt;sfio.h&gt;|&lt;ast.h&gt; (XXX) 05-12-07 iffe.sh: don't emit &lt;stdio.h&gt; if &lt;sfio.h&gt;|&lt;ast.h&gt; (XXX)
05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0 05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0
05-09-22 mktest.sh: add EXEC &#0091; ++NOOUTPUT ++NOERROR ++NOEXIT &#0093; 05-09-22 mktest.sh: add EXEC &#0091; ++NOOUTPUT ++NOERROR ++NOEXIT &#0093;
@ -318,7 +318,7 @@ All recorded changes follow.
iffe.sh: fix 'op var - ... - ...' grouping logic iffe.sh: fix 'op var - ... - ...' grouping logic
05-04-15 rt.sh: handle autom4ate style 05-04-15 rt.sh: handle autom4ate style
05-04-11 regress.sh: fix unit name when command line unit also specified 05-04-11 regress.sh: fix unit name when command line unit also specified
rt.sh: handle all ast package test output formats rt.sh: handle all AST package test output formats
package.sh: fix make docs for options passed to underlying make package.sh: fix make docs for options passed to underlying make
05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime 05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime
regress.sh: add "TITLE name" to change TEST output title regress.sh: add "TITLE name" to change TEST output title
@ -333,7 +333,7 @@ All recorded changes follow.
package.sh: admin action now properly resets sibling remote logs package.sh: admin action now properly resets sibling remote logs
package.mk: relax unknown/unwritten package messages to warnings package.mk: relax unknown/unwritten package messages to warnings
package.sh: handle space in command line name=value package.sh: handle space in command line name=value
make.probe: add mvs -Wc,dll,exportall,longname,rent to CC.DLL probe make.probe: add MVS -Wc,dll,exportall,longname,rent to CC.DLL probe
05-02-24 package.sh: hosttype *.powerpc =&gt; *.ppc 05-02-24 package.sh: hosttype *.powerpc =&gt; *.ppc
cc.lynxos.ppc,ldd.lynxos.ppc: add cc.lynxos.ppc,ldd.lynxos.ppc: add
05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug 05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug
@ -386,7 +386,7 @@ All recorded changes follow.
package.mk: add the runtime package type (no *.&#0091;ah&#0093;) package.mk: add the runtime package type (no *.&#0091;ah&#0093;)
iffe.sh: fix key test reports iffe.sh: fix key test reports
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp&#0091;l&#0093; ldexp&#0091;l&#0093; } 04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp&#0091;l&#0093; ldexp&#0091;l&#0093; }
04-08-11 package.mk: handle HOSTTYPE for solaris &gt; 9 04-08-11 package.mk: handle HOSTTYPE for Solaris &gt; 9
package.sh: add `checkaout proto' for { make view } package.sh: add `checkaout proto' for { make view }
package.sh: check for { md5sum md5 } package.sh: check for { md5sum md5 }
iffe.sh: add {if|elif|else|endif} test ... iffe.sh: add {if|elif|else|endif} test ...
@ -444,7 +444,7 @@ All recorded changes follow.
04-03-18 iffe.sh: -d2 does not remove core dumps on exit 04-03-18 iffe.sh: -d2 does not remove core dumps on exit
04-03-17 package.sh: fix make recurse arg/action order 04-03-17 package.sh: fix make recurse arg/action order
04-02-29 package.sh: add regress action to compare current and previous tests 04-02-29 package.sh: add regress action to compare current and previous tests
package.sh: fix sgi.mips&#0091;23&#0093; HOSTTYPE test for old irix cc package.sh: fix sgi.mips&#0091;23&#0093; HOSTTYPE test for old IRIX cc
package.sh: add `export variable ...' package.sh: add `export variable ...'
package.sh: admin action now handles host name with non-id chars package.sh: admin action now handles host name with non-id chars
package.sh: non-numeric M T W in admin.db disables that action package.sh: non-numeric M T W in admin.db disables that action
@ -504,9 +504,9 @@ All recorded changes follow.
03-06-04 make.probe: add +forceread +noforceread 03-06-04 make.probe: add +forceread +noforceread
03-05-11 hurl.sh: handle http://host:port/path 03-05-11 hurl.sh: handle http://host:port/path
03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic 03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic
03-05-05 package.mk: fix cygwin tarball names 03-05-05 package.mk: fix Cygwin tarball names
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile 03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" =&gt; "" 03-04-27 make.probe: fix MVS CC.PREFIX.SHARED "lib" =&gt; ""
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR) make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD } make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
probe.win32: sync with latest CC.* probe.win32: sync with latest CC.*
@ -524,7 +524,7 @@ All recorded changes follow.
03-04-11 package.mk: tidy up cyg tarballs 03-04-11 package.mk: tidy up cyg tarballs
package.sh: fix old shell clash between get() and $get package.sh: fix old shell clash between get() and $get
03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions 03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions
package.sh: add pthread_num_processors_np() last resort for cpu count package.sh: add pthread_num_processors_np() last resort for CPU count
package.sh: use `make believe' to accept mamake generated files package.sh: use `make believe' to accept mamake generated files
package.sh: handle `make &#0091;make-flags&#0093; &#0091;target ...&#0093;' package.sh: handle `make &#0091;make-flags&#0093; &#0091;target ...&#0093;'
mamake.c: ignore -e mamake.c: ignore -e
@ -532,14 +532,14 @@ All recorded changes follow.
package.sh: switch to `package setup' instructions package.sh: switch to `package setup' instructions
03-03-19 package.sh: add registry checks for `host cpu' 03-03-19 package.sh: add registry checks for `host cpu'
package.sh: `results failed' now lists core dump messages package.sh: `results failed' now lists core dump messages
03-03-17 package.sh: on cygwin verify 'ntsec binmode' in $CYGWIN or die 03-03-17 package.sh: on Cygwin verify 'ntsec binmode' in $CYGWIN or die
Makefile: install gcc wrapper if no cc Makefile: install gcc wrapper if no cc
package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops
03-03-12 package.mk: add :DETAILS: for style-specific details 03-03-12 package.mk: add :DETAILS: for style-specific details
03-03-11 package.sh: add beta setup/update support 03-03-11 package.sh: add beta setup/update support
TEST.mk: add (TESTCC) prereq for .sh tests TEST.mk: add (TESTCC) prereq for .sh tests
03-03-07 hurl.sh: add 03-03-07 hurl.sh: add
03-03-06 iffe.sh: fix lib win32 test cygwin vs native incompatibility 03-03-06 iffe.sh: fix lib Win32 test Cygwin vs native incompatibility
iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro
03-03-03 package.sh: check for curl or wget for update 03-03-03 package.sh: check for curl or wget for update
package.sh: add setup action == update read make package.sh: add setup action == update read make
@ -547,7 +547,7 @@ All recorded changes follow.
mamake.c: treat name+=value args like name=value mamake.c: treat name+=value args like name=value
mamake.c: add ${var?*|value?match?no-match?} mamake.c: add ${var?*|value?match?no-match?}
mamake.c: fix archive vs. dynamic bind logic mamake.c: fix archive vs. dynamic bind logic
03-02-28 package.sh: add the "cyg" (cygwin) package type 03-02-28 package.sh: add the "cyg" (Cygwin) package type
package.mk: add "cyg" stubs, :CATEGORY: for category name(s) package.mk: add "cyg" stubs, :CATEGORY: for category name(s)
03-02-25 mamake.c: add -D4 system(3) debug trace 03-02-25 mamake.c: add -D4 system(3) debug trace
03-02-24 package.mk: change --mismatch to --corrupt=accept 03-02-24 package.mk: change --mismatch to --corrupt=accept
@ -584,7 +584,7 @@ All recorded changes follow.
02-10-20 package.sh: fix lib/probe/C/make/probe update test 02-10-20 package.sh: fix lib/probe/C/make/probe update test
02-10-18 probe.win32: update for mingw 02-10-18 probe.win32: update for mingw
make.probe: add bash workaround to SHELLMAGIC test make.probe: add bash workaround to SHELLMAGIC test
package.sh: work around yet another cygwin hassle package.sh: work around yet another Cygwin hassle
02-10-17 iffe.sh: short circuit id check for *&#0091;-+/\\&#0093;* 02-10-17 iffe.sh: short circuit id check for *&#0091;-+/\\&#0093;*
02-10-08 regress.sh: unset FIGNORE to avoid rm . errors 02-10-08 regress.sh: unset FIGNORE to avoid rm . errors
package.sh: unset FIGNORE to avoid rm . errors package.sh: unset FIGNORE to avoid rm . errors
@ -600,7 +600,7 @@ All recorded changes follow.
iffe.sh: fix bug that didn't define mac variable on success iffe.sh: fix bug that didn't define mac variable on success
02-09-22 package.sh: handle admin_action=ditto 02-09-22 package.sh: handle admin_action=ditto
iffe.sh: --config sizeof(foo) macro is SIZEOF_foo iffe.sh: --config sizeof(foo) macro is SIZEOF_foo
iffe.sh: fix long.long test so it doesn't defeat uwin "typ long.long" iffe.sh: fix long.long test so it doesn't defeat UWIN "typ long.long"
mamprobe.sh: convert $("foo") nmake string constants mamprobe.sh: convert $("foo") nmake string constants
02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout 02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh 02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
@ -621,7 +621,7 @@ All recorded changes follow.
Makefile: add LICENSE:.DONTCARE to workaround mam Makefile: add LICENSE:.DONTCARE to workaround mam
02-08-11 iffe.sh: provide defaults for LD_* additions 02-08-11 iffe.sh: provide defaults for LD_* additions
02-08-07 ratz.c: change -m to use * instead of non-portable inverse video 02-08-07 ratz.c: change -m to use * instead of non-portable inverse video
02-07-17 mamprobe.sh: close tmp file in trap before rm for cygwin 02-07-17 mamprobe.sh: close tmp file in trap before rm for Cygwin
package.sh: fix "type" to handle i1586 (P4) package.sh: fix "type" to handle i1586 (P4)
package.sh: add the view action package.sh: add the view action
02-06-28 package.sh: handle multiple packages for release action 02-06-28 package.sh: handle multiple packages for release action
@ -652,7 +652,7 @@ All recorded changes follow.
package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: } package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: }
package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: } package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: }
Makefile: move proto.c generation to the proto component dir Makefile: move proto.c generation to the proto component dir
02-02-02 execrate.sh: add for .exe challenged win32 systems/commands 02-02-02 execrate.sh: add for .exe challenged Win32 systems/commands
mamprobe.sh: add STD* commands/flags mamprobe.sh: add STD* commands/flags
mamake.c: update mamprobe info when older than mamprobe executable mamake.c: update mamprobe info when older than mamprobe executable
package.sh: move ed/ex workaround to mamprobe.sh package.sh: move ed/ex workaround to mamprobe.sh
@ -737,14 +737,14 @@ All recorded changes follow.
01-04-25 package.mk: include non cc-g variants by default 01-04-25 package.mk: include non cc-g variants by default
package.sh: *&#0091;._&#0093;* =&gt; *?&#0091;_.&#0093;* for mvs.390 /bin/sh package.sh: *&#0091;._&#0093;* =&gt; *?&#0091;_.&#0093;* for mvs.390 /bin/sh
01-04-24 TEST.mk: no tests for VARIANT=="DLL" 01-04-24 TEST.mk: no tests for VARIANT=="DLL"
01-04-22 package.mk,package.sh: tarball text members are ascii encoded 01-04-22 package.mk,package.sh: tarball text members are ASCII encoded
01-04-18 package.mk: allow package name to be the same as one of its components 01-04-18 package.mk: allow package name to be the same as one of its components
cc.mvs.390: handle .C .cpp .cxx cc.mvs.390: handle .C .cpp .cxx
cc.mvs.390: compensate for -o that does not overwrite cc.mvs.390: compensate for -o that does not overwrite
01-04-01 regress: fix SAME that just skipped it -- we should regress regress! 01-04-01 regress: fix SAME that just skipped it -- we should regress regress!
iffe: fix bug that didn't emit _hdr_foo for internal hdr tests iffe: fix bug that didn't emit _hdr_foo for internal hdr tests
iffe: fix lcl bug for cc -E that doesn't emit line syncs iffe: fix lcl bug for cc -E that doesn't emit line syncs
ratz: add ascii=&gt;ebcdic conversion for text archive members ratz: add ASCII=&gt;EBCDIC conversion for text archive members
mamake: fix buffer overlap bug that clobbered the probe file path mamake: fix buffer overlap bug that clobbered the probe file path
01-03-17 iffe: handle : separator as first arg 01-03-17 iffe: handle : separator as first arg
01-03-15 mamake.c,ratz.c,release.c: add &lt;stdlib.h&gt; and &lt;string.h&gt; 01-03-15 mamake.c,ratz.c,release.c: add &lt;stdlib.h&gt; and &lt;string.h&gt;
@ -757,7 +757,7 @@ All recorded changes follow.
package.sh: fix INIT a.out updates for knr cc package.sh: fix INIT a.out updates for knr cc
package.sh: package list now handles large tgz dirs package.sh: package list now handles large tgz dirs
package.sh: *-ok executables moved to ok/* for *.dll systems package.sh: *-ok executables moved to ok/* for *.dll systems
iffe.sh: change "exec &gt;&amp;-" to "exec &gt;/dev/null" else linux mkdir fails! iffe.sh: change "exec &gt;&amp;-" to "exec &gt;/dev/null" else Linux mkdir fails!
mamake: handle `bind -lx &#0091;dontcare&#0093;' mamake: handle `bind -lx &#0091;dontcare&#0093;'
01-02-12 ratz.c: fix _PACKAGE_ast includes 01-02-12 ratz.c: fix _PACKAGE_ast includes
package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/ package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/
@ -770,13 +770,13 @@ All recorded changes follow.
01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE 01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE
package.sh: create intermediate recursion makefiles when needed package.sh: create intermediate recursion makefiles when needed
package.sh: add $SECONDS to the DEBUG trace prompt package.sh: add $SECONDS to the DEBUG trace prompt
01-01-01 ratz.c: #ifdef for uwin ncc 01-01-01 ratz.c: #ifdef for UWIN ncc
iffe.sh,package.sh: check PACKAGE_PATH for local installations iffe.sh,package.sh: check PACKAGE_PATH for local installations
package.sh: add psrinfo for osf.alpha host cpu package.sh: add psrinfo for osf.alpha host CPU
package.sh: change pax --meter probe; some hang on /dev/tty package.sh: change pax --meter probe; some hang on /dev/tty
package.sh: fix `install flat ARCH' package.sh: fix `install flat ARCH'
mamake: eliminate loops from scan order mamake: eliminate loops from scan order
C+probe: add probe_verbose -V for aix cc=xlc C+probe: add probe_verbose -V for AIX cc=xlc
cc.ibm.risc,ldd.ibm.risc: add cc.ibm.risc,ldd.ibm.risc: add
package.mk: list refs to top-level licenses only package.mk: list refs to top-level licenses only
package.mk: add local link table to change log html package.mk: add local link table to change log html
@ -810,7 +810,7 @@ All recorded changes follow.
00-10-22 regress: fix VIEW to skip empty dirs 00-10-22 regress: fix VIEW to skip empty dirs
00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake =&gt; $(PACKAGEROOT)/bin/manmake 00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake =&gt; $(PACKAGEROOT)/bin/manmake
iffe: validate #define identifiers iffe: validate #define identifiers
00-10-18 C+probe: mac os10 additions 00-10-18 C+probe: Mac OS X additions
package: add DYLD_LIBRARY_PATH initialization package: add DYLD_LIBRARY_PATH initialization
add ldd.$(CC.HOSTTYPE) add ldd.$(CC.HOSTTYPE)
00-10-01 iffe: handle -I* -L* options 00-10-01 iffe: handle -I* -L* options
@ -857,7 +857,7 @@ All recorded changes follow.
package.mk: beef up source and binary help =&gt; html package.mk: beef up source and binary help =&gt; html
00-02-08 package: mkdir man/man&#0091;138&#0093; in the new arch to cover MAM bug 00-02-08 package: mkdir man/man&#0091;138&#0093; in the new arch to cover MAM bug
00-01-28 package,release: add -rcount to release 00-01-28 package,release: add -rcount to release
package: fix linux "host cpu" and "host rating" package: fix Linux "host cpu" and "host rating"
package: copy *.lic to $PACKAGEBIN for "make" and "write binary" package: copy *.lic to $PACKAGEBIN for "make" and "write binary"
package: fix 'release change log' case match package: fix 'release change log' case match
00-01-24 package: add copyright action 00-01-24 package: add copyright action
@ -908,7 +908,7 @@ All recorded changes follow.
98-10-01 hostinfo: add unixware.* 98-10-01 hostinfo: add unixware.*
use: export PACKAGE_* use: export PACKAGE_*
98-08-11 C.probe: add /usr/include check (for sco CC) 98-08-11 C.probe: add /usr/include check (for sco CC)
hostinfo: handle uwin uname update hostinfo: handle UWIN uname update
98-05-01 regress: fix bug sometimes didn't list last test 98-05-01 regress: fix bug sometimes didn't list last test
98-04-01 hostinfo: add cc path arg 98-04-01 hostinfo: add cc path arg
hostinfo: now works with /bin/sh hostinfo: now works with /bin/sh
@ -942,15 +942,15 @@ All recorded changes follow.
mm2html: differentiate mm/man in some non-obvious cases mm2html: differentiate mm/man in some non-obvious cases
hostinfo: r5000 is not mips4 hostinfo: r5000 is not mips4
97-02-14 hostinfo: validate type with cc 97-02-14 hostinfo: validate type with cc
96-12-25 C.probe: uwin tweaks 96-12-25 C.probe: UWIN tweaks
iffe: use `...` instead of $(...) for alpha /bin/sh iffe: use `...` instead of $(...) for alpha /bin/sh
iffe: fix `typ' divide by 0 iffe: fix `typ' divide by 0
iffe: `lcl' now drops X: prefix iffe: `lcl' now drops X: prefix
iffe: +l* -&gt; -l* iffe: +l* -&gt; -l*
iffe: eval around ${...#%...} for bsd /bin/sh iffe: eval around ${...#%...} for BSD /bin/sh
use: add sgi.mips LD_LIBRARY&lt;abi&gt;_PATH variants use: add sgi.mips LD_LIBRARY&lt;abi&gt;_PATH variants
use: add -e to list exports use: add -e to list exports
iffe: lcl leaves leading &#0091;a-zA-Z&#0093;: for dos iffe: lcl leaves leading &#0091;a-zA-Z&#0093;: for DOS
iffe: fix no{link|output|execute} logic iffe: fix no{link|output|execute} logic
C.probe: don't automatically add /usr/include for non-hosted compilers C.probe: don't automatically add /usr/include for non-hosted compilers
C.probe: don't automatically place /usr/include last C.probe: don't automatically place /usr/include last
@ -961,10 +961,10 @@ All recorded changes follow.
hostinfo: fix ncr.i386 tests hostinfo: fix ncr.i386 tests
96-10-31 iffe: work around old bsh here doc bug by running separate sh 96-10-31 iffe: work around old bsh here doc bug by running separate sh
96-10-11 iffe: *.iffe and *.iff for iffe src files 96-10-11 iffe: *.iffe and *.iff for iffe src files
hostinfo: tighten sgi.mips cpu type check hostinfo: tighten sgi.mips CPU type check
96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib 96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib
96-09-17 iffe: fix typ bug that failed for single id types! 96-09-17 iffe: fix typ bug that failed for single id types!
96-08-31 hostinfo: handle recent sgi hinv cpu changes 96-08-31 hostinfo: handle recent SGI hinv CPU changes
96-07-17 make sure sizeof(long xxx)&gt;sizeof(xxx) for typ long.xxx 96-07-17 make sure sizeof(long xxx)&gt;sizeof(xxx) for typ long.xxx
96-05-09 C.probe: drop multiple / in stdinclude 96-05-09 C.probe: drop multiple / in stdinclude
96-02-29 use: package root must have bin and lib subdir 96-02-29 use: package root must have bin and lib subdir
@ -974,8 +974,8 @@ All recorded changes follow.
96-01-31 use: add pkg dir 96-01-31 use: add pkg dir
hostinfo: add tandem hostinfo: add tandem
96-01-01 hostinfo: windows_nt|windows&#0091;0-9&#0093;&#0091;0-9&#0093; -&gt; win32 96-01-01 hostinfo: windows_nt|windows&#0091;0-9&#0093;&#0091;0-9&#0093; -&gt; win32
95-11-24 hostinfo: linux-aout.* for non-elf linux 95-11-24 hostinfo: linux-aout.* for non-ELF Linux
95-11-11 use: add aix LIBPATH 95-11-11 use: add AIX LIBPATH
95-10-11 hostinfo: no args prints type 95-10-11 hostinfo: no args prints type
95-08-11 use: add 95-08-11 use: add
95-05-09 save original PATH in _probe_PATH 95-05-09 save original PATH in _probe_PATH
@ -983,7 +983,7 @@ All recorded changes follow.
95-04-01 use c source suffix if it still preserves the dialect 95-04-01 use c source suffix if it still preserves the dialect
add hostinfo add hostinfo
add lib/hostinfo/typemap user type map add lib/hostinfo/typemap user type map
add sol.sun4 cpu count add sol.sun4 CPU count
fix C.probe to properly handle C/C++ combined compiler drivers fix C.probe to properly handle C/C++ combined compiler drivers
add NeXT to hostinfo add NeXT to hostinfo
bummer: mach has /usr/bin/hostinfo bummer: mach has /usr/bin/hostinfo

View file

@ -4,8 +4,8 @@ ast-ast :PACKAGE: libast
:CATEGORY: devel libs :CATEGORY: devel libs
:INDEX: the ast library, period :INDEX: the AST library, period
:DESCRIPTION: :DESCRIPTION:
The AT&T Software Technology ast-ast package from AT&T Research The AT&T Software Technology ast-ast package from AT&T Research
contains the ast library. contains the AST library.

View file

@ -11,12 +11,12 @@ ast-base :PACKAGE: \
:CATEGORY: devel libs shells :CATEGORY: devel libs shells
:INDEX: ksh, ksh builtin commands, pax, nmake, tw, sfio, and ast libraries :INDEX: ksh, ksh builtin commands, pax, nmake, tw, sfio, and AST libraries
:DESCRIPTION: :DESCRIPTION:
The AT&T Software Technology ast-base package from AT&T Research The AT&T Software Technology ast-base package from AT&T Research
contains commands and libraries required by all other ast based contains commands and libraries required by all other AST based
packages. Included are ksh93, ksh93 builtin commands, a pax that packages. Included are ksh93, ksh93 builtin commands, a pax that
generates compact delta archives, nmake, the 3d user level versioning generates compact delta archives, nmake, the 3d user level versioning
filesystem, coshell for network execution, a multi-dialect C preprocessor filesystem, coshell for network execution, a multi-dialect C preprocessor
and companion library, and libraries shared by the other ast packages. and companion library, and libraries shared by the other AST packages.

View file

@ -30,7 +30,7 @@ ast-ksh :PACKAGE: ksh93 libast libcmd libcoshell libsum libdll
option describes the self documenting options available to all option describes the self documenting options available to all
builtin and special commands. builtin and special commands.
$() $()
The standlone ksh is statically linked with the ast libcmd The standlone ksh is statically linked with the AST libcmd
library which provides several builtin versions of /bin library which provides several builtin versions of /bin
commands. "builtin | grep /opt/ast/bin" lists the libcmd commands. "builtin | grep /opt/ast/bin" lists the libcmd
builtins on the standard output. /opt/ast/bin/FOO accesses builtins on the standard output. /opt/ast/bin/FOO accesses
@ -48,21 +48,21 @@ ast-ksh :PACKAGE: ksh93 libast libcmd libcoshell libsum libdll
Some scripts may run significantly faster with libcmd builtins Some scripts may run significantly faster with libcmd builtins
enabled. enabled.
$() $()
The ast library checks the DOSPATHVARS environment variable The AST library checks the DOSPATHVARS environment variable
for variable path values to convert to and from native windows for variable path values to convert to and from native windows
format when cross-executing between cygwin and non-cygwin format when cross-executing between Cygwin and non-Cygwin
programs. The value is a space separated list of environment programs. The value is a space separated list of environment
variables to convert. PATH is handled by cygwin so it is not variables to convert. PATH is handled by Cygwin so it is not
converted by the ast library. converted by the AST library.
$() $()
The ast-ksh cygwin source package provides a bootstrap build The ast-ksh Cygwin source package provides a bootstrap build
environment that is not suited for an edit/build/debug cycle. environment that is not suited for an edit/build/debug cycle.
If you want to explore and modify the source then you should If you want to explore and modify the source then you should
install the (non-cygwinized) ast-base package which includes install the (non-Cygwinized) ast-base package which includes
AT&T nmake. With ast-base you will also be able to regenerate AT&T nmake. With ast-base you will also be able to regenerate
the ast-ksh cygwin source and binary packages. the ast-ksh Cygwin source and binary packages.
$() $()
For more information on ksh and other AT&T ast tools see For more information on ksh and other AT&T AST tools see
http://www.research.att.com/sw/download/ http://www.research.att.com/sw/download/
:EXPORT: :EXPORT:
SHOPT_CMDLIB_DIR=1 SHOPT_CMDLIB_DIR=1

View file

@ -15,5 +15,5 @@ ast-make :PACKAGE: \
:DESCRIPTION: :DESCRIPTION:
The AT&T Software Technology ast-make package from AT&T Research The AT&T Software Technology ast-make package from AT&T Research
contains an almost minimal set of commands and libraries required contains an almost minimal set of commands and libraries required
to run ast nmake. ksh, coshell, pax, tw, and the 3d user-level to run AST nmake. ksh, coshell, pax, tw, and the 3d user-level
filesystem are also included. filesystem are also included.

View file

@ -13,8 +13,8 @@ ast-open :PACKAGE: \
:CATEGORY: devel libs mail shells utils :CATEGORY: devel libs mail shells utils
:INDEX: ksh, pax, nmake, sfio, and ast open source commands and libraries :INDEX: ksh, pax, nmake, sfio, and AST open source commands and libraries
:DESCRIPTION: :DESCRIPTION:
The AT&T Software Technology ast-open package from AT&T Research The AT&T Software Technology ast-open package from AT&T Research
contains all of the ast open source commands and libraries. contains all of the AST open source commands and libraries.

View file

@ -8,7 +8,7 @@
12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm) 12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm)
12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile 12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h 12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h
12-05-28 iffe.sh: api foo YYYYMMDD => FOOAPI(rel) test macro 12-05-28 iffe.sh: API foo YYYYMMDD => FOOAPI(rel) test macro
12-05-24 package.sh: change admin.db comment => owner attributes 12-05-24 package.sh: change admin.db comment => owner attributes
12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit 12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
12-04-17 package.sh: skip sh version logic for ``use'' 12-04-17 package.sh: skip sh version logic for ``use''
@ -90,14 +90,14 @@
09-10-21 iffe.sh,Makefile: test -e is not in ksh88! 09-10-21 iffe.sh,Makefile: test -e is not in ksh88!
09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi) 09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi)
09-10-06 package.sh: stub in ar intercept checks -- not used yet 09-10-06 package.sh: stub in ar intercept checks -- not used yet
09-10-06 ar.ibm.risc: add ar intercept because some aix require -Xfoo first!! 09-10-06 ar.ibm.risc: add ar intercept because some AIX require -Xfoo first!!
09-09-24 regress.sh: fix UMASK logic to create test support files before umask 09-09-24 regress.sh: fix UMASK logic to create test support files before umask
09-08-28 release.c: change docs to mention stdin if no file operands 09-08-28 release.c: change docs to mention stdin if no file operands
09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space 09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space
09-08-20 make.probe: add CC.SHARED.NAME 09-08-20 make.probe: add CC.SHARED.NAME
09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO } 09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO }
09-08-11 package.sh: filter lines containing : for package results 09-08-11 package.sh: filter lines containing : for package results
09-07-31 make.probe: add CC.AR.ARFLAGS (for aix ar -xany) 09-07-31 make.probe: add CC.AR.ARFLAGS (for AIX ar -xany)
09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options 09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options
09-06-24 package.sh: fix admin.db output formatting 09-06-24 package.sh: fix admin.db output formatting
09-05-05 package.sh: export dll hackery environment vars 09-05-05 package.sh: export dll hackery environment vars
@ -145,7 +145,7 @@
08-04-28 regress.sh: fix EXPORT quoting 08-04-28 regress.sh: fix EXPORT quoting
08-04-28 regress.sh: fix UNIT set check args too 08-04-28 regress.sh: fix UNIT set check args too
08-04-24 rt.sh: exit code > 256 => signal termination 08-04-24 rt.sh: exit code > 256 => signal termination
08-04-10 C+probe: change probe_so order to check .so last (macos ld workaround) 08-04-10 C+probe: change probe_so order to check .so last (Mac OS X ld workaround)
08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST 08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST
08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes 08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes
08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally 08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally
@ -153,8 +153,8 @@
08-02-02 make.probe: add CC.RUNPATH to match default -L order 08-02-02 make.probe: add CC.RUNPATH to match default -L order
08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH 08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH
08-01-31 iffe.sh: tweak ancient /bin/sh workarounds 08-01-31 iffe.sh: tweak ancient /bin/sh workarounds
08-01-28 make.probe: darwin ld export dynamic is -force_flat_namespace 08-01-28 make.probe: Darwin ld export dynamic is -force_flat_namespace
08-01-28 C+probe: handle sgi cc error message but exit 0 botch(es) 08-01-28 C+probe: handle SGI cc error message but exit 0 botch(es)
08-01-23 package.sh: fix checksum doc typo 08-01-23 package.sh: fix checksum doc typo
08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list 08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list
07-12-14 iffe.sh: add set nooptimize 07-12-14 iffe.sh: add set nooptimize
@ -222,8 +222,8 @@
06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.` 06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.`
06-02-14 package.sh: "results failed test" == "results test failed" 06-02-14 package.sh: "results failed test" == "results test failed"
cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0 cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0
cc.linux.ia64-icc: add for intel cc cc.linux.ia64-icc: add for Intel cc
06-02-02 package.sh: freebsd stuck with os version for all arch 06-02-02 package.sh: FreeBSD stuck with OS version for all arch
06-02-01 package.mk: fix locale logic (tw -d requires dir arg) 06-02-01 package.mk: fix locale logic (tw -d requires dir arg)
06-01-31 package.sh: require $CC only for make|test 06-01-31 package.sh: require $CC only for make|test
06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd 06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd
@ -233,9 +233,9 @@
hurl.sh: wget --http-pass => --http-password hurl.sh: wget --http-pass => --http-password
06-01-11 package.mk: pass package.license.class to make --mam too 06-01-11 package.mk: pass package.license.class to make --mam too
package.mk: variants=pattern => --variants=pattern package.mk: variants=pattern => --variants=pattern
package.sh: darwin rel<=7 => darwin7.ppc package.sh: Darwin rel<=7 => darwin7.ppc
package.sh: freebsd rel<=4 => freebsd4 package.sh: FreeBSD rel<=4 => freebsd4
package.sh: freebsd rel<=5 => freebsd5 package.sh: FreeBSD rel<=5 => freebsd5
05-12-07 iffe.sh: don't emit <stdio.h> if <sfio.h>|<ast.h> (XXX) 05-12-07 iffe.sh: don't emit <stdio.h> if <sfio.h>|<ast.h> (XXX)
05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0 05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0
05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ] 05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ]
@ -261,7 +261,7 @@
iffe.sh: fix 'op var - ... - ...' grouping logic iffe.sh: fix 'op var - ... - ...' grouping logic
05-04-15 rt.sh: handle autom4ate style 05-04-15 rt.sh: handle autom4ate style
05-04-11 regress.sh: fix unit name when command line unit also specified 05-04-11 regress.sh: fix unit name when command line unit also specified
rt.sh: handle all ast package test output formats rt.sh: handle all AST package test output formats
package.sh: fix make docs for options passed to underlying make package.sh: fix make docs for options passed to underlying make
05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime 05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime
regress.sh: add "TITLE name" to change TEST output title regress.sh: add "TITLE name" to change TEST output title
@ -276,7 +276,7 @@
package.sh: admin action now properly resets sibling remote logs package.sh: admin action now properly resets sibling remote logs
package.mk: relax unknown/unwritten package messages to warnings package.mk: relax unknown/unwritten package messages to warnings
package.sh: handle space in command line name=value package.sh: handle space in command line name=value
make.probe: add mvs -Wc,dll,exportall,longname,rent to CC.DLL probe make.probe: add MVS -Wc,dll,exportall,longname,rent to CC.DLL probe
05-02-24 package.sh: hosttype *.powerpc => *.ppc 05-02-24 package.sh: hosttype *.powerpc => *.ppc
cc.lynxos.ppc,ldd.lynxos.ppc: add cc.lynxos.ppc,ldd.lynxos.ppc: add
05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug 05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug
@ -329,7 +329,7 @@
package.mk: add the runtime package type (no *.[ah]) package.mk: add the runtime package type (no *.[ah])
iffe.sh: fix key test reports iffe.sh: fix key test reports
04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] } 04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
04-08-11 package.mk: handle HOSTTYPE for solaris > 9 04-08-11 package.mk: handle HOSTTYPE for Solaris > 9
package.sh: add `checkaout proto' for { make view } package.sh: add `checkaout proto' for { make view }
package.sh: check for { md5sum md5 } package.sh: check for { md5sum md5 }
iffe.sh: add {if|elif|else|endif} test ... iffe.sh: add {if|elif|else|endif} test ...
@ -387,7 +387,7 @@
04-03-18 iffe.sh: -d2 does not remove core dumps on exit 04-03-18 iffe.sh: -d2 does not remove core dumps on exit
04-03-17 package.sh: fix make recurse arg/action order 04-03-17 package.sh: fix make recurse arg/action order
04-02-29 package.sh: add regress action to compare current and previous tests 04-02-29 package.sh: add regress action to compare current and previous tests
package.sh: fix sgi.mips[23] HOSTTYPE test for old irix cc package.sh: fix sgi.mips[23] HOSTTYPE test for old IRIX cc
package.sh: add `export variable ...' package.sh: add `export variable ...'
package.sh: admin action now handles host name with non-id chars package.sh: admin action now handles host name with non-id chars
package.sh: non-numeric M T W in admin.db disables that action package.sh: non-numeric M T W in admin.db disables that action
@ -447,9 +447,9 @@
03-06-04 make.probe: add +forceread +noforceread 03-06-04 make.probe: add +forceread +noforceread
03-05-11 hurl.sh: handle http://host:port/path 03-05-11 hurl.sh: handle http://host:port/path
03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic 03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic
03-05-05 package.mk: fix cygwin tarball names 03-05-05 package.mk: fix Cygwin tarball names
03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile 03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile
03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => "" 03-04-27 make.probe: fix MVS CC.PREFIX.SHARED "lib" => ""
make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR) make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR)
make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD } make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD }
probe.win32: sync with latest CC.* probe.win32: sync with latest CC.*
@ -467,7 +467,7 @@
03-04-11 package.mk: tidy up cyg tarballs 03-04-11 package.mk: tidy up cyg tarballs
package.sh: fix old shell clash between get() and $get package.sh: fix old shell clash between get() and $get
03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions 03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions
package.sh: add pthread_num_processors_np() last resort for cpu count package.sh: add pthread_num_processors_np() last resort for CPU count
package.sh: use `make believe' to accept mamake generated files package.sh: use `make believe' to accept mamake generated files
package.sh: handle `make [make-flags] [target ...]' package.sh: handle `make [make-flags] [target ...]'
mamake.c: ignore -e mamake.c: ignore -e
@ -475,14 +475,14 @@
package.sh: switch to `package setup' instructions package.sh: switch to `package setup' instructions
03-03-19 package.sh: add registry checks for `host cpu' 03-03-19 package.sh: add registry checks for `host cpu'
package.sh: `results failed' now lists core dump messages package.sh: `results failed' now lists core dump messages
03-03-17 package.sh: on cygwin verify 'ntsec binmode' in $CYGWIN or die 03-03-17 package.sh: on Cygwin verify 'ntsec binmode' in $CYGWIN or die
Makefile: install gcc wrapper if no cc Makefile: install gcc wrapper if no cc
package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops
03-03-12 package.mk: add :DETAILS: for style-specific details 03-03-12 package.mk: add :DETAILS: for style-specific details
03-03-11 package.sh: add beta setup/update support 03-03-11 package.sh: add beta setup/update support
TEST.mk: add (TESTCC) prereq for .sh tests TEST.mk: add (TESTCC) prereq for .sh tests
03-03-07 hurl.sh: add 03-03-07 hurl.sh: add
03-03-06 iffe.sh: fix lib win32 test cygwin vs native incompatibility 03-03-06 iffe.sh: fix lib Win32 test Cygwin vs native incompatibility
iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro
03-03-03 package.sh: check for curl or wget for update 03-03-03 package.sh: check for curl or wget for update
package.sh: add setup action == update read make package.sh: add setup action == update read make
@ -490,7 +490,7 @@
mamake.c: treat name+=value args like name=value mamake.c: treat name+=value args like name=value
mamake.c: add ${var?*|value?match?no-match?} mamake.c: add ${var?*|value?match?no-match?}
mamake.c: fix archive vs. dynamic bind logic mamake.c: fix archive vs. dynamic bind logic
03-02-28 package.sh: add the "cyg" (cygwin) package type 03-02-28 package.sh: add the "cyg" (Cygwin) package type
package.mk: add "cyg" stubs, :CATEGORY: for category name(s) package.mk: add "cyg" stubs, :CATEGORY: for category name(s)
03-02-25 mamake.c: add -D4 system(3) debug trace 03-02-25 mamake.c: add -D4 system(3) debug trace
03-02-24 package.mk: change --mismatch to --corrupt=accept 03-02-24 package.mk: change --mismatch to --corrupt=accept
@ -527,7 +527,7 @@
02-10-20 package.sh: fix lib/probe/C/make/probe update test 02-10-20 package.sh: fix lib/probe/C/make/probe update test
02-10-18 probe.win32: update for mingw 02-10-18 probe.win32: update for mingw
make.probe: add bash workaround to SHELLMAGIC test make.probe: add bash workaround to SHELLMAGIC test
package.sh: work around yet another cygwin hassle package.sh: work around yet another Cygwin hassle
02-10-17 iffe.sh: short circuit id check for *[-+/\\]* 02-10-17 iffe.sh: short circuit id check for *[-+/\\]*
02-10-08 regress.sh: unset FIGNORE to avoid rm . errors 02-10-08 regress.sh: unset FIGNORE to avoid rm . errors
package.sh: unset FIGNORE to avoid rm . errors package.sh: unset FIGNORE to avoid rm . errors
@ -543,7 +543,7 @@
iffe.sh: fix bug that didn't define mac variable on success iffe.sh: fix bug that didn't define mac variable on success
02-09-22 package.sh: handle admin_action=ditto 02-09-22 package.sh: handle admin_action=ditto
iffe.sh: --config sizeof(foo) macro is SIZEOF_foo iffe.sh: --config sizeof(foo) macro is SIZEOF_foo
iffe.sh: fix long.long test so it doesn't defeat uwin "typ long.long" iffe.sh: fix long.long test so it doesn't defeat UWIN "typ long.long"
mamprobe.sh: convert $("foo") nmake string constants mamprobe.sh: convert $("foo") nmake string constants
02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout 02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout
02-09-11 make.probe: move from nmake src to be part of mamprobe.sh 02-09-11 make.probe: move from nmake src to be part of mamprobe.sh
@ -564,7 +564,7 @@
Makefile: add LICENSE:.DONTCARE to workaround mam Makefile: add LICENSE:.DONTCARE to workaround mam
02-08-11 iffe.sh: provide defaults for LD_* additions 02-08-11 iffe.sh: provide defaults for LD_* additions
02-08-07 ratz.c: change -m to use * instead of non-portable inverse video 02-08-07 ratz.c: change -m to use * instead of non-portable inverse video
02-07-17 mamprobe.sh: close tmp file in trap before rm for cygwin 02-07-17 mamprobe.sh: close tmp file in trap before rm for Cygwin
package.sh: fix "type" to handle i1586 (P4) package.sh: fix "type" to handle i1586 (P4)
package.sh: add the view action package.sh: add the view action
02-06-28 package.sh: handle multiple packages for release action 02-06-28 package.sh: handle multiple packages for release action
@ -595,7 +595,7 @@
package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: } package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: }
package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: } package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: }
Makefile: move proto.c generation to the proto component dir Makefile: move proto.c generation to the proto component dir
02-02-02 execrate.sh: add for .exe challenged win32 systems/commands 02-02-02 execrate.sh: add for .exe challenged Win32 systems/commands
mamprobe.sh: add STD* commands/flags mamprobe.sh: add STD* commands/flags
mamake.c: update mamprobe info when older than mamprobe executable mamake.c: update mamprobe info when older than mamprobe executable
package.sh: move ed/ex workaround to mamprobe.sh package.sh: move ed/ex workaround to mamprobe.sh
@ -680,14 +680,14 @@
01-04-25 package.mk: include non cc-g variants by default 01-04-25 package.mk: include non cc-g variants by default
package.sh: *[._]* => *?[_.]* for mvs.390 /bin/sh package.sh: *[._]* => *?[_.]* for mvs.390 /bin/sh
01-04-24 TEST.mk: no tests for VARIANT=="DLL" 01-04-24 TEST.mk: no tests for VARIANT=="DLL"
01-04-22 package.mk,package.sh: tarball text members are ascii encoded 01-04-22 package.mk,package.sh: tarball text members are ASCII encoded
01-04-18 package.mk: allow package name to be the same as one of its components 01-04-18 package.mk: allow package name to be the same as one of its components
cc.mvs.390: handle .C .cpp .cxx cc.mvs.390: handle .C .cpp .cxx
cc.mvs.390: compensate for -o that does not overwrite cc.mvs.390: compensate for -o that does not overwrite
01-04-01 regress: fix SAME that just skipped it -- we should regress regress! 01-04-01 regress: fix SAME that just skipped it -- we should regress regress!
iffe: fix bug that didn't emit _hdr_foo for internal hdr tests iffe: fix bug that didn't emit _hdr_foo for internal hdr tests
iffe: fix lcl bug for cc -E that doesn't emit line syncs iffe: fix lcl bug for cc -E that doesn't emit line syncs
ratz: add ascii=>ebcdic conversion for text archive members ratz: add ASCII=>EBCDIC conversion for text archive members
mamake: fix buffer overlap bug that clobbered the probe file path mamake: fix buffer overlap bug that clobbered the probe file path
01-03-17 iffe: handle : separator as first arg 01-03-17 iffe: handle : separator as first arg
01-03-15 mamake.c,ratz.c,release.c: add <stdlib.h> and <string.h> 01-03-15 mamake.c,ratz.c,release.c: add <stdlib.h> and <string.h>
@ -700,7 +700,7 @@
package.sh: fix INIT a.out updates for knr cc package.sh: fix INIT a.out updates for knr cc
package.sh: package list now handles large tgz dirs package.sh: package list now handles large tgz dirs
package.sh: *-ok executables moved to ok/* for *.dll systems package.sh: *-ok executables moved to ok/* for *.dll systems
iffe.sh: change "exec >&-" to "exec >/dev/null" else linux mkdir fails! iffe.sh: change "exec >&-" to "exec >/dev/null" else Linux mkdir fails!
mamake: handle `bind -lx [dontcare]' mamake: handle `bind -lx [dontcare]'
01-02-12 ratz.c: fix _PACKAGE_ast includes 01-02-12 ratz.c: fix _PACKAGE_ast includes
package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/ package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/
@ -713,13 +713,13 @@
01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE 01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE
package.sh: create intermediate recursion makefiles when needed package.sh: create intermediate recursion makefiles when needed
package.sh: add $SECONDS to the DEBUG trace prompt package.sh: add $SECONDS to the DEBUG trace prompt
01-01-01 ratz.c: #ifdef for uwin ncc 01-01-01 ratz.c: #ifdef for UWIN ncc
iffe.sh,package.sh: check PACKAGE_PATH for local installations iffe.sh,package.sh: check PACKAGE_PATH for local installations
package.sh: add psrinfo for osf.alpha host cpu package.sh: add psrinfo for osf.alpha host cpu
package.sh: change pax --meter probe; some hang on /dev/tty package.sh: change pax --meter probe; some hang on /dev/tty
package.sh: fix `install flat ARCH' package.sh: fix `install flat ARCH'
mamake: eliminate loops from scan order mamake: eliminate loops from scan order
C+probe: add probe_verbose -V for aix cc=xlc C+probe: add probe_verbose -V for AIX cc=xlc
cc.ibm.risc,ldd.ibm.risc: add cc.ibm.risc,ldd.ibm.risc: add
package.mk: list refs to top-level licenses only package.mk: list refs to top-level licenses only
package.mk: add local link table to change log html package.mk: add local link table to change log html
@ -753,7 +753,7 @@
00-10-22 regress: fix VIEW to skip empty dirs 00-10-22 regress: fix VIEW to skip empty dirs
00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake => $(PACKAGEROOT)/bin/manmake 00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake => $(PACKAGEROOT)/bin/manmake
iffe: validate #define identifiers iffe: validate #define identifiers
00-10-18 C+probe: mac os10 additions 00-10-18 C+probe: Mac OS X additions
package: add DYLD_LIBRARY_PATH initialization package: add DYLD_LIBRARY_PATH initialization
add ldd.$(CC.HOSTTYPE) add ldd.$(CC.HOSTTYPE)
00-10-01 iffe: handle -I* -L* options 00-10-01 iffe: handle -I* -L* options
@ -800,7 +800,7 @@
package.mk: beef up source and binary help => html package.mk: beef up source and binary help => html
00-02-08 package: mkdir man/man[138] in the new arch to cover MAM bug 00-02-08 package: mkdir man/man[138] in the new arch to cover MAM bug
00-01-28 package,release: add -rcount to release 00-01-28 package,release: add -rcount to release
package: fix linux "host cpu" and "host rating" package: fix Linux "host cpu" and "host rating"
package: copy *.lic to $PACKAGEBIN for "make" and "write binary" package: copy *.lic to $PACKAGEBIN for "make" and "write binary"
package: fix 'release change log' case match package: fix 'release change log' case match
00-01-24 package: add copyright action 00-01-24 package: add copyright action
@ -851,7 +851,7 @@
98-10-01 hostinfo: add unixware.* 98-10-01 hostinfo: add unixware.*
use: export PACKAGE_* use: export PACKAGE_*
98-08-11 C.probe: add /usr/include check (for sco CC) 98-08-11 C.probe: add /usr/include check (for sco CC)
hostinfo: handle uwin uname update hostinfo: handle UWIN uname update
98-05-01 regress: fix bug sometimes didn't list last test 98-05-01 regress: fix bug sometimes didn't list last test
98-04-01 hostinfo: add cc path arg 98-04-01 hostinfo: add cc path arg
hostinfo: now works with /bin/sh hostinfo: now works with /bin/sh
@ -885,15 +885,15 @@
mm2html: differentiate mm/man in some non-obvious cases mm2html: differentiate mm/man in some non-obvious cases
hostinfo: r5000 is not mips4 hostinfo: r5000 is not mips4
97-02-14 hostinfo: validate type with cc 97-02-14 hostinfo: validate type with cc
96-12-25 C.probe: uwin tweaks 96-12-25 C.probe: UWIN tweaks
iffe: use `...` instead of $(...) for alpha /bin/sh iffe: use `...` instead of $(...) for alpha /bin/sh
iffe: fix `typ' divide by 0 iffe: fix `typ' divide by 0
iffe: `lcl' now drops X: prefix iffe: `lcl' now drops X: prefix
iffe: +l* -> -l* iffe: +l* -> -l*
iffe: eval around ${...#%...} for bsd /bin/sh iffe: eval around ${...#%...} for BSD /bin/sh
use: add sgi.mips LD_LIBRARY<abi>_PATH variants use: add sgi.mips LD_LIBRARY<abi>_PATH variants
use: add -e to list exports use: add -e to list exports
iffe: lcl leaves leading [a-zA-Z]: for dos iffe: lcl leaves leading [a-zA-Z]: for DOS
iffe: fix no{link|output|execute} logic iffe: fix no{link|output|execute} logic
C.probe: don't automatically add /usr/include for non-hosted compilers C.probe: don't automatically add /usr/include for non-hosted compilers
C.probe: don't automatically place /usr/include last C.probe: don't automatically place /usr/include last
@ -904,10 +904,10 @@
hostinfo: fix ncr.i386 tests hostinfo: fix ncr.i386 tests
96-10-31 iffe: work around old bsh here doc bug by running separate sh 96-10-31 iffe: work around old bsh here doc bug by running separate sh
96-10-11 iffe: *.iffe and *.iff for iffe src files 96-10-11 iffe: *.iffe and *.iff for iffe src files
hostinfo: tighten sgi.mips cpu type check hostinfo: tighten sgi.mips CPU type check
96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib 96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib
96-09-17 iffe: fix typ bug that failed for single id types! 96-09-17 iffe: fix typ bug that failed for single id types!
96-08-31 hostinfo: handle recent sgi hinv cpu changes 96-08-31 hostinfo: handle recent SGI hinv CPU changes
96-07-17 make sure sizeof(long xxx)>sizeof(xxx) for typ long.xxx 96-07-17 make sure sizeof(long xxx)>sizeof(xxx) for typ long.xxx
96-05-09 C.probe: drop multiple / in stdinclude 96-05-09 C.probe: drop multiple / in stdinclude
96-02-29 use: package root must have bin and lib subdir 96-02-29 use: package root must have bin and lib subdir
@ -917,8 +917,8 @@
96-01-31 use: add pkg dir 96-01-31 use: add pkg dir
hostinfo: add tandem hostinfo: add tandem
96-01-01 hostinfo: windows_nt|windows[0-9][0-9] -> win32 96-01-01 hostinfo: windows_nt|windows[0-9][0-9] -> win32
95-11-24 hostinfo: linux-aout.* for non-elf linux 95-11-24 hostinfo: linux-aout.* for non-ELF Linux
95-11-11 use: add aix LIBPATH 95-11-11 use: add AIX LIBPATH
95-10-11 hostinfo: no args prints type 95-10-11 hostinfo: no args prints type
95-08-11 use: add 95-08-11 use: add
95-05-09 save original PATH in _probe_PATH 95-05-09 save original PATH in _probe_PATH
@ -926,7 +926,7 @@
95-04-01 use c source suffix if it still preserves the dialect 95-04-01 use c source suffix if it still preserves the dialect
add hostinfo add hostinfo
add lib/hostinfo/typemap user type map add lib/hostinfo/typemap user type map
add sol.sun4 cpu count add sol.sun4 CPU count
fix C.probe to properly handle C/C++ combined compiler drivers fix C.probe to properly handle C/C++ combined compiler drivers
add NeXT to hostinfo add NeXT to hostinfo
bummer: mach has /usr/bin/hostinfo bummer: mach has /usr/bin/hostinfo

View file

@ -1,4 +1,4 @@
: linux.i386-64 ar wrapper : freebsd12.amd64 ar wrapper
case $1 in case $1 in
*x*) /usr/bin/ar "$@" ;; *x*) /usr/bin/ar "$@" ;;

View file

@ -1,8 +1,8 @@
: hp.ia64 cc wrapper for reasonable ansi C defaults : 2011-01-25 : : hp.ia64 cc wrapper for reasonable ANSI C defaults : 2011-01-25 :
[ /usr/bin/cc -ef /usr/ccs/bin/cc ] || exit 1 [ /usr/bin/cc -ef /usr/ccs/bin/cc ] || exit 1
: bundled cc -- really, in the face of gcc you ship a sub-par /usr/bin/cc? : : bundled cc -- really, in the face of gcc you ship a subpar /usr/bin/cc? :
HOSTTYPE=hp.ia64 HOSTTYPE=hp.ia64

View file

@ -1,4 +1,4 @@
: hp.pa cc wrapper for reasonable ansi C defaults : 2004-02-29 : : hp.pa cc wrapper for reasonable ANSI C defaults : 2004-02-29 :
HOSTTYPE=hp.pa HOSTTYPE=hp.pa

View file

@ -1,4 +1,4 @@
: hp.pa64 cc wrapper for reasonable ansi C defaults : 2001-02-11 : : hp.pa64 cc wrapper for reasonable ANSI C defaults : 2001-02-11 :
HOSTTYPE=hp.pa64 HOSTTYPE=hp.pa64

View file

@ -1,4 +1,4 @@
: cc wrapper for aix risc xlc : 2012-04-17 : : cc wrapper for AIX RISC xlc : 2012-04-17 :
hosttype=ibm.risc hosttype=ibm.risc
@ -33,7 +33,7 @@ case " $@ " in
;; ;;
esac esac
if test -x $bin/c99 if test -x $bin/c99
then # the xlc optimizer vintage that supports c99 is flawed and causes the ast build to fail # then # the xlc optimizer vintage that supports c99 is flawed and causes the AST build to fail #
case " $* " in case " $* " in
*" -O "*) *" -O "*)
set '' "$@" '' set '' "$@" ''

View file

@ -1,4 +1,4 @@
: cc wrapper for aix risc gcc : 2012-04-17 : : cc wrapper for AIX RISC gcc : 2012-04-17 :
hosttype=ibm.risc hosttype=ibm.risc

View file

@ -1,4 +1,4 @@
: linux.ia64 icc wrapper : 2021-01-31 : : linux.i386 icc wrapper : 2021-01-31 :
HOSTTYPE=linux.ia64-icc HOSTTYPE=linux.ia64-icc

View file

@ -1,4 +1,4 @@
: mvs.390 cc wrapper for unix message and exit code semantics : 2012-01-20 : : mvs.390 cc wrapper for Unix message and exit code semantics : 2012-01-20 :
HOSTTYPE=mvs.390 HOSTTYPE=mvs.390

View file

@ -1,4 +1,4 @@
: next.i386 cc wrapper for unix message and exit code semantics : 1995-05-09 : : next.i386 cc wrapper for Unix message and exit code semantics : 1995-05-09 :
HOSTTYPE=next.i386 HOSTTYPE=next.i386

View file

@ -1,4 +1,4 @@
: next.m68k cc wrapper that enables posix : 2000-12-15 : : next.m68k cc wrapper that enables POSIX : 2000-12-15 :
HOSTTYPE=next.m68k HOSTTYPE=next.m68k

View file

@ -1,4 +1,4 @@
: sgi.mips2 cc wrapper that generates mips2 binaries : 2006-02-14 : : sgi.mips2 cc wrapper that generates MIPS II binaries : 2006-02-14 :
HOSTTYPE=sgi.mips2 HOSTTYPE=sgi.mips2

View file

@ -1,4 +1,4 @@
: sgi.mips3 cc wrapper that generates mips3 binaries : 2007-04-27 : : sgi.mips3 cc wrapper that generates MIPS III binaries : 2007-04-27 :
HOSTTYPE=sgi.mips3 HOSTTYPE=sgi.mips3

View file

@ -1,4 +1,4 @@
: sgi.mips3-o32 cc wrapper that generates mips3 o32 binaries : 2006-02-14 : : sgi.mips3-o32 cc wrapper that generates MIPS III O32 binaries : 2006-02-14 :
HOSTTYPE=sgi.mips3-o32 HOSTTYPE=sgi.mips3-o32

View file

@ -1,4 +1,4 @@
: sgi.mips4 cc wrapper that generates mips4 binaries : 2007-04-27 : : sgi.mips4 cc wrapper that generates MIPS IV binaries : 2007-04-27 :
HOSTTYPE=sgi.mips4 HOSTTYPE=sgi.mips4

View file

@ -1,4 +1,4 @@
: sgi.mips4-n32 cc wrapper that generates mips4 n32 binaries : 2006-02-14 : : sgi.mips4-n32 cc wrapper that generates MIPS IV N32 binaries : 2006-02-14 :
HOSTTYPE=sgi.mips4-n32 HOSTTYPE=sgi.mips4-n32

View file

@ -18,7 +18,7 @@
# Glenn Fowler <gsf@research.att.com> # # Glenn Fowler <gsf@research.att.com> #
# # # #
######################################################################## ########################################################################
: wrapper for .exe challenged win32 systems/commands : wrapper for .exe challenged Win32 systems/commands
(command set -o posix) 2>/dev/null && set -o posix (command set -o posix) 2>/dev/null && set -o posix
@ -43,8 +43,8 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
[-license?http://www.eclipse.org/org/documents/epl-v10.html] [-license?http://www.eclipse.org/org/documents/epl-v10.html]
[+NAME?execrate - wrapper for .exe challenged commands] [+NAME?execrate - wrapper for .exe challenged commands]
[+DESCRIPTION?\bexecrate\b runs \acommand\a after checking the \afile\a [+DESCRIPTION?\bexecrate\b runs \acommand\a after checking the \afile\a
operands for standard semantics with respect to \bwin32\b \b.exe\b operands for standard semantics with respect to \bWin32\b \b.exe\b
suffix conventions. This command is only needed on \bwin32\b suffix conventions. This command is only needed on \bWin32\b
systems that inconsistently handle \b.exe\b across library and systems that inconsistently handle \b.exe\b across library and
command interfaces. \acommand\a may be one of \bcat\b(1), \bchmod\b(1), command interfaces. \acommand\a may be one of \bcat\b(1), \bchmod\b(1),
\bcmp\b(1), \bcp\b(1), \bln\b(1), \bmv\b(1), or \brm\b(1). \bcmp\b(1), \bcp\b(1), \bln\b(1), \bmv\b(1), or \brm\b(1).

View file

@ -24,7 +24,7 @@
# test if feature exists # test if feature exists
# this script is written to make it through all sh variants # this script is written to make it through all sh variants
# #
# NOTE: .exe a.out suffix and [\\/] in path patterns for dos/nt # NOTE: .exe a.out suffix and [\\/] in path patterns for DOS/NT
(command set -o posix) 2>/dev/null && set -o posix (command set -o posix) 2>/dev/null && set -o posix
case `uname -s` in case `uname -s` in
@ -936,7 +936,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
happy.] happy.]
[+?The feature tests are:]{ [+?The feature tests are:]{
[+# \acomment\a?Comment line - ignored.] [+# \acomment\a?Comment line - ignored.]
[+api \aname\a \aYYYYMMDD\a \asymbol ...\a?Emit api compatibility tests [+api \aname\a \aYYYYMMDD\a \asymbol ...\a?Emit API compatibility tests
for \aname\a and \b#define\b \asymbol\a \asymbol\a_\aYYYYMMDD\a for \aname\a and \b#define\b \asymbol\a \asymbol\a_\aYYYYMMDD\a
when \aNAME\a_API is >= \aYYYYMMDD\a (\aNAME\a is \aname\a when \aNAME\a_API is >= \aYYYYMMDD\a (\aNAME\a is \aname\a
converted to upper case). If \aNAME\a_API is not defined converted to upper case). If \aNAME\a_API is not defined
@ -3084,7 +3084,7 @@ int x;
map= map=
sep= sep=
eval syms='"${'api_sym_${api}'}"' eval syms='"${'api_sym_${api}'}"'
# old solaris requires -k<space><junk> # # old Solaris requires -k<space><junk> #
set x x `echo "$syms" | sort -t: -u -k 1,1 -k 2,2nr 2>/dev/null | sed 's/:/ /'` set x x `echo "$syms" | sort -t: -u -k 1,1 -k 2,2nr 2>/dev/null | sed 's/:/ /'`
case $# in case $# in
2) # ancient sort doesn't have -k # 2) # ancient sort doesn't have -k #

View file

@ -1,5 +1,5 @@
#!/bin/env sh #!/bin/env sh
: cygwin.i386 ldd -- how many ways does this confirm the windows bias? : cygwin.i386 ldd -- how many ways does this confirm the Windows bias?
for f for f
do case $f in do case $f in
*.exe) ;; *.exe) ;;

View file

@ -1,2 +1,2 @@
: mac os10 ldd : Mac OS X ldd
otool -L "$@" otool -L "$@"

View file

@ -89,7 +89,7 @@ echo '#if mips && !sgi || __CYGWIN__
CONST char x[]={1,2,3,4,5,6,7,8,9,0}; CONST char x[]={1,2,3,4,5,6,7,8,9,0};
int main(){*(char*)x=0; return x[0];} int main(){*(char*)x=0; return x[0];}
#endif' > readonly.$src #endif' > readonly.$src
# NOTE: sfclose() defined on uwin, not defined on all other systems # NOTE: sfclose() defined on UWIN, not defined on all other systems
echo 'extern int sfclose(); extern int ShareD(){return(sfclose());}' > shared.$src echo 'extern int sfclose(); extern int ShareD(){return(sfclose());}' > shared.$src
echo '#define g(a,b) a ## b echo '#define g(a,b) a ## b
volatile int a; volatile int a;
@ -404,7 +404,7 @@ int main() { f(); return 0; }' > picok.$src
} }
case $1 in case $1 in
-Wc,*exportall*) -Wc,*exportall*)
# get specific since sgi gets this far too # get specific since SGI gets this far too
rm -f pic.$exe pic.x rm -f pic.$exe pic.x
$cc -Wl,dll -o pic.$exe pic.$obj || continue $cc -Wl,dll -o pic.$exe pic.$obj || continue
test -f pic.$exe || continue test -f pic.$exe || continue
@ -660,7 +660,7 @@ case $cc_dll:$cc_pic:$so:$dynamic:$static in
if $cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=xxx.lib -o xxx.dll exp.$obj && if $cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=xxx.lib -o xxx.dll exp.$obj &&
test -f xxx.lib -a -f xxx.dll test -f xxx.lib -a -f xxx.dll
then then
: cygwin : Cygwin
cc_dll=$cc_dll_def cc_dll=$cc_dll_def
dll_dir='$(BINDIR)' dll_dir='$(BINDIR)'
sd=.dll sd=.dll
@ -1445,7 +1445,7 @@ case $stdlib in
ok=0 ok=0
for x in $xs for x in $xs
do case $x in do case $x in
*_p) continue ;; # linux gcc known to hang for -lc_p *_p) continue ;; # Linux gcc known to hang for -lc_p
esac esac
if $cc -o doti.$exe doti.$obj -l$x 2>e if $cc -o doti.$exe doti.$obj -l$x 2>e
then ok=1 then ok=1

View file

@ -1153,7 +1153,7 @@ input(void)
/* /*
* pass shell action s to ${SHELL:-/bin/sh} * pass shell action s to ${SHELL:-/bin/sh}
* the -c wrapper ensures that scripts are run in the selected shell * the -c wrapper ensures that scripts are run in the selected shell
* even on systems that otherwise demand #! magic (can you say cygwin) * even on systems that otherwise demand #! magic (can you say Cygwin)
*/ */
static int static int

View file

@ -159,7 +159,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
initialized. \bCC\b, \bCCFLAGS\b, \bHOSTTYPE\b and \bSHELL\b may be set initialized. \bCC\b, \bCCFLAGS\b, \bHOSTTYPE\b and \bSHELL\b may be set
by explicit command argument assignments to override the defaults.] by explicit command argument assignments to override the defaults.]
[+?Packages are composed of components. Each component is built and [+?Packages are composed of components. Each component is built and
installed by an \bast\b \bnmake\b(1) makefile. Each package is also installed by an \bAST\b \bnmake\b(1) makefile. Each package is also
described by an \bnmake\b makefile that lists its components and described by an \bnmake\b makefile that lists its components and
provides a content description. The package makefile and component provides a content description. The package makefile and component
makefiles provide all the information required to read, write, build makefiles provide all the information required to read, write, build
@ -271,10 +271,10 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
{ {
[+canon \aname\a?An external host type name to be [+canon \aname\a?An external host type name to be
converted to \bpackage\b syntax.] converted to \bpackage\b syntax.]
[+cpu?The number of cpus; 1 if the host is not a [+cpu?The number of CPUs; 1 if the host is not a
multiprocessor.] multiprocessor.]
[+name?The host name.] [+name?The host name.]
[+rating?The cpu rating in pseudo mips; the value is [+rating?The CPU rating in pseudo mips; the value is
useful useful only in comparisons with rating values of useful useful only in comparisons with rating values of
other hosts. Other than a vax rating (mercifully) fixed other hosts. Other than a vax rating (mercifully) fixed
at 1, ratings can vary wildly but consistently from at 1, ratings can vary wildly but consistently from
@ -405,7 +405,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
matches for a given file then the mode, user and group are matches for a given file then the mode, user and group are
changed as necessary to match the checksum entry. A warning is changed as necessary to match the checksum entry. A warning is
printed on the standard error for each mismatch. Requires the printed on the standard error for each mismatch. Requires the
\bast\b package \bcksum\b(1) command.] \bAST\b package \bcksum\b(1) command.]
[+view\b?Initialize the architecture specific viewpath [+view\b?Initialize the architecture specific viewpath
hierarchy. If \bflat\b is specified then the \b$INSTALLROOT\b { hierarchy. If \bflat\b is specified then the \b$INSTALLROOT\b {
bin fun include lib } directories are linked to the same bin fun include lib } directories are linked to the same
@ -428,12 +428,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
packages are written first. Package components must be listed packages are written first. Package components must be listed
in \apackage\a\b.pkg\b. \aformat\a may be one of:] in \apackage\a\b.pkg\b. \aformat\a may be one of:]
{ {
[+cyg?Generate a \bcygwin\b package.] [+cyg?Generate a \bCygwin\b package.]
[+exp?Generate an \bexptools\b maintainer source [+exp?Generate an \bexptools\b maintainer source
archive and \aNPD\a file, suitable for \bexpmake\b(1)] archive and \aNPD\a file, suitable for \bexpmake\b(1)]
[+lcl?Generate a package archive suitable for [+lcl?Generate a package archive suitable for
restoration into the local source tree (i.e., the restoration into the local source tree (i.e., the
source is not annotated for licencing).] source is not annotated for licensing).]
[+pkg?Generate a \bpkgmk\b(1) package suitable for [+pkg?Generate a \bpkgmk\b(1) package suitable for
\bpkgadd\b(1).] \bpkgadd\b(1).]
[+rpm?Generate an \brpm\b(1) package.] [+rpm?Generate an \brpm\b(1) package.]
@ -452,7 +452,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
[+?A package may be either a \bbase\b or \bdelta\b. A base [+?A package may be either a \bbase\b or \bdelta\b. A base
package contains a complete copy of all components. A delta package contains a complete copy of all components. A delta
package contains only changes from a previous base package. package contains only changes from a previous base package.
Delta recipients must have the \bast\b \bpax\b(1) command (in Delta recipients must have the \bAST\b \bpax\b(1) command (in
the \bast-base\b package). If neither \bbase\b nor \bdelta\b is the \bast-base\b package). If neither \bbase\b nor \bdelta\b is
specified, then the current base is overwritten if there are no specified, then the current base is overwritten if there are no
deltas referring to the current base. Only the \btgz\b and deltas referring to the current base. Only the \btgz\b and
@ -493,12 +493,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
closure of component makefile dependencies.] closure of component makefile dependencies.]
[+?\b$PACKAGEROOT/lib/package\b contains package specific files. The [+?\b$PACKAGEROOT/lib/package\b contains package specific files. The
package naming convention is \agroup\a[-\apart\a]]; e.g., \bast-base\b, package naming convention is \agroup\a[-\apart\a]]; e.g., \bast-base\b,
\bgnu-fileutils\b. The *\b.pkg\b files are ast \bnmake\b(1) makefiles \bgnu-fileutils\b. The *\b.pkg\b files are AST \bnmake\b(1) makefiles
that contain the package name, package components, references to other that contain the package name, package components, references to other
packages, and a short package description. *\b.pkg\b files are used by packages, and a short package description. *\b.pkg\b files are used by
\bpackage write\b to generate new source and binary packages.] \bpackage write\b to generate new source and binary packages.]
[+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license [+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license
information that is used by the \bast\b \bproto\b(1) and \bnmake\b(1) information that is used by the \bAST\b \bproto\b(1) and \bnmake\b(1)
commands to generate source and binary license strings. \agroup\a is commands to generate source and binary license strings. \agroup\a is
determined by the first \b:PACKAGE:\b operator name listed in the determined by the first \b:PACKAGE:\b operator name listed in the
component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the
@ -534,12 +534,12 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
against \b$HOSTTYPE\b when making binaries; these are limited to against \b$HOSTTYPE\b when making binaries; these are limited to
makefile compiler workarounds, e.g., if \b$HOSTTYPE\b matches \bhp.*\b makefile compiler workarounds, e.g., if \b$HOSTTYPE\b matches \bhp.*\b
then turn off the optimizer for these objects. All other architecture then turn off the optimizer for these objects. All other architecture
dependent logic is handled either by the \bast\b \biffe\b(1) command or dependent logic is handled either by the \bAST\b \biffe\b(1) command or
by component specific configure scripts. Explicit \b$HOSTYPE\b by component specific configure scripts. Explicit \b$HOSTYPE\b
values matching *,*cc*[,-*,...]] optionally set the default \bCC\b and values matching *,*cc*[,-*,...]] optionally set the default \bCC\b and
\bCCFLAGS\b. This is handy for build farms that support different \bCCFLAGS\b. This is handy for build farms that support different
compilers on the same architecture.] compilers on the same architecture.]
[+?Each component contains an \bast\b \bnmake\b(1) makefile (either [+?Each component contains an \bAST\b \bnmake\b(1) makefile (either
\bNmakefile\b or \bMakefile\b) and a \bMAM\b (make abstract machine) \bNmakefile\b or \bMakefile\b) and a \bMAM\b (make abstract machine)
file (\bMamfile\b). A Mamfile contains a portable makefile description file (\bMamfile\b). A Mamfile contains a portable makefile description
that is used by \bmamake\b(1) to simulate \bnmake\b. Currently there is that is used by \bmamake\b(1) to simulate \bnmake\b. Currently there is
@ -556,7 +556,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
\bproto\b(1) converts an ANSI C subset to code that is compatible with \bproto\b(1) converts an ANSI C subset to code that is compatible with
K&R, ANSI, and C++ dialects.] K&R, ANSI, and C++ dialects.]
[+?All scripts and commands under \b$PACKAGEROOT\b use \b$PATH\b [+?All scripts and commands under \b$PACKAGEROOT\b use \b$PATH\b
relative pathnames (via the \bast\b \bpathpath\b(3) function); there relative pathnames (via the \bAST\b \bpathpath\b(3) function); there
are no embedded absolute pathnames. This means that binaries generated are no embedded absolute pathnames. This means that binaries generated
under \b$PACKAGEROOT\b may be copied to a different root; users need under \b$PACKAGEROOT\b may be copied to a different root; users need
only change their \b$PATH\b variable to reference the new installation only change their \b$PATH\b variable to reference the new installation
@ -1044,7 +1044,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
and rsh(1) access. and rsh(1) access.
[remote:[[master]:]]PACKAGEROOT [remote:[[master]:]]PACKAGEROOT
The absolute remote package root directory and The absolute remote package root directory and
optionally the remote prorocol (rsh or ssh) if optionally the remote protocol (rsh or ssh) if
the directory is on a different server than the the directory is on a different server than the
master package root directory. If master package root directory. If
lib/package/admin/$admin_env exists under lib/package/admin/$admin_env exists under
@ -1092,10 +1092,10 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
order. The attributes are: order. The attributes are:
canon The next argument is a host type name to be canon The next argument is a host type name to be
converted to package syntax. converted to package syntax.
cpu The number of cpus; 1 if the host is not a cpu The number of CPUs; 1 if the host is not a
multiprocessor. multiprocessor.
name The host name. name The host name.
rating The cpu rating in pseudo mips; the value is useful rating The CPU rating in pseudo mips; the value is useful
useful only in comparisons with rating values of useful only in comparisons with rating values of
other hosts. Other than a vax rating fixed at 1, other hosts. Other than a vax rating fixed at 1,
ratings can vary wildly but consistently from ratings can vary wildly but consistently from
@ -1224,7 +1224,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
mode, user and group information. If the checksum matches mode, user and group information. If the checksum matches
for a given file then the mode, user and group are changed for a given file then the mode, user and group are changed
as necessary to match the checksum entry. A warning is printed as necessary to match the checksum entry. A warning is printed
on the standard error for each mismatch. Requires the ast on the standard error for each mismatch. Requires the AST
package cksum(1) command. package cksum(1) command.
view view
Initialize the architecture specific viewpath hierarchy. The Initialize the architecture specific viewpath hierarchy. The
@ -1237,7 +1237,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
Write a package archive for PACKAGE. All work is done in the Write a package archive for PACKAGE. All work is done in the
\$PACKAGEROOT/lib/package directory. FORMAT-specific files \$PACKAGEROOT/lib/package directory. FORMAT-specific files
are placed in the FORMAT subdirectory. A PACKAGE[.TYPE].tim are placed in the FORMAT subdirectory. A PACKAGE[.TYPE].tim
file in this directory tracksthe write time and prevents a file in this directory tracks the write time and prevents a
package from being read in the same root it was written. If package from being read in the same root it was written. If
more than one file is generated for a particular FORMAT then more than one file is generated for a particular FORMAT then
those files are placed in the FORMAT/PACKAGE subdirectory. those files are placed in the FORMAT/PACKAGE subdirectory.
@ -1248,7 +1248,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
only the named packages will be written; otherwise only the named packages will be written; otherwise
prerequisite packages are written first. Package components prerequisite packages are written first. Package components
must be listed in PACKAGE.pkg. FORMAT may be one of: must be listed in PACKAGE.pkg. FORMAT may be one of:
cyg generate a cygwin package cyg generate a Cygwin package
exp generate an exptools(1) maintainer source archive exp generate an exptools(1) maintainer source archive
and NPD file in the exp subdirectory, suitable for and NPD file in the exp subdirectory, suitable for
expmake(1); support files are placed in the expmake(1); support files are placed in the
@ -1271,7 +1271,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
be either a base or delta. A base package contains a be either a base or delta. A base package contains a
complete copy of all components. A delta package contains complete copy of all components. A delta package contains
only changes from a previous base package. Delta recipients only changes from a previous base package. Delta recipients
must have the ast pax(1) command (in the ast-base package). must have the AST pax(1) command (in the ast-base package).
If neither base nor delta is specified, then the current If neither base nor delta is specified, then the current
base is overwritten if there are no deltas referring to the base is overwritten if there are no deltas referring to the
current base. Only the tgz and lcl formats support delta. current base. Only the tgz and lcl formats support delta.
@ -1600,7 +1600,7 @@ executable() # [!] command
} }
# initialize SHELLMAGIC # initialize SHELLMAGIC
# tangible proof of cygwin's disdain for unix (well, this and execrate) # tangible proof of Cygwin's disdain for Unix (well, this and execrate)
shellmagic() shellmagic()
{ {
@ -3243,7 +3243,7 @@ if test -r $INSTALLROOT/lib/package/profile
then . $INSTALLROOT/lib/package/profile then . $INSTALLROOT/lib/package/profile
fi fi
# more cygwin hassles # more Cygwin hassles
case $HOSTTYPE in case $HOSTTYPE in
cygwin.*) cygwin.*)
@ -3270,7 +3270,7 @@ cygwin.*)
;; ;;
esac esac
case $lose in case $lose in
?*) echo "$command: $HOSTTYPE: export '$lose' in CYGWIN or languish in windows" >&2 ?*) echo "$command: $HOSTTYPE: export '$lose' in CYGWIN or languish in Windows" >&2
exit 1 exit 1
;; ;;
esac esac
@ -4385,7 +4385,7 @@ checksrc()
esac esac
} }
# check for native ascii 0:yes 1:no # check for native ASCII 0:yes 1:no
__isascii__= __isascii__=
@ -4928,7 +4928,7 @@ admin) while test ! -f $admin_db
;; ;;
*) case " $hosts " in *) case " $hosts " in
*" $2 "*) *" $2 "*)
: ast date command assumed : : AST date command assumed :
E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $admin_log/$2 | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\`` E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $admin_log/$2 | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\``
M=$6 T=$7 W=$8 M=$6 T=$7 W=$8
case $admin_action in case $admin_action in

View file

@ -1,8 +1,8 @@
: :
# @(#)probe.win32 (AT&T Research) 2010-01-01 # @(#)probe.win32 (AT&T Research) 2010-01-01
# #
# win32 specific make C probe initialization # Win32 specific make C probe initialization
# wrapped cc's are easy on uwin # wrapped cc's are easy on UWIN
# #
# 2> easy.err to avoid mysterious hang with bcc # 2> easy.err to avoid mysterious hang with bcc

View file

@ -2,7 +2,7 @@
* ratz -- read a tar gzip archive from the standard input * ratz -- read a tar gzip archive from the standard input
* *
* coded for portability * coded for portability
* _SEAR_* macros for win32 self extracting archives -- see sear(1). * _SEAR_* macros for Win32 self extracting archives -- see sear(1).
*/ */
#pragma clang diagnostic ignored "-Wdeprecated-register" #pragma clang diagnostic ignored "-Wdeprecated-register"
#pragma clang diagnostic ignored "-Wparentheses" #pragma clang diagnostic ignored "-Wparentheses"
@ -38,8 +38,8 @@ static const char usage[] =
#endif #endif
"[l:local?Reject files that traverse outside the current directory.]" "[l:local?Reject files that traverse outside the current directory.]"
"[m:meter?Display a one line text meter showing archive read progress.]" "[m:meter?Display a one line text meter showing archive read progress.]"
"[n!:convert?In ebcdic environments convert text archive members from ascii" "[n!:convert?In EBCDIC environments convert text archive members from ASCII"
" to the native ebcdic.]" " to the native EBCDIC.]"
"[t:list?List each file path on the standard output but do not extract.]" "[t:list?List each file path on the standard output but do not extract.]"
"[v:verbose?List each file path on the standard output as it is extracted.]" "[v:verbose?List each file path on the standard output as it is extracted.]"
"[V?Print the program version and exit.]" "[V?Print the program version and exit.]"
@ -305,9 +305,9 @@ static const char usage[] =
# endif # endif
#endif #endif
/* The following definitions for FAR are needed only for MSDOS mixed /* The following definitions for FAR are needed only for MS-DOS mixed
* model programming (small or medium model with some far allocations). * model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have * This was tested only with MSC; for other MS-DOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model, * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty. * just define FAR to be empty.
*/ */
@ -473,7 +473,7 @@ typedef uLong FAR uLongf;
stream interface. stream interface.
Compression can be done in a single step if the buffers are large Compression can be done in a single step if the buffers are large
enough (for example if an input file is mmap'ed), or can be done by enough (for example if an input file is mmap'd), or can be done by
repeated calls of the compression function. In the latter case, the repeated calls of the compression function. In the latter case, the
application must provide more input and/or consume the output application must provide more input and/or consume the output
(providing more output space) before each call. (providing more output space) before each call.
@ -764,7 +764,7 @@ typedef unsigned long ulg;
# define HAVE_MEMCPY # define HAVE_MEMCPY
#endif #endif
#ifdef HAVE_MEMCPY #ifdef HAVE_MEMCPY
# ifdef SMALL_MEDIUM /* MSDOS small or medium model */ # ifdef SMALL_MEDIUM /* MS-DOS small or medium model */
# define zmemcpy _fmemcpy # define zmemcpy _fmemcpy
# define zmemcmp _fmemcmp # define zmemcmp _fmemcmp
# define zmemzero(dest, len) _fmemset(dest, 0, len) # define zmemzero(dest, len) _fmemset(dest, 0, len)
@ -876,7 +876,7 @@ typedef struct ptr_table_s {
local ptr_table table[MAX_PTR]; local ptr_table table[MAX_PTR];
/* This table is used to remember the original form of pointers /* This table is used to remember the original form of pointers
* to large buffers (64K). Such pointers are normalized with a zero offset. * to large buffers (64K). Such pointers are normalized with a zero offset.
* Since MSDOS is not a preemptive multitasking OS, this table is not * Since MS-DOS is not a preemptive multitasking OS, this table is not
* protected from concurrent access. This hack doesn't work anyway on * protected from concurrent access. This hack doesn't work anyway on
* a protected system like OS/2. Use Microsoft C instead. * a protected system like OS/2. Use Microsoft C instead.
*/ */
@ -1316,7 +1316,7 @@ typedef struct internal_state {
* bytes. With this organization, matches are limited to a distance of * bytes. With this organization, matches are limited to a distance of
* wSize-MAX_MATCH bytes, but this ensures that IO is always * wSize-MAX_MATCH bytes, but this ensures that IO is always
* performed with a length multiple of the block size. Also, it limits * performed with a length multiple of the block size. Also, it limits
* the window size to 64K, which is quite useful on MSDOS. * the window size to 64K, which is quite useful on MS-DOS.
* To do: use the user input buffer as sliding window. * To do: use the user input buffer as sliding window.
*/ */
@ -2007,7 +2007,7 @@ unsigned short FAR *work;
- Pentium III (Anderson) - Pentium III (Anderson)
- M68060 (Nikl) - M68060 (Nikl)
*/ */
#undef OFF /* (ancient) sunos <locale.h> */ #undef OFF /* (ancient) SunOS <locale.h> */
#ifdef POSTINC #ifdef POSTINC
# define OFF 0 # define OFF 0
# define PUP(a) *(a)++ # define PUP(a) *(a)++
@ -3620,7 +3620,7 @@ typedef voidp gzFile;
static int const gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */ static int const gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */
/* gzip flag byte */ /* gzip flag byte */
#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */ #define ASCII_FLAG 0x01 /* bit 0 set: file probably ASCII text */
#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */ #define HEAD_CRC 0x02 /* bit 1 set: header CRC present */
#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */ #define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
#define ORIG_NAME 0x08 /* bit 3 set: original file name present */ #define ORIG_NAME 0x08 /* bit 3 set: original file name present */
@ -3980,7 +3980,7 @@ int ZEXPORT gzread (file, buf, len)
{ {
gz_stream *s = (gz_stream*)file; gz_stream *s = (gz_stream*)file;
Bytef *start = (Bytef*)buf; /* starting point for crc computation */ Bytef *start = (Bytef*)buf; /* starting point for crc computation */
Byte *next_out; /* == stream.next_out but not forced far (for MSDOS) */ Byte *next_out; /* == stream.next_out but not forced far (for MS-DOS) */
if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR; if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR;
@ -4341,7 +4341,7 @@ static const unsigned char a2i[] =
}; };
/* /*
* the mvs OpenEdition EBCDIC table * the MVS OpenEdition EBCDIC table
*/ */
static const unsigned char a2o[] = static const unsigned char a2o[] =
@ -4381,7 +4381,7 @@ static const unsigned char a2o[] =
}; };
/* /*
* ascii text vs. control * ASCII text vs. control
*/ */
static const unsigned char ascii_text[] = static const unsigned char ascii_text[] =
@ -4537,7 +4537,7 @@ sear_rm_r(char* dir)
} }
/* /*
* system(3) without PATH search that should work on all windows variants * system(3) without PATH search that should work on all Windows variants
*/ */
static int static int

View file

@ -5,6 +5,6 @@
10-04-01 pty: add --tty='stty-settings' 10-04-01 pty: add --tty='stty-settings'
10-03-19 pty: add --dialogue 10-03-19 pty: add --dialogue
10-03-15 pty: fix select() fd management 10-03-15 pty: fix select() fd management
09-03-31 features/pty,Makefile: add pty.h and -lutil refs for linux -- great, another util library 09-03-31 features/pty,Makefile: add pty.h and -lutil refs for Linux -- great, another util library
09-01-30 pty.c: add <ast_time.h> (for fd_set!! on mvs.390) 09-01-30 pty.c: add <ast_time.h> (for fd_set!! on mvs.390)
06-07-20 pty.c: add 06-07-20 pty.c: add

View file

@ -205,7 +205,7 @@ omitted features that are completely upward compatible.
for trap without arguments has a format that can be used as input. for trap without arguments has a format that can be used as input.
6. With ksh-88, a dollar sign ($') followed by a single quote was 6. With ksh-88, a dollar sign ($') followed by a single quote was
interpreted literally. Now it is an ANSI-C string. You interpreted literally. Now it is an ANSI C string. You
must quote the dollar sign to get the previous behavior. must quote the dollar sign to get the previous behavior.
Also, a $ in front of a " indicates that the string needs Also, a $ in front of a " indicates that the string needs
to be translated for locales other than C or POSIX. The $ to be translated for locales other than C or POSIX. The $

View file

@ -14,7 +14,7 @@ performed at shell-level without a significant loss in performance.
In addition, "sh" scripts can be run on KSH-93 without modification. In addition, "sh" scripts can be run on KSH-93 without modification.
.P .P
The code should conform to the IEEE POSIX 1003.1 standard and to the The code should conform to the IEEE POSIX 1003.1 standard and to the
proposed ANSI-C standard so that it should be portable to all proposed ANSI C standard so that it should be portable to all
such systems. Like the previous version, KSH-88, such systems. Like the previous version, KSH-88,
it is designed to accept eight bit character sets it is designed to accept eight bit character sets
transparently, thereby making it internationally compatible. transparently, thereby making it internationally compatible.

View file

@ -1,5 +1,5 @@
This directory, and its subdirectories contain the source code This directory, and its subdirectories contain the source code
for ksh-93; the language described in the second addition of for ksh-93; the language described in the second edition of
the book, "The KornShell Command and Programming Language," by the book, "The KornShell Command and Programming Language," by
Morris Bolsky and David Korn which is published by Prentice Hall. Morris Bolsky and David Korn which is published by Prentice Hall.
ksh-93 has been compiled and run on several machines with several ksh-93 has been compiled and run on several machines with several
@ -89,7 +89,7 @@ The options have the following defaults and meanings:
HISTEXPAND on Enable !-style history expansion similar to csh(1). HISTEXPAND on Enable !-style history expansion similar to csh(1).
KIA off Allow generation of shell cross reference database with -R. KIA off Allow generation of shell cross-reference database with -R.
As of 2021-05-10, no tool that can parse this database is As of 2021-05-10, no tool that can parse this database is
known. If you know of any, please contact us. known. If you know of any, please contact us.
@ -208,9 +208,8 @@ and want to be able to run setuid/setgid and execute only scripts, then
you will have to change the source code file sh/suid_exec.c explicitly. you will have to change the source code file sh/suid_exec.c explicitly.
If you do not have ksh in one of these secure locations, /bin/sh will If you do not have ksh in one of these secure locations, /bin/sh will
be invoked with the -p options and will fail when you execute a setuid/setgid be invoked with the -p options and will fail when you execute a setuid/setgid
and/or execute only script. Note, that ksh does not read the .profile and/or execute only script. Note that ksh does not read the .profile
or $ENV file when it the real and effective user/group id's are not or $ENV file when the real and effective user/group IDs are not equal.
equal.
#### TESTING KSH #### #### TESTING KSH ####
@ -256,13 +255,13 @@ failures (crashes, and/or important functionality does not work).
GNU/Linux: Slackware 14.2 on x86_64 GNU/Linux: Slackware 14.2 on x86_64
GNU/Linux: Ubuntu 16.04 on x86_64 GNU/Linux: Ubuntu 16.04 on x86_64
GNU/Linux: Ubuntu 18.04 on armv7l (32-bit) GNU/Linux: Ubuntu 18.04 on armv7l (32-bit)
GNU/Linux: Ubuntu 20.04 on aarch64 GNU/Linux: Ubuntu 20.04 on arm64
GNU/Linux: Void Linux (musl C library) on x86_64 GNU/Linux: Void Linux (musl C library) on x86_64
*** HP-UX B.11.11 on pa-risc *** HP-UX B.11.11 on pa-risc
* illumos: OmniOS 2020-08-19 (gcc) on x86_64 * illumos: OmniOS 2020-08-19 (gcc) on x86_64
macOS 10.13.6 (High Sierra) on x86_64 macOS 10.13.6 (High Sierra) on x86_64
macOS 10.14.6 (Mojave) on x86_64 macOS 10.14.6 (Mojave) on x86_64
* macOS 12.0.1 (Monterey) on ARM64 * macOS 12.0.1 (Monterey) on arm64
* NetBSD 8.1 on x86_64 * NetBSD 8.1 on x86_64
* NetBSD 9.2 on x86_64 * NetBSD 9.2 on x86_64
* OpenBSD 6.8 on x86_64 * OpenBSD 6.8 on x86_64

View file

@ -73,7 +73,7 @@ ____
directory if they are killed or stopped. directory if they are killed or stopped.
12-06-04 A bug in handling \\ in read has been fixed. 12-06-04 A bug in handling \\ in read has been fixed.
12-05-31 Use getrlimit64/setrlimit64 on systems that support it. 12-05-31 Use getrlimit64/setrlimit64 on systems that support it.
12-05-31 Fix 64 bit big-endian arithmetic bug that mishandled nan and inf. 12-05-31 Fix 64 bit big-endian arithmetic bug that mishandled NaN and Inf.
12-05-31 Handle ECONNRESET like EPIPE. 12-05-31 Handle ECONNRESET like EPIPE.
12-05-31 Change .paths parse to use only the last BUILTIN_LIB from the top 12-05-31 Change .paths parse to use only the last BUILTIN_LIB from the top
and treat BUILTIN_LIB value as a ':' separated list of lib names. and treat BUILTIN_LIB value as a ':' separated list of lib names.
@ -377,7 +377,7 @@ ____
variable core dumps has been fixed. variable core dumps has been fixed.
11-05-28 Two bugs in the display of arrays of compound variables with print -v 11-05-28 Two bugs in the display of arrays of compound variables with print -v
have been fixed. have been fixed.
11-05-27 A bug with command substitution with the shift jis locale has been 11-05-27 A bug with command substitution in the Shift JIS locale has been
fixed. fixed.
11-05-25 A bug in which unset -f foo, called within function foo could cause 11-05-25 A bug in which unset -f foo, called within function foo could cause
the shell to core dump has been fixed. the shell to core dump has been fixed.
@ -418,7 +418,7 @@ ____
the match instance. the match instance.
11-04-11 A bug in which readonly var, where var is exported could cause var 11-04-11 A bug in which readonly var, where var is exported could cause var
to be unset has been fixed. to be unset has been fixed.
11-04-06 A tokenizer bug in which ${x/{3}(\d)/ } would cause in infinite 11-04-06 A tokenizer bug in which ${x/{3}(\d)/ } would cause an infinite
loop has been fixed. loop has been fixed.
11-04-05 A bug in which ${!x.} could cause a core dump has been fixed. 11-04-05 A bug in which ${!x.} could cause a core dump has been fixed.
11-04-04 A bug in which cleaning out the history file could terminate before 11-04-04 A bug in which cleaning out the history file could terminate before
@ -440,7 +440,7 @@ ____
11-03-07 A bug in which reassigning a compound variable to an associative 11-03-07 A bug in which reassigning a compound variable to an associative
array index could incorrectly increase the count of the number array index could incorrectly increase the count of the number
of elements has been fixed. of elements has been fixed.
11-03-04 +The tilde expansion on windows has been modified to handle user 11-03-04 +The tilde expansion on Windows has been modified to handle user
names of the form domain/user so that ~domain/user now expands names of the form domain/user so that ~domain/user now expands
to the home directory of that domain user. to the home directory of that domain user.
11-03-03 A bug in which the width of the prompt was calculated incorrectly 11-03-03 A bug in which the width of the prompt was calculated incorrectly
@ -497,7 +497,7 @@ ____
signal. This prevents a core dump to be overwritten by the shell. signal. This prevents a core dump to be overwritten by the shell.
10-12-22 A bug in the expansion of ${A[@]} ${B[@]}, introduced in 10-12-01 10-12-22 A bug in the expansion of ${A[@]} ${B[@]}, introduced in 10-12-01
when A="" B=B has been fixed. when A="" B=B has been fixed.
10-12-21 +Use MS_3D in b_vpath() for setting win32 WoW mount defaults. 10-12-21 +Use MS_3D in b_vpath() for setting Win32 WoW mount defaults.
10-12-17 A bug in the expansion of ${var:i:j} which caused a core dump when 10-12-17 A bug in the expansion of ${var:i:j} which caused a core dump when
i > ${#var} has been fixed. i > ${#var} has been fixed.
10-12-16 +sleep now treats . as decimal point even in locales that use comma. 10-12-16 +sleep now treats . as decimal point even in locales that use comma.
@ -521,7 +521,7 @@ ____
variables. variables.
10-11-29 An incorrect warning message was eliminated with the -n option for 10-11-29 An incorrect warning message was eliminated with the -n option for
arithmetic expressions with associative arrays. arithmetic expressions with associative arrays.
10-11-29 Some changes were made to slightly reduces startup time. 10-11-29 Some changes were made to slightly reduce startup time.
10-11-24 A bug in which a name reference is make to arr[0] when arr is not 10-11-24 A bug in which a name reference is make to arr[0] when arr is not
an array has been fixed. an array has been fixed.
10-11-23 If a type definition is made without a compound variable assignment it 10-11-23 If a type definition is made without a compound variable assignment it
@ -737,7 +737,7 @@ ____
the variable had an attribute but did not have a value. the variable had an attribute but did not have a value.
10-06-18 Modified trap handling so that if the same signal is received when 10-06-18 Modified trap handling so that if the same signal is received when
executing the handler, it is deferred until the handler completes. executing the handler, it is deferred until the handler completes.
10-06-16 Fixed a bug in which ulimit -v was setting the cpu limit 10-06-16 Fixed a bug in which ulimit -v was setting the CPU limit
on Linux. on Linux.
10-06-14 +The command 'typeset -T' now generates the list of type definitions 10-06-14 +The command 'typeset -T' now generates the list of type definitions
in a format that can be used as input to the shell. in a format that can be used as input to the shell.
@ -931,7 +931,7 @@ ____
with radix char , and thousands separator . has been fixed. with radix char , and thousands separator . has been fixed.
09-12-28 A bug in the handling of SIGCLD on systems that generated SIGCLD 09-12-28 A bug in the handling of SIGCLD on systems that generated SIGCLD
while blocked waiting for process to complete has been fixed. while blocked waiting for process to complete has been fixed.
09-12-24 ast setlocale() reworked to differentiate env var changes from user 09-12-24 AST setlocale() reworked to differentiate env var changes from user
override. override.
09-12-18 A bug with the SHOPT_BGX option set which disabled traps for signals 09-12-18 A bug with the SHOPT_BGX option set which disabled traps for signals
< SIGCHLD when a trap for a signal > SIGCHLD was set has been fixed. < SIGCHLD when a trap for a signal > SIGCHLD was set has been fixed.
@ -986,7 +986,7 @@ ____
in command completion has been fixed. in command completion has been fixed.
09-10-09 $PATH processing has been changed to delay dir stat() and .paths 09-10-09 $PATH processing has been changed to delay dir stat() and .paths
lookup until the directory is needed in the path search. lookup until the directory is needed in the path search.
09-09-28 Call the ast setlocale() intercept on unset too. 09-09-28 Call the AST setlocale() intercept on unset too.
09-09-24 A bug in which LANG=foo; LC_ALL=foo; unset LC_ALL; did not revert 09-09-24 A bug in which LANG=foo; LC_ALL=foo; unset LC_ALL; did not revert
LC_CTYPE etc. to the LANG value has been fixed. LC_CTYPE etc. to the LANG value has been fixed.
09-09-17 A bug in which unsetting SVLVL could cause a script invoked by 09-09-17 A bug in which unsetting SVLVL could cause a script invoked by
@ -1186,7 +1186,7 @@ ____
instead of quoting the argument in single quotes. instead of quoting the argument in single quotes.
08-12-07 A bug in typeset -m which occurred when the target node was an 08-12-07 A bug in typeset -m which occurred when the target node was an
associative array element has been fixed. associative array element has been fixed.
08-12-07 A timing bug on some systems (for example darwin), that could 08-12-07 A timing bug on some systems (for example Darwin), that could
cause the last process of a pipeline entered interactively to fail cause the last process of a pipeline entered interactively to fail
with an "Exec format error" has been fixed. with an "Exec format error" has been fixed.
08-12-04 +SHOPT_BGX enables background job extensions. Noted by "J" in 08-12-04 +SHOPT_BGX enables background job extensions. Noted by "J" in
@ -2069,7 +2069,7 @@ ____
03-08-07 A bug in which the KEYBD trap was not being invoked when 03-08-07 A bug in which the KEYBD trap was not being invoked when
characters with the 8th bit set has been fixed. characters with the 8th bit set has been fixed.
03-08-02 A parser bug introduced in ksh93o which caused the character 03-08-02 A parser bug introduced in ksh93o which caused the character
after () in a Posix function definition to be skipped after () in a POSIX function definition to be skipped
when reading from standard input has been fixed. when reading from standard input has been fixed.
03-08-01 A bug in which "${foo#pattern}(x)" treated (x) as if it were 03-08-01 A bug in which "${foo#pattern}(x)" treated (x) as if it were
part of the pattern has been fixed. part of the pattern has been fixed.
@ -2079,7 +2079,7 @@ ____
work as expected. work as expected.
03-07-20 --- Release ksh93o+ --- 03-07-20 --- Release ksh93o+ ---
03-07-20 A bug in which could cause memory corruption when a posix 03-07-20 A bug in which could cause memory corruption when a POSIX
function invoked another one has been fixed. function invoked another one has been fixed.
03-07-15 A bug in which a file descriptor>2 could be closed before 03-07-15 A bug in which a file descriptor>2 could be closed before
executing a script has been fixed. executing a script has been fixed.
@ -2377,7 +2377,7 @@ ____
01-09-25 +The exponentiation operator ** was added to the shell arithmetic 01-09-25 +The exponentiation operator ** was added to the shell arithmetic
evaluation. It has higher precedence than * and is left evaluation. It has higher precedence than * and is left
associative. associative.
01-09-25 The code was modified to use the ast multibyte macros 01-09-25 The code was modified to use the AST multibyte macros
and functions for handling multibyte locales. and functions for handling multibyte locales.
01-09-25 +The expansion ${parameter:offset:length} now handles negative 01-09-25 +The expansion ${parameter:offset:length} now handles negative
offsets which cause offsets to be measured from the end. offsets which cause offsets to be measured from the end.
@ -2629,7 +2629,7 @@ ____
checking name to see if it was a name reference has been fixed. checking name to see if it was a name reference has been fixed.
00-09-26 A bug in the multibyte version in which the width of for 00-09-26 A bug in the multibyte version in which the width of for
non-printing characters was not correct has been fixed. non-printing characters was not correct has been fixed.
00-09-12 +Made changes to get multibyte editing work on UWIN for windows 00-09-12 +Made changes to get multibyte editing work on UWIN for Windows.
00-09-12 A bug in which multibyte characters would be displayed incorrectly 00-09-12 A bug in which multibyte characters would be displayed incorrectly
has been fixed. has been fixed.
00-08-08 Removed build dependency on iswprint() and iswalph(). 00-08-08 Removed build dependency on iswprint() and iswalph().
@ -2875,7 +2875,7 @@ ____
96-07-31 A bug that caused side effects in subscript evaluation 96-07-31 A bug that caused side effects in subscript evaluation
when tracing was enabled for subscripts using ++ or -- when tracing was enabled for subscripts using ++ or --
has been fixed. has been fixed.
96-07-31 To conform to the Posix standard getopts has been changed 96-07-31 To conform to the POSIX standard getopts has been changed
so that the option char is set to ? when it returns with so that the option char is set to ? when it returns with
a non-zero exit status. a non-zero exit status.
96-07-31 The handling of \} inside ${name...} has been fixed so 96-07-31 The handling of \} inside ${name...} has been fixed so

View file

@ -118,9 +118,9 @@ of ksh.
j. An addition format for literal strings, $'....' can j. An addition format for literal strings, $'....' can
be used where ever literal strings are valid. The string be used where ever literal strings are valid. The string
inside the single quotes will be converted using the ANSI-C inside the single quotes will be converted using the ANSI C
escape conventions. Additionally, the escape sequence \E escape conventions. Additionally, the escape sequence \E
expands to the escape character (default \033) whenever ANSI-C expands to the escape character (default \033) whenever ANSI C
escape sequences are recognized. escape sequences are recognized.
k. A typeset -n option has been added which causes the value of a k. A typeset -n option has been added which causes the value of a
@ -290,7 +290,7 @@ of ksh.
corresponds to the give extended regular expression. corresponds to the give extended regular expression.
6. For numerical fields, the arguments can be arithmetic 6. For numerical fields, the arguments can be arithmetic
expressions which will be evaluated. expressions which will be evaluated.
7. The %n format works as described in ANSI-C. 7. The %n format works as described in ANSI C.
k. The following changes have been made to fc: k. The following changes have been made to fc:
1. It has been renamed hist. fc is now a predefined alias. 1. It has been renamed hist. fc is now a predefined alias.

View file

@ -30,8 +30,8 @@ SHOPT NAMESPACE=1 # allow namespaces
SHOPT NOECHOE=0 # turn off 'echo -e' when SHOPT_ECHOPRINT is disabled SHOPT NOECHOE=0 # turn off 'echo -e' when SHOPT_ECHOPRINT is disabled
SHOPT OLDTERMIO= # support both TCGETA and TCGETS SHOPT OLDTERMIO= # support both TCGETA and TCGETS
SHOPT OPTIMIZE=1 # optimize loop invariants SHOPT OPTIMIZE=1 # optimize loop invariants
SHOPT PFSH=0 # solaris exec_attr(4) profile execution (obsolete) SHOPT PFSH=0 # Solaris exec_attr(4) profile execution (obsolete)
SHOPT P_SUID= # real uid's that require -p for set[ug]id (do not set to 0 to turn off) SHOPT P_SUID= # real uids that require -p for set[ug]id (do not set to 0 to turn off)
SHOPT RAWONLY=1 # make viraw the only vi mode SHOPT RAWONLY=1 # make viraw the only vi mode
SHOPT REGRESS= # enable __regress__ builtin and instrumented intercepts for testing SHOPT REGRESS= # enable __regress__ builtin and instrumented intercepts for testing
SHOPT REMOTE= # enable --rc if running as a remote shell SHOPT REMOTE= # enable --rc if running as a remote shell

View file

@ -105,7 +105,7 @@ int b_cd(int argc, char *argv[],Shbltin_t *context)
oldpwd = (char*)pwdnod->nvalue.cp; /* if path_pwd() failed to get the pwd, use $PWD */ oldpwd = (char*)pwdnod->nvalue.cp; /* if path_pwd() failed to get the pwd, use $PWD */
if(shp->subshell) if(shp->subshell)
{ {
/* clone $OLDPWD and $PWD into the subshell's scope */ /* clone $OLDPWD and $PWD into the subshell's scope */
opwdnod = sh_assignok(opwdnod,1); opwdnod = sh_assignok(opwdnod,1);
pwdnod = sh_assignok(pwdnod,1); pwdnod = sh_assignok(pwdnod,1);
} }

View file

@ -50,7 +50,7 @@ int b_hist(int argc,char *argv[], Shbltin_t *context)
char *fname; char *fname;
int range[2], incr, index2, indx= -1; int range[2], incr, index2, indx= -1;
char *edit = 0; /* name of editor */ char *edit = 0; /* name of editor */
char *replace = 0; /* replace old=new */ char *replace = 0; /* replace old=new */
int lflag = 0, nflag = 0, rflag = 0; int lflag = 0, nflag = 0, rflag = 0;
#if SHOPT_HISTEXPAND #if SHOPT_HISTEXPAND
int pflag = 0; int pflag = 0;

View file

@ -339,7 +339,7 @@ int b_dot_cmd(register int n,char *argv[],Shbltin_t *context)
} }
if (shp->st.self != &savst) if (shp->st.self != &savst)
*shp->st.self = shp->st; *shp->st.self = shp->st;
/* only restore the top Shscope_t portion for posix functions */ /* only restore the top Shscope_t portion for POSIX functions */
memcpy((void*)&shp->st, (void*)prevscope, sizeof(Shscope_t)); memcpy((void*)&shp->st, (void*)prevscope, sizeof(Shscope_t));
shp->topscope = (Shscope_t*)prevscope; shp->topscope = (Shscope_t*)prevscope;
nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE); nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE);

View file

@ -1060,7 +1060,7 @@ static int extend(Sfio_t* sp, void* v, Sffmt_t* fe)
/* /*
* construct System V echo string out of <cp> * construct System V echo string out of <cp>
* If there are not escape sequences, returns -1 * If there are no escape sequences, returns -1
* Otherwise, puts null-terminated result on stack, but doesn't freeze it * Otherwise, puts null-terminated result on stack, but doesn't freeze it
* returns length of output. * returns length of output.
*/ */

View file

@ -27,7 +27,7 @@
* all string constants inline here instead of in data/... * all string constants inline here instead of in data/...
* *
* David Korn * David Korn
* at&t research * AT&T Research
*/ */
#include "defs.h" #include "defs.h"
@ -72,7 +72,7 @@ static const char usage[] =
"trace line info is either \begid==rgid\b or \begid!=rgid\b. The " "trace line info is either \begid==rgid\b or \begid!=rgid\b. The "
"intercepts are:]#?[original-egid:=1]" "intercepts are:]#?[original-egid:=1]"
"{" "{"
"[+getegid()?The intercept effecive gid is returned. The " "[+getegid()?The intercept effective gid is returned. The "
"\bsetgid\b() intercept may change this between the real gid and " "\bsetgid\b() intercept may change this between the real gid and "
"\aoriginal-egid\a.]" "\aoriginal-egid\a.]"
"[+setgid(gid)?Sets the intercept effective gid to \agid\a. " "[+setgid(gid)?Sets the intercept effective gid to \agid\a. "

View file

@ -140,7 +140,6 @@ skip:
* If sflag==1, stop sleeping when any signal is received * If sflag==1, stop sleeping when any signal is received
* (such as SIGWINCH in an interactive shell). * (such as SIGWINCH in an interactive shell).
*/ */
void sh_delay(double t, int sflag) void sh_delay(double t, int sflag)
{ {
Shell_t *shp = sh_getinterp(); Shell_t *shp = sh_getinterp();

View file

@ -146,7 +146,7 @@ int b_test(int argc, char *argv[],Shbltin_t *context)
} }
} }
not = c_eq(cp,'!'); not = c_eq(cp,'!');
/* posix portion for test */ /* POSIX portion for test */
switch(argc) switch(argc)
{ {
case 5: case 5:

View file

@ -259,7 +259,7 @@ Brian W. Kernighan and Dennis M. Ritchie,
.IR "The C Programming Language" , .IR "The C Programming Language" ,
Prentice Hall, 1978. Prentice Hall, 1978.
.RF .RF
ANSI-C\*(Rf, ANSI C\*(Rf,
.RS .RS
American National Standard for Information Systems \- Programming American National Standard for Information Systems \- Programming
Language \- C, ANSI X3.159-1989. Language \- C, ANSI X3.159-1989.
@ -280,7 +280,7 @@ services for your builtins.
The header file \f5<ast.h>\fP The header file \f5<ast.h>\fP
provides prototypes for many \fBlibast\fP functions provides prototypes for many \fBlibast\fP functions
and all the symbol and function definitions from the and all the symbol and function definitions from the
ANSI-C headers, \f5<stddef.h>\fP, ANSI C headers, \f5<stddef.h>\fP,
\f5<stdlib.h>\fP, \f5<stdarg.h>\fP, \f5<limits.h>\fP, \f5<stdlib.h>\fP, \f5<stdarg.h>\fP, \f5<limits.h>\fP,
and \f5<string.h>\fP. and \f5<string.h>\fP.
It also provides all the symbols and definitions for the It also provides all the symbols and definitions for the
@ -315,7 +315,7 @@ pp. , 1991.
to perform all I/O operations. to perform all I/O operations.
The \fBsfio\fP library, which is part of \fBlibast\fP, The \fBsfio\fP library, which is part of \fBlibast\fP,
provides a superset of the functionality provided by the standard provides a superset of the functionality provided by the standard
I/O library defined in ANSI-C. I/O library defined in ANSI C.
If none of the additional functionality is required, If none of the additional functionality is required,
and if you are not familiar with \fBsfio\fP and and if you are not familiar with \fBsfio\fP and
you do not want to spend the time learning it, you do not want to spend the time learning it,

View file

@ -922,11 +922,11 @@ const char sh_optjobs[] =
"shell removes the jobs from the list of known jobs in " "shell removes the jobs from the list of known jobs in "
"the current shell environment.]" "the current shell environment.]"
_JOB_ _JOB_
"[l?\bjobs\b displays process id's after the job number in addition " "[l?\bjobs\b displays process ids after the job number in addition "
"to the usual information]" "to the usual information]"
"[n?Only the jobs whose status has changed since the last prompt " "[n?Only the jobs whose status has changed since the last prompt "
"is displayed.]" "is displayed.]"
"[p?The process group leader id's for the specified jobs are displayed.]" "[p?The process group leader ids for the specified jobs are displayed.]"
"\n" "\n"
"\n[job ...]\n" "\n[job ...]\n"
"\n" "\n"
@ -1322,7 +1322,7 @@ const char sh_optprintf[] =
"appropriate for that format specifier, an error will occur, " "appropriate for that format specifier, an error will occur, "
"but remaining \astring\a operands will continue to be processed.]" "but remaining \astring\a operands will continue to be processed.]"
"[+?In addition to the format specifier extensions, the following " "[+?In addition to the format specifier extensions, the following "
"extensions of ANSI-C are permitted in format specifiers:]{" "extensions of ANSI C are permitted in format specifiers:]{"
"[+-?The escape sequences \b\\E\b and \b\\e\b expand to the escape " "[+-?The escape sequences \b\\E\b and \b\\e\b expand to the escape "
"character which is octal \b033\b in ASCII.]" "character which is octal \b033\b in ASCII.]"
"[+-?The escape sequence \b\\c\b\ax\a expands to Control-\ax\a.]" "[+-?The escape sequence \b\\c\b\ax\a expands to Control-\ax\a.]"
@ -1589,7 +1589,7 @@ const char sh_optksh[] =
"[P?Invoke the shell as a profile shell. See \bpfexec\b(1).]" "[P?Invoke the shell as a profile shell. See \bpfexec\b(1).]"
#endif #endif
#if SHOPT_KIA #if SHOPT_KIA
"[R]:[file?Do not execute the script, but create a cross reference database " "[R]:[file?Do not execute the script, but create a cross-reference database "
"in \afile\a that can be used in a separate shell script browser. The " "in \afile\a that can be used in a separate shell script browser. The "
"-R option requires a script to be specified as the first operand.]" "-R option requires a script to be specified as the first operand.]"
#endif /* SHOPT_KIA */ #endif /* SHOPT_KIA */
@ -1766,7 +1766,7 @@ const char sh_opttrap[] =
"[+>0?An error occurred.]" "[+>0?An error occurred.]"
"}" "}"
"[+SEE ALSO?\bkill\b(1), \beval\b(1), \bsignal\b(3)]" "[+SEE ALSO?\bkill\b(1), \beval\b(1), \bsignal\b(2)]"
; ;
const char sh_opttypeset[] = const char sh_opttypeset[] =
@ -2034,7 +2034,7 @@ const char sh_optwait[] =
"\ajob\a operands are specified, \bwait\b waits until all of them " "\ajob\a operands are specified, \bwait\b waits until all of them "
"have completed.]" "have completed.]"
_JOB_ _JOB_
"[+?If one ore more \ajob\a operands is a process id or process group id " "[+?If one or more \ajob\a operands is a process id or process group id "
"not known by the current shell environment, \bwait\b treats each " "not known by the current shell environment, \bwait\b treats each "
"of them as if it were a process that exited with status 127.]" "of them as if it were a process that exited with status 127.]"
"\n" "\n"

View file

@ -107,8 +107,8 @@ typedef struct _emacs_
int in_mult; int in_mult;
char cr_ok; char cr_ok;
char CntrlO; char CntrlO;
char overflow; /* Screen overflow flag set */ char overflow; /* Screen overflow flag set */
char scvalid; /* Screen is up to date */ char scvalid; /* Screen is up to date */
char lastdraw; /* last update type */ char lastdraw; /* last update type */
int offset; /* Screen offset */ int offset; /* Screen offset */
enum enum

View file

@ -422,7 +422,7 @@ static History_t* hist_trim(History_t *hp, int n)
unlink(hist_old->histname); unlink(hist_old->histname);
if(access(hist_old->histname,F_OK) >= 0) if(access(hist_old->histname,F_OK) >= 0)
{ {
/* The unlink can fail on windows 95 */ /* The unlink can fail on Windows 95 */
int fd; int fd;
char *last, *name=hist_old->histname; char *last, *name=hist_old->histname;
sh_close(sffileno(hist_old->histfp)); sh_close(sffileno(hist_old->histfp));
@ -1138,7 +1138,7 @@ static int hist_exceptf(Sfio_t* fp, int type, void *data, Sfdisc_t *handle)
{ {
if(errno==ENOSPC || hp->histwfail++ >= 10) if(errno==ENOSPC || hp->histwfail++ >= 10)
return(0); return(0);
/* write failure could be NFS problem, try to re-open */ /* write failure could be NFS problem, try to reopen */
sh_close(oldfd=sffileno(fp)); sh_close(oldfd=sffileno(fp));
if((newfd=open(hp->histname,O_BINARY|O_APPEND|O_CREAT|O_RDWR|O_cloexec,S_IRUSR|S_IWUSR)) >= 0) if((newfd=open(hp->histname,O_BINARY|O_APPEND|O_CREAT|O_RDWR|O_cloexec,S_IRUSR|S_IWUSR)) >= 0)
{ {

View file

@ -131,7 +131,7 @@ struct Ufunction
#define NV_COMVAR 0x4000000 #define NV_COMVAR 0x4000000
#define NV_UNJUST 0x800000 /* clear justify attributes */ #define NV_UNJUST 0x800000 /* clear justify attributes */
#define NV_FUNCTION (NV_RJUST|NV_FUNCT) /* value is shell function */ #define NV_FUNCTION (NV_RJUST|NV_FUNCT) /* value is shell function */
#define NV_FPOSIX NV_LJUST /* posix function semantics */ #define NV_FPOSIX NV_LJUST /* POSIX function semantics */
#define NV_FTMP NV_ZFILL /* function source in tmpfile */ #define NV_FTMP NV_ZFILL /* function source in tmpfile */
#define NV_STATICF NV_INTEGER /* static class function */ #define NV_STATICF NV_INTEGER /* static class function */

View file

@ -32,7 +32,7 @@
#include "argnod.h" #include "argnod.h"
/* command tree for tretyp */ /* command tree for tretyp */
#define FINT (02<<COMBITS) /* non-interruptable */ #define FINT (02<<COMBITS) /* non-interruptible */
#define FAMP (04<<COMBITS) /* background */ #define FAMP (04<<COMBITS) /* background */
#define FPIN (010<<COMBITS) /* input is a pipe */ #define FPIN (010<<COMBITS) /* input is a pipe */
#define FPOU (040<<COMBITS) /* output is a pipe */ #define FPOU (040<<COMBITS) /* output is a pipe */
@ -40,7 +40,7 @@
#define FCOOP (0200<<COMBITS) /* cooperating process */ #define FCOOP (0200<<COMBITS) /* cooperating process */
#define FSHOWME (0400<<COMBITS) /* set for showme commands */ #define FSHOWME (0400<<COMBITS) /* set for showme commands */
#define FALTPIPE (02000<<COMBITS) /* alternate pipes &| */ #define FALTPIPE (02000<<COMBITS) /* alternate pipes &| */
#define FPOSIX (02<<COMBITS) /* posix semantics function */ #define FPOSIX (02<<COMBITS) /* POSIX semantics function */
#define FLINENO (04<<COMBITS) /* for/case has line number */ #define FLINENO (04<<COMBITS) /* for/case has line number */
#define FOPTGET (0200<<COMBITS) /* function calls getopts */ #define FOPTGET (0200<<COMBITS) /* function calls getopts */

View file

@ -1017,7 +1017,7 @@ later with the
.B typeset\^ .B typeset\^
special built-in command. special built-in command.
Exported variables pass their attributes to the environment so that a newly Exported variables pass their attributes to the environment so that a newly
invoked ksh that is a child or exec'ed process of the current shell will invoked ksh that is a child or exec'd process of the current shell will
automatically import them, unless the \fBposix\fR shell option is on. automatically import them, unless the \fBposix\fR shell option is on.
.PP .PP
The shell supports both indexed and associative arrays. The shell supports both indexed and associative arrays.
@ -2564,7 +2564,7 @@ and
.BR \*(CK\^ , .BR \*(CK\^ ,
character classes can be specified with the syntax character classes can be specified with the syntax
\f3[:\fP\f2class\fP\f3:]\fP \f3[:\fP\f2class\fP\f3:]\fP
where class is one of the following classes defined in the ANSI-C standard: where class is one of the following classes defined in the ANSI C standard:
(Note that \f3word\fP is equivalent to \f3alnum\fP plus the character \f3_\fP.) (Note that \f3word\fP is equivalent to \f3alnum\fP plus the character \f3_\fP.)
.br .br
.B .B
@ -2640,7 +2640,7 @@ to be used.
.PP .PP
When \f2pattern-list\^\fP is contained within parentheses, When \f2pattern-list\^\fP is contained within parentheses,
the backslash character \f3\e\fP is treated specially even the backslash character \f3\e\fP is treated specially even
when inside a character class. All ANSI-C character escapes are when inside a character class. All ANSI C character escapes are
recognized and match the specified character. In addition recognized and match the specified character. In addition
the following escape sequences are recognized: the following escape sequences are recognized:
.PD 0 .PD 0
@ -2844,7 +2844,7 @@ are quoted.
A single quote cannot appear within the single quotes. A single quote cannot appear within the single quotes.
A single quoted string preceded by an unquoted A single quoted string preceded by an unquoted
.B $ .B $
is processed as an ANSI-C string is processed as an ANSI C string
except for the following: except for the following:
.PD 0 .PD 0
.TP .TP
@ -2942,7 +2942,7 @@ Evaluations are performed using
double precision floating point double precision floating point
arithmetic or long double precision floating point for arithmetic or long double precision floating point for
systems that provide this data type. systems that provide this data type.
Floating point constants follow the ANSI-C programming language Floating point constants follow the ANSI C programming language
floating point conventions. floating point conventions.
The case-insensitive floating point constants The case-insensitive floating point constants
.B NaN .B NaN
@ -2950,7 +2950,7 @@ and
.B Inf .B Inf
can be used to represent "not a number" and infinity respectively, can be used to represent "not a number" and infinity respectively,
unless the \fBposix\fR shell option is on. unless the \fBposix\fR shell option is on.
Integer constants follow the ANSI-C programming language Integer constants follow the ANSI C programming language
integer constant conventions although only single byte integer constant conventions although only single byte
character constants are recognized and character casts character constants are recognized and character casts
are not recognized. are not recognized.
@ -6645,7 +6645,7 @@ is added to the output.
The arguments The arguments
.I arg\^ .I arg\^
are printed on standard output are printed on standard output
in accordance with the ANSI-C in accordance with the ANSI C
formatting rules associated with the format string formatting rules associated with the format string
.IR format . .IR format .
If the number of arguments exceeds the number of If the number of arguments exceeds the number of
@ -7932,9 +7932,9 @@ Used with
or or
.BR \-F , .BR \-F ,
to indicate long integer, or long float. to indicate long integer, or long float.
Otherwise, all upper-case characters are Otherwise, all uppercase characters are
converted to lower-case. converted to lowercase.
The upper-case option, The uppercase option,
.BR \-u , .BR \-u ,
is turned off. is turned off.
Equivalent to Equivalent to
@ -7988,9 +7988,9 @@ meaning to the shell.
When given along with When given along with
.BR \-i , .BR \-i ,
specifies unsigned integer. specifies unsigned integer.
Otherwise, all lower-case characters are converted Otherwise, all lowercase characters are converted
to upper-case. to uppercase.
The lower-case option, The lowercase option,
.BR \-l , .BR \-l ,
is turned off. is turned off.
Equivalent to Equivalent to

View file

@ -1098,7 +1098,7 @@ A
immediately preceding immediately preceding
a single quoted string a single quoted string
causes all the characters until the matching single quote causes all the characters until the matching single quote
to be interpreted as an ANSI-C language string. to be interpreted as an ANSI C language string.
Thus, \f5'\en'\fP represents characters \f5\e\fP and Thus, \f5'\en'\fP represents characters \f5\e\fP and
\f5n\fP, whereas, \f5$'\en'\fP \f5n\fP, whereas, \f5$'\en'\fP
represents the new-line character. represents the new-line character.
@ -1661,7 +1661,7 @@ so that another notation was required.
The arithmetic expression The arithmetic expression
inside the double parentheses inside the double parentheses
follows the same syntax, associativity and precedence follows the same syntax, associativity and precedence
as the ANSI-C\*(Rf as the ANSI C\*(Rf
.RS .RS
American National Standard for Information Systems \- Programming American National Standard for Information Systems \- Programming
Language \- C, ANSI X3.159-1989. Language \- C, ANSI X3.159-1989.
@ -1675,7 +1675,7 @@ without additional quoting.
All arithmetic evaluations are performed using All arithmetic evaluations are performed using
double precision floating point arithmetic. double precision floating point arithmetic.
Floating point constants follow the same rules as Floating point constants follow the same rules as
the ANSI-C programming language. the ANSI C programming language.
Integer arithmetic constants are written as Integer arithmetic constants are written as
.ce .ce
.IB base # number, .IB base # number,
@ -1738,7 +1738,7 @@ The syntax,
.ce .ce
\f5for\fP \fB((\fP \fIexpr1\fP\fB;\fP \fIexpr2\fP \fB;\fP \fIexpr3 \fP\fB))\fP \f5for\fP \fB((\fP \fIexpr1\fP\fB;\fP \fIexpr2\fP \fB;\fP \fIexpr3 \fP\fB))\fP
can be used as the first line of a \f5for\fP loop with the same semantics can be used as the first line of a \f5for\fP loop with the same semantics
as the \f5for\fP statement in the ANSI-C programming language. as the \f5for\fP statement in the ANSI C programming language.
.P .P
Arithmetic evaluations can also be performed as part of the evaluation Arithmetic evaluations can also be performed as part of the evaluation
of a command line. of a command line.
@ -1865,12 +1865,12 @@ and that ends in
.BR a\-z . .BR a\-z .
The sequence \f5[:alpha:]\fP The sequence \f5[:alpha:]\fP
inside a character class, matches any set of characters in inside a character class, matches any set of characters in
the ANSI-C the ANSI C
.B alpha .B alpha
class. class.
Similarly, \f5[:\fP\fIclass\fP\f5:]\fP matches Similarly, \f5[:\fP\fIclass\fP\f5:]\fP matches
each of the characters in the given \fIclass\fP each of the characters in the given \fIclass\fP
for all the ANSI-C character classes. for all the ANSI C character classes.
For example, \f5[[:alnum:]_]\fP For example, \f5[[:alnum:]_]\fP
matches any alphanumeric character or the character matches any alphanumeric character or the character
.BR _ . .BR _ .
@ -2292,8 +2292,8 @@ The IEEE POSIX shell and utilities standard committee was unable
to reconcile the differences between the System V and BSD to reconcile the differences between the System V and BSD
versions of \f5echo\fP. versions of \f5echo\fP.
They introduced a new command named \f5printf\fP They introduced a new command named \f5printf\fP
which takes an ANSI-C format string and a list of options which takes an ANSI C format string and a list of options
and outputs the strings using the ANSI-C formatting rules. and outputs the strings using the ANSI C formatting rules.
Since \f5ksh\fP is POSIX conforming, it accepts \f5printf\fP. Since \f5ksh\fP is POSIX conforming, it accepts \f5printf\fP.
However, there is a However, there is a
.B \-f .B \-f
@ -3113,7 +3113,7 @@ D. G Korn
TM-59554-860602-03, 1986. TM-59554-860602-03, 1986.
.RF .RF
.H 1 "CODE CHANGES" .H 1 "CODE CHANGES"
\f5ksh\fP is written in ANSI-C as a reusable library. \f5ksh\fP is written in ANSI C as a reusable library.
The code can be compiled with C++ and older K&R C as well. The code can be compiled with C++ and older K&R C as well.
The code uses the IEEE POSIX 1003.1 and ISO 9945-1 standard\*(Rf The code uses the IEEE POSIX 1003.1 and ISO 9945-1 standard\*(Rf
.RS .RS

View file

@ -1778,7 +1778,7 @@ void *nv_associative(register Namval_t *np,const char *sp,int mode)
sh_assignok(np,1); sh_assignok(np,1);
/* /*
* For enum types (NV_UINT16 with discipline ENUM_disc), nelem should not * For enum types (NV_UINT16 with discipline ENUM_disc), nelem should not
* not increased or 'unset' will fail to completely unset such an array. * increase or 'unset' will fail to completely unset such an array.
*/ */
if((!ap->header.scope || !nv_search(sp,dtvnext(ap->header.table),0)) if((!ap->header.scope || !nv_search(sp,dtvnext(ap->header.table),0))
&& !(type==NV_UINT16 && nv_hasdisc(np, &ENUM_disc))) && !(type==NV_UINT16 && nv_hasdisc(np, &ENUM_disc)))

View file

@ -326,7 +326,7 @@ int job_reap(register int sig)
sh_offstate(SH_TTYWAIT); sh_offstate(SH_TTYWAIT);
/* /*
* some systems (linux 2.6) may return EINVAL * some systems (Linux 2.6) may return EINVAL
* when there are no continued children * when there are no continued children
*/ */
@ -1131,7 +1131,6 @@ int job_hup(struct process *pw, int sig)
/* /*
* Get process structure from first letters of jobname * Get process structure from first letters of jobname
*
*/ */
static struct process *job_byname(char *name) static struct process *job_byname(char *name)

View file

@ -2426,7 +2426,7 @@ static int alias_exceptf(Sfio_t *iop,int type,void *data, Sfdisc_t *handle)
} }
if(ap->nextc) if(ap->nextc)
{ {
/* if last character is a blank, then next word can be alias */ /* if last character is a blank, then next word can be an alias */
register int c = fcpeek(-1); register int c = fcpeek(-1);
if(isblank(c)) if(isblank(c))
lp->aliasok = 1; lp->aliasok = 1;

View file

@ -487,7 +487,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
case S_ESC: case S_ESC:
if(ansi_c) if(ansi_c)
{ {
/* process ANSI-C escape character */ /* process ANSI C escape character */
char *addr= --cp; char *addr= --cp;
if(c) if(c)
sfwrite(stkp,first,c); sfwrite(stkp,first,c);

View file

@ -269,7 +269,7 @@ int sh_main(int ac, char *av[], Shinit_f userinit)
} }
#if !_WINIX #if !_WINIX
/* /*
* try to undo effect of solaris 2.5+ * try to undo effect of Solaris 2.5+
* change for argv for setuid scripts * change for argv for setuid scripts
*/ */
if(shp->st.repl_index > 0) if(shp->st.repl_index > 0)
@ -344,7 +344,7 @@ int sh_main(int ac, char *av[], Shinit_f userinit)
sh_accbegin(error_info.id); sh_accbegin(error_info.id);
#endif /* SHOPT_ACCT */ #endif /* SHOPT_ACCT */
} }
/* If the shell is init'ed with std{in,out,err} closed, make the shell's FD state reflect that. */ /* If the shell is initialised with std{in,out,err} closed, make the shell's FD state reflect that. */
for(i=0; i<=2; i++) for(i=0; i<=2; i++)
if(fcntl(i,F_GETFD,NiL)==-1 && errno==EBADF) /* closed at OS level? */ if(fcntl(i,F_GETFD,NiL)==-1 && errno==EBADF) /* closed at OS level? */
sh_close(i); /* update shell FD state */ sh_close(i); /* update shell FD state */

View file

@ -25,7 +25,7 @@
#include "FEATURE/externs" #include "FEATURE/externs"
#if defined(__sun) && _sys_mman && _lib_memcntl && defined(MHA_MAPSIZE_STACK) && defined(MC_HAT_ADVISE) #if defined(__sun) && _sys_mman && _lib_memcntl && defined(MHA_MAPSIZE_STACK) && defined(MC_HAT_ADVISE)
# undef VM_FLAGS /* solaris vs vmalloc.h symbol clash */ # undef VM_FLAGS /* Solaris vs vmalloc.h symbol clash */
# include <sys/mman.h> # include <sys/mman.h>
#else #else
# undef _lib_memcntl # undef _lib_memcntl

View file

@ -855,7 +855,7 @@ again:
} }
else else
d = chresc(pos+1,(char**)&vp->nextchr); d = chresc(pos+1,(char**)&vp->nextchr);
/* posix allows the trailing ' to be optional */ /* POSIX allows the trailing ' to be optional */
if(*vp->nextchr=='\'') if(*vp->nextchr=='\'')
vp->nextchr++; vp->nextchr++;
} }

View file

@ -23,7 +23,7 @@
* This is a program to execute 'execute only' and suid/sgid shell scripts. * This is a program to execute 'execute only' and suid/sgid shell scripts.
* This program must be owned by root and must have the set uid bit set. * This program must be owned by root and must have the set uid bit set.
* It must not have the set group id bit set. This program must be installed * It must not have the set group id bit set. This program must be installed
* where the define parameter THISPROG indicates to work correctly on system V * where the define parameter THISPROG indicates to work correctly on System V.
* *
* Written by David Korn * Written by David Korn
* AT&T Labs * AT&T Labs
@ -31,7 +31,7 @@
*/ */
/* The file name of the script to execute is argv[0] /* The file name of the script to execute is argv[0]
* Argv[1] is the program name * argv[1] is the program name
* The basic idea is to open the script as standard input, set the effective * The basic idea is to open the script as standard input, set the effective
* user and group id correctly, and then exec the shell. * user and group id correctly, and then exec the shell.
* The complicated part is getting the effective uid of the caller and * The complicated part is getting the effective uid of the caller and
@ -372,7 +372,7 @@ static void setids(int mode,int owner,int group)
/* /*
* This version of setids creates a /tmp file and copies itself into it. * This version of setids creates a /tmp file and copies itself into it.
* The "clone" file is made executable with appropriate suid/sgid bits. * The "clone" file is made executable with appropriate suid/sgid bits.
* Finally, the clone is exec'ed. This file is unlinked by a grandchild * Finally, the clone is exec'd. This file is unlinked by a grandchild
* of this program, who waits around until the text is free. * of this program, who waits around until the text is free.
*/ */

View file

@ -275,7 +275,7 @@ static void p_time(Shell_t *shp, Sfio_t *out, const char *format, clock_t *tm)
if(c=='\0') if(c=='\0')
{ {
/* If a lone percent is the last character of the format pretend /* If a lone percent is the last character of the format pretend
the user had written `%%` for a literal percent */ the user had written '%%' for a literal percent */
sfwrite(stkp, "%", 1); sfwrite(stkp, "%", 1);
first = format + 1; first = format + 1;
break; break;
@ -775,7 +775,7 @@ static void free_list(struct openlist *olist)
/* /*
* set ${.sh.name} and ${.sh.subscript} * set ${.sh.name} and ${.sh.subscript}
* set _ to reference for ${.sh.name}[$.sh.subscript] * set _ to reference for ${.sh.name}[${.sh.subscript}]
*/ */
static int set_instance(Shell_t *shp,Namval_t *nq, Namval_t *node, struct Namref *nr) static int set_instance(Shell_t *shp,Namval_t *nq, Namval_t *node, struct Namref *nr)
{ {
@ -1104,7 +1104,7 @@ int sh_exec(register const Shnode_t *t, int flags)
} }
#endif /* SHOPT_TYPEDEF */ #endif /* SHOPT_TYPEDEF */
if((shp->fn_depth && !shp->prefix)) if(shp->fn_depth && !shp->prefix)
flgs |= NV_NOSCOPE; flgs |= NV_NOSCOPE;
} }
else if(np==SYSEXPORT) else if(np==SYSEXPORT)
@ -1139,12 +1139,12 @@ int sh_exec(register const Shnode_t *t, int flags)
} }
last_table = shp->last_table; last_table = shp->last_table;
shp->last_table = 0; shp->last_table = 0;
if((io||argn)) if(io || argn)
{ {
Shbltin_t *bp=0; Shbltin_t *bp=0;
static char *argv[2]; static char *argv[2];
int tflags = 1; int tflags = 1;
if(np && nv_isattr(np,BLT_DCL)) if(np && nv_isattr(np,BLT_DCL))
tflags |= 2; tflags |= 2;
if(execflg && !check_exec_optimization(io)) if(execflg && !check_exec_optimization(io))
execflg = 0; execflg = 0;
@ -2843,7 +2843,7 @@ int sh_trace(Shell_t *shp,register char *argv[], register int nl)
/* /*
* This routine creates a subshell by calling fork() or vfork() * This routine creates a subshell by calling fork() or vfork()
* If ((flags&COMASK)==TCOM), then vfork() is permitted * If ((flags&COMMSK)==TCOM), then vfork() is permitted
* If fork fails, the shell sleeps for exponentially longer periods * If fork fails, the shell sleeps for exponentially longer periods
* and tries again until a limit is reached. * and tries again until a limit is reached.
* SH_FORKLIM is the max period between forks - power of 2 usually. * SH_FORKLIM is the max period between forks - power of 2 usually.
@ -2860,7 +2860,6 @@ static void timed_out(void *handle)
timeout = 0; timeout = 0;
} }
/* /*
* called by parent and child after fork by sh_fork() * called by parent and child after fork by sh_fork()
*/ */
@ -3049,8 +3048,8 @@ static void local_exports(register Namval_t *np, void *data)
} }
/* /*
* This routine executes .sh.math functions from within ((...))) * This routine executes .sh.math functions from within ((...))
*/ */
Sfdouble_t sh_mathfun(Shell_t *shp,void *fp, int nargs, Sfdouble_t *arg) Sfdouble_t sh_mathfun(Shell_t *shp,void *fp, int nargs, Sfdouble_t *arg)
{ {
Sfdouble_t d; Sfdouble_t d;

View file

@ -434,7 +434,7 @@ then set -o posix -o trackall
set +o posix set +o posix
fi fi
# ===== # ======
# test should support '<' as well as '>'; before 2021-11-13, ksh supported # test should support '<' as well as '>'; before 2021-11-13, ksh supported
# only '>' due to '<' being missorted in shtab_testops[] in data/testops.c # only '>' due to '<' being missorted in shtab_testops[] in data/testops.c
[ foo \< bar ] 2>/dev/null [ foo \< bar ] 2>/dev/null

View file

@ -918,7 +918,7 @@ unset foo
[[ $(printf '%(%q)T') == $(printf '%(%Qz)T') ]] && err_exit 'date format %q is the same as %Qz' [[ $(printf '%(%q)T') == $(printf '%(%Qz)T') ]] && err_exit 'date format %q is the same as %Qz'
[[ $(printf '%(%Z)T') == $(date '+%Z') ]] || err_exit "date format %Z is incorrect (expected $(date '+%Z'), got $(printf '%(%Z)T'))" [[ $(printf '%(%Z)T') == $(date '+%Z') ]] || err_exit "date format %Z is incorrect (expected $(date '+%Z'), got $(printf '%(%Z)T'))"
# Test manually specified blank and zero padding with 'printf %T' # Test manually specified blank and zero padding with 'printf %T'
( (
IFS=$'\n\t' # Preserve spaces in output IFS=$'\n\t' # Preserve spaces in output
for i in d e H I j J k l m M N S U V W y; do for i in d e H I j J k l m M N S U V W y; do
@ -1073,7 +1073,7 @@ then got=$( { "$SHELL" -c '
"(got status $e$( ((e>128)) && print -n / && kill -l "$e"), $(printf %q "$got"))" "(got status $e$( ((e>128)) && print -n / && kill -l "$e"), $(printf %q "$got"))"
fi fi
# ========== # ======
# Verify that the POSIX 'test' builtin exits with status 2 when given an invalid binary operator. # Verify that the POSIX 'test' builtin exits with status 2 when given an invalid binary operator.
for operator in '===' ']]' for operator in '===' ']]'
do do

View file

@ -23,7 +23,7 @@
. "${SHTESTS_COMMON:-${0%/*}/_common}" . "${SHTESTS_COMMON:-${0%/*}/_common}"
if [[ -d /cygdrive ]] if [[ -d /cygdrive ]]
then err_exit cygwin detected - coprocess tests disabled - enable at the risk of wedging your system then err_exit 'Cygwin detected - coprocess tests disabled - enable at the risk of wedging your system'
exit $((Errors)) exit $((Errors))
fi fi

View file

@ -190,7 +190,7 @@ cat > $tmp/script <<- \EOF
EOF EOF
chmod +x $tmp/script chmod +x $tmp/script
if [[ $( $SHELL $tmp/script arg1 arg2) != arg2 ]] if [[ $( $SHELL $tmp/script arg1 arg2) != arg2 ]]
then err_exit 'arguments not restored by posix functions' then err_exit 'arguments not restored by POSIX functions'
fi fi
function foo function foo
{ {
@ -302,7 +302,7 @@ bad()
val=true val=true
bad bad
if [[ $val != false ]] if [[ $val != false ]]
then err_exit 'set -e not inherited for posix functions' then err_exit 'set -e not inherited for POSIX functions'
fi fi
trap - ERR trap - ERR

View file

@ -86,7 +86,7 @@ before=0 after=0 i=0 u=0
# Check results. # Check results.
# The function has 'err_exit' in the name so that shtests counts each call as at test. # The function has 'err_exit' in the name so that shtests counts each call as a test.
function err_exit_if_leak function err_exit_if_leak
{ {
if ((after > before + tolerance)) if ((after > before + tolerance))

View file

@ -56,8 +56,8 @@ then LC_ALL=debug
unset exp LC_ALL unset exp LC_ALL
fi # SHOPT_MULTIBYTE fi # SHOPT_MULTIBYTE
# test shift-jis \x81\x40 ... \x81\x7E encodings # test Shift JIS \x81\x40 ... \x81\x7E encodings
# (shift char followed by 7 bit ascii) # (shift char followed by 7 bit ASCII)
typeset -i16 chr typeset -i16 chr
((SHOPT_MULTIBYTE)) && for locale in "${locales[@]}" ((SHOPT_MULTIBYTE)) && for locale in "${locales[@]}"
@ -106,7 +106,7 @@ if [[ -n $nl_NL ]] && [[ -n $ja_JP ]]; then
fi fi
unset LC_ALL unset LC_ALL
# this locale is supported by ast on all platforms # this locale is supported by AST on all platforms
# EU for { decimal_point="," thousands_sep="." } # EU for { decimal_point="," thousands_sep="." }
if ((SHOPT_MULTIBYTE)); then if ((SHOPT_MULTIBYTE)); then
@ -255,10 +255,10 @@ got=$(set +x; LC_ALL=C.UTF-8 $SHELL -c $'\u[5929]=OK; print ${\u[5929]}' 2>&1)
got=$(set +x; LC_ALL=C.UTF-8 $SHELL -c $'function \u[5929]\n{\nprint OK;\n}; \u[5929]' 2>&1) got=$(set +x; LC_ALL=C.UTF-8 $SHELL -c $'function \u[5929]\n{\nprint OK;\n}; \u[5929]' 2>&1)
[[ $got == "$exp" ]] || err_exit "multibyte ksh function definition/execution failed -- expected '$exp', got '$got'" [[ $got == "$exp" ]] || err_exit "multibyte ksh function definition/execution failed -- expected '$exp', got '$got'"
got=$(set +x; LC_ALL=C.UTF-8 $SHELL -c $'\u[5929]()\n{\nprint OK;\n}; \u[5929]' 2>&1) got=$(set +x; LC_ALL=C.UTF-8 $SHELL -c $'\u[5929]()\n{\nprint OK;\n}; \u[5929]' 2>&1)
[[ $got == "$exp" ]] || err_exit "multibyte posix function definition/execution failed -- expected '$exp', got '$got'" [[ $got == "$exp" ]] || err_exit "multibyte POSIX function definition/execution failed -- expected '$exp', got '$got'"
fi # SHOPT_MULTIBYTE fi # SHOPT_MULTIBYTE
# this locale is supported by ast on all platforms # this locale is supported by AST on all platforms
# mainly used to debug multibyte and message translation code # mainly used to debug multibyte and message translation code
# however wctype is not supported but that's ok for these tests # however wctype is not supported but that's ok for these tests

View file

@ -478,9 +478,9 @@ done
# SIGINFO should be supported by the kill builtin on platforms that have it. # SIGINFO should be supported by the kill builtin on platforms that have it.
if "$(whence -p kill)" -INFO $$ 2> /dev/null if "$(whence -p kill)" -INFO $$ 2> /dev/null
then then
got=$(kill -INFO $$ 2>&1) || err_exit '`kill` cannot send SIGINFO to processes when passed `-INFO`' \ got=$(kill -INFO $$ 2>&1) || err_exit "kill builtin cannot send SIGINFO to processes when passed '-INFO'" \
"(got $(printf %q "$got"))" "(got $(printf %q "$got"))"
got=$(kill -s INFO $$ 2>&1) || err_exit '`kill` cannot send SIGINFO to processes when passed `-s INFO`' \ got=$(kill -s INFO $$ 2>&1) || err_exit "kill builtin cannot send SIGINFO to processes when passed '-s INFO'" \
"(got $(printf %q "$got"))" "(got $(printf %q "$got"))"
fi fi

View file

@ -351,7 +351,7 @@ expected=$'(\n\ttypeset -l -i h=0\n\tbenchcmd_t -a m\n\ttypeset -l -E o=0\n)'
expected=$'Std_file_t db.file[/etc/profile]=(action=preserve;typeset -A sum=([8242e663d6f7bb4c5427a0e58e2925f3]=1);)' expected=$'Std_file_t db.file[/etc/profile]=(action=preserve;typeset -A sum=([8242e663d6f7bb4c5427a0e58e2925f3]=1);)'
{ {
got=$($SHELL <<- \EOF got=$($SHELL <<- \EOF
MAGIC='stdinstall (at&t research) 2009-08-25' MAGIC='stdinstall (AT&T Research) 2009-08-25'
typeset -T Std_file_t=( typeset -T Std_file_t=(
typeset action typeset action
typeset -A sum typeset -A sum
@ -360,7 +360,7 @@ expected=$'Std_file_t db.file[/etc/profile]=(action=preserve;typeset -A sum=([82
typeset magic=$MAGIC typeset magic=$MAGIC
Std_file_t -A file Std_file_t -A file
) )
Std_t db=(magic='stdinstall (at&t research) 2009-08-25';Std_file_t -A file=( [/./home/gsf/.env.sh]=(action=preserve;typeset -A sum=([9b67ab407d01a52b3e73e3945b9a3ee0]=1);)[/etc/profile]=(action=preserve;typeset -A sum=([8242e663d6f7bb4c5427a0e58e2925f3]=1);)[/home/gsf/.profile]=(action=preserve;typeset -A sum=([3ce23137335219672bf2865d003a098e]=1);));) Std_t db=(magic='stdinstall (AT&T Research) 2009-08-25';Std_file_t -A file=( [/./home/gsf/.env.sh]=(action=preserve;typeset -A sum=([9b67ab407d01a52b3e73e3945b9a3ee0]=1);)[/etc/profile]=(action=preserve;typeset -A sum=([8242e663d6f7bb4c5427a0e58e2925f3]=1);)[/home/gsf/.profile]=(action=preserve;typeset -A sum=([3ce23137335219672bf2865d003a098e]=1);));)
typeset -p db.file[/etc/profile] typeset -p db.file[/etc/profile]
EOF) EOF)
} 2> /dev/null } 2> /dev/null

View file

@ -606,14 +606,14 @@ chmod +x $tmp/script
. $tmp/script 1 . $tmp/script 1
[[ $file == $tmp/script ]] || err_exit ".sh.file not working for dot scripts" [[ $file == $tmp/script ]] || err_exit ".sh.file not working for dot scripts"
[[ $($SHELL $tmp/script) == $tmp/script ]] || err_exit ".sh.file not working for scripts" [[ $($SHELL $tmp/script) == $tmp/script ]] || err_exit ".sh.file not working for scripts"
[[ $(posixfun .sh.file) == $tmp/script ]] || err_exit ".sh.file not working for posix functions" [[ $(posixfun .sh.file) == $tmp/script ]] || err_exit ".sh.file not working for POSIX functions"
[[ $(fun .sh.file) == $tmp/script ]] || err_exit ".sh.file not working for functions" [[ $(fun .sh.file) == $tmp/script ]] || err_exit ".sh.file not working for functions"
[[ $(posixfun .sh.fun) == posixfun ]] || err_exit ".sh.fun not working for posix functions" [[ $(posixfun .sh.fun) == posixfun ]] || err_exit ".sh.fun not working for POSIX functions"
[[ $(fun .sh.fun) == fun ]] || err_exit ".sh.fun not working for functions" [[ $(fun .sh.fun) == fun ]] || err_exit ".sh.fun not working for functions"
[[ $(posixfun .sh.subshell) == 1 ]] || err_exit ".sh.subshell not working for posix functions" [[ $(posixfun .sh.subshell) == 1 ]] || err_exit ".sh.subshell not working for POSIX functions"
[[ $(fun .sh.subshell) == 1 ]] || err_exit ".sh.subshell not working for functions" [[ $(fun .sh.subshell) == 1 ]] || err_exit ".sh.subshell not working for functions"
( (
[[ $(posixfun .sh.subshell) == 2 ]] || err_exit ".sh.subshell not working for posix functions in subshells" [[ $(posixfun .sh.subshell) == 2 ]] || err_exit ".sh.subshell not working for POSIX functions in subshells"
[[ $(fun .sh.subshell) == 2 ]] || err_exit ".sh.subshell not working for functions in subshells" [[ $(fun .sh.subshell) == 2 ]] || err_exit ".sh.subshell not working for functions in subshells"
(( .sh.subshell == 1 )) || err_exit ".sh.subshell not working in a subshell" (( .sh.subshell == 1 )) || err_exit ".sh.subshell not working in a subshell"
) )
@ -700,12 +700,12 @@ exec 2>&3-
set -- $x set -- $x
[[ $2 == b ]] || err_exit '$2 should be b after subshell' [[ $2 == b ]] || err_exit '$2 should be b after subshell'
# ======
# BUG_KBGPID: $! was not updated under certain conditions
: & pid=$! : & pid=$!
( : & ) ( : & )
[[ $pid == $! ]] || err_exit '$! value not preserved across subshells' [[ $pid == $! ]] || err_exit '$! value not preserved across subshells'
# ======
# BUG_KBGPID: $! was not updated under certain conditions
pid=$! pid=$!
{ : & } >&2 { : & } >&2
[[ $pid == $! ]] && err_exit '$! value not updated after bg job in braces+redir' [[ $pid == $! ]] && err_exit '$! value not updated after bg job in braces+redir'

View file

@ -13,12 +13,12 @@
12-06-13 features/standards: handle __MACH__ POSIX peculiarities 12-06-13 features/standards: handle __MACH__ POSIX peculiarities
12-06-08 sfio/sfclose.c,sfmode.c: sfclose() for sfopopen() stream returns sh-compatible $? 12-06-08 sfio/sfclose.c,sfmode.c: sfclose() for sfopopen() stream returns sh-compatible $?
12-06-08 comp/strtold.c: fix header botch that missed ldexpl() prototype -- ouch 12-06-08 comp/strtold.c: fix header botch that missed ldexpl() prototype -- ouch
12-06-06 misc/proclib.h: partially undo <ast_standards.h> for leaked ancient bsd-isms 12-06-06 misc/proclib.h: partially undo <ast_standards.h> for leaked ancient BSD-isms
12-05-31 misc/proclib.h: <ast_standards.h> for linux undefined struct mmsghdr* 12-05-31 misc/proclib.h: <ast_standards.h> for Linux undefined struct mmsghdr*
12-05-31 error.h: add ERROR_PIPE(errno) to handle EPIPE and ECONNRESET 12-05-31 error.h: add ERROR_PIPE(errno) to handle EPIPE and ECONNRESET
12-05-31 Makefile: don't install $(INCLUDEDIR)/prototyped.h: src/cmd/INIT does it 12-05-31 Makefile: don't install $(INCLUDEDIR)/prototyped.h: src/cmd/INIT does it
12-05-31 regcomp.c: add (?V...) ~(V...) REG_REGEXP switch 12-05-31 regcomp.c: add (?V...) ~(V...) REG_REGEXP switch
12-05-28 regex: regoff_t in => ssize_t via api 20120528 12-05-28 regex: regoff_t in => ssize_t via API 20120528
12-05-21 features/asometh: split intrinsic and method tests so code only instantiated in aso.c 12-05-21 features/asometh: split intrinsic and method tests so code only instantiated in aso.c
12-05-21 comp/strdup.c: use oldof() since mem overwritten by string copy 12-05-21 comp/strdup.c: use oldof() since mem overwritten by string copy
12-05-18 misc/stk.c: fix access of moved realloc() data 12-05-18 misc/stk.c: fix access of moved realloc() data
@ -27,16 +27,16 @@
12-05-11 regex/regcoll.c: avoid memcpy() to self 12-05-11 regex/regcoll.c: avoid memcpy() to self
12-05-01 port/astconf.c: fix astconflist() to list standard minmax value if defined 12-05-01 port/astconf.c: fix astconflist() to list standard minmax value if defined
12-04-26 sfio/sftmp.c: fix memory leak due to inadvertent SF_STATIC copy 12-04-26 sfio/sftmp.c: fix memory leak due to inadvertent SF_STATIC copy
12-04-26 sfio/sfwrite.c: fix subtle memory leak (with Vmlast or Vmpool or freeBSD malloc) 12-04-26 sfio/sfwrite.c: fix subtle memory leak (with Vmlast or Vmpool or FreeBSD malloc)
12-04-26 vmalloc/vmbest.c: SIGSEGV overcommit check for __linux__ only 12-04-26 vmalloc/vmbest.c: SIGSEGV overcommit check for __linux__ only
12-04-25 vmalloc: add _vmfd() for private close-on-exec fds 12-04-25 vmalloc: add _vmfd() for private close-on-exec fds
12-04-23 sfio_t.h: change getr to 32 bits to prepare for UTF-8 delimiters 12-04-23 sfio_t.h: change getr to 32 bits to prepare for UTF-8 delimiters
12-04-23 features/signal.c: add SIGSTKFLT 12-04-23 features/signal.c: add SIGSTKFLT
12-04-17 regex/regcomp.c: fix (E:...) vs (E)... scoping 12-04-17 regex/regcomp.c: fix (E:...) vs (E)... scoping
12-04-11 features/sys: add aix's _LARGE_FILE_API to the _LARGEFILE(64)?_SOURCE mix -- anyone else? 12-04-11 features/sys: add AIX's _LARGE_FILE_API to the _LARGEFILE(64)?_SOURCE mix -- anyone else?
12-04-11 include/cmdarg.h,misc/cmdarg.c: (finally!) add a discipline with Cmdrun_f 12-04-11 include/cmdarg.h,misc/cmdarg.c: (finally!) add a discipline with Cmdrun_f
12-03-28 vmalloc: int vs [s]size_t cleanup 12-03-28 vmalloc: int vs [s]size_t cleanup
12-03-27 sfio: fix #if logic that caused syntax errors (on 64 bit uwin) 12-03-27 sfio: fix #if logic that caused syntax errors (on 64 bit UWIN)
12-03-10 misc/optget.c: HELP_index for "PLUGIN" too 12-03-10 misc/optget.c: HELP_index for "PLUGIN" too
12-02-29 include/shcmd.h: PLUGIN_VERSION 20111111 for cdt disc/meth change 12-02-29 include/shcmd.h: PLUGIN_VERSION 20111111 for cdt disc/meth change
12-02-29 comp/spawnveg.c: fix sigcritical() to include waitpid() for internal child 12-02-29 comp/spawnveg.c: fix sigcritical() to include waitpid() for internal child
@ -46,7 +46,7 @@
12-02-24 astsa/astsa.omk: clean up standalone old make makefile interactions 12-02-24 astsa/astsa.omk: clean up standalone old make makefile interactions
12-02-21 misc/cmdarg.c: fix bug that set argv[0] 12-02-21 misc/cmdarg.c: fix bug that set argv[0]
12-02-10 sfvprintf.c: fix 1 byte too long buffer access 12-02-10 sfvprintf.c: fix 1 byte too long buffer access
12-02-07 malloc.c/features/vmalloc: add gnu __malloc_hook tests 12-02-07 malloc.c/features/vmalloc: add GNU __malloc_hook tests
12-02-06 vmmopen.c: fix ALIGN vs sys/param.h macro conflict 12-02-06 vmmopen.c: fix ALIGN vs sys/param.h macro conflict
12-02-02 astlicense.c: add license.component for component-specific licenses 12-02-02 astlicense.c: add license.component for component-specific licenses
12-01-31 spawnveg.c: fix transient bug that made invalid setpgid() call 12-01-31 spawnveg.c: fix transient bug that made invalid setpgid() call
@ -60,12 +60,12 @@
12-01-10 tmxdate.c: handle { n>=1000 } TM_PARTS 12-01-10 tmxdate.c: handle { n>=1000 } TM_PARTS
11-12-21 plug up some memory links -- thanks mhlavink 11-12-21 plug up some memory links -- thanks mhlavink
11-12-21 vmprivate.c: enclose VM_NONMEM exception in CLRLOCK(vm,0) ... SETLOCK(vm,0) 11-12-21 vmprivate.c: enclose VM_NONMEM exception in CLRLOCK(vm,0) ... SETLOCK(vm,0)
11-12-13 aso: in -lposix for uwin, not -last -- just like vmalloc 11-12-13 aso: in -lposix for UWIN, not -last -- just like vmalloc
11-12-13 sfpoll.c: all streams SF_IOINTR => don't ignore EINTR 11-12-13 sfpoll.c: all streams SF_IOINTR => don't ignore EINTR
11-12-13 sfdcslow.c: set SF_IOINTR 11-12-13 sfdcslow.c: set SF_IOINTR
11-12-09 malloc.c: add _vmkeep() for setlocale() intercept _SYS_setlocale_free_OK 11-12-09 malloc.c: add _vmkeep() for setlocale() intercept _SYS_setlocale_free_OK
11-12-04 sfio: _Sfmaxr=0 (unlimited) by default; use ulimit -M|-d or SFIO_OPTIONS 11-12-04 sfio: _Sfmaxr=0 (unlimited) by default; use ulimit -M|-d or SFIO_OPTIONS
11-12-01 aso: sync to new api 11-12-01 aso: sync to new API
11-11-11 optget.c: move .TH to the top for --nroff to get our macros first 11-11-11 optget.c: move .TH to the top for --nroff to get our macros first
11-11-11 aso,cdt,vmalloc: resync with kpv 11-11-11 aso,cdt,vmalloc: resync with kpv
11-11-11 cdt: preserve bits and Dt_link_t for CDT_VERSION < 20111111 11-11-11 cdt: preserve bits and Dt_link_t for CDT_VERSION < 20111111
@ -74,18 +74,18 @@
11-10-10 aso: add _WIN32 support 11-10-10 aso: add _WIN32 support
11-09-26 vmalloc: sync with kpv 11-09-26 vmalloc: sync with kpv
11-08-29 features/{dirent,wchar,wctype}: eliminate #include with no header 11-08-29 features/{dirent,wchar,wctype}: eliminate #include with no header
11-08-25 #pragma prototyped tweaks -- sun4 is dead, long live sun4 11-08-25 #pragma prototyped tweaks -- SunOS 4 is dead, long live SunOS 4
11-08-25 ftwalk.c: FTS_SLNONE => FTW_SL 11-08-25 ftwalk.c: FTS_SLNONE => FTW_SL
11-08-11 features/wchar: fix #include _nxt_wchar for K&R C 11-08-11 features/wchar: fix #include _nxt_wchar for K&R C
11-08-04 optget.c: tweak --html rendering 11-08-04 optget.c: tweak --html rendering
11-07-24 mime.c: add %(default)[st] default if arg == "" 11-07-24 mime.c: add %(default)[st] default if arg == ""
11-07-21 setlocale.c: fix debug locale to treat "<<" as two single byte chars 11-07-21 setlocale.c: fix debug locale to treat "<<" as two single byte chars
11-06-14 spawnveg.c: pgid -1: new session -2: setpgrp()&&tcsetpgid() 11-06-14 spawnveg.c: pgid -1: new session -2: setpgrp()&&tcsetpgid()
11-06-14 pathprog.c: add darwin _NSGetExecutablePath 11-06-14 pathprog.c: add Darwin _NSGetExecutablePath
11-05-14 features/common,features/align.c: { _X86_ _X64_ } conditionals for generic uwin 11-05-14 features/common,features/align.c: { _X86_ _X64_ } conditionals for generic UWIN
11-05-13 tm/tminit.c: tweak tzname[] prototype 11-05-13 tm/tminit.c: tweak tzname[] prototype
11-05-09 astlicense.c: add ". file" parent-relative include and depth 4 input stack 11-05-09 astlicense.c: add ". file" parent-relative include and depth 4 input stack
11-05-05 cmdarg: update to cmdopen_20110505 api 11-05-05 cmdarg: update to cmdopen_20110505 API
11-05-03 sfio/sfclose.c: make sure close() errors propagate to sfclose() return value 11-05-03 sfio/sfclose.c: make sure close() errors propagate to sfclose() return value
11-04-20 port/astlicense.c: add { id name } keys 11-04-20 port/astlicense.c: add { id name } keys
11-04-15 fmtdev.c: fix to work for non-{blk,chr} special 11-04-15 fmtdev.c: fix to work for non-{blk,chr} special
@ -95,18 +95,18 @@
11-03-17 misc/stk.c: fixed bug that could delete an active stack frame 11-03-17 misc/stk.c: fixed bug that could delete an active stack frame
11-03-10 sfio/sfvprintf.c: add %0<width>s to preserve <width> trailing chars in string arg 11-03-10 sfio/sfvprintf.c: add %0<width>s to preserve <width> trailing chars in string arg
11-03-09 misc/magic.c: add %d...%s where if %d==1 then %s=="" else %s=="s" 11-03-09 misc/magic.c: add %d...%s where if %d==1 then %s=="" else %s=="s"
11-03-09 misc/magic.tab: add windows ico 11-03-09 misc/magic.tab: add Windows ico
11-02-08 misc/stk.c: change STK_FSIZE to (1024*sizeof(char*)) for 64 bit normalization 11-02-08 misc/stk.c: change STK_FSIZE to (1024*sizeof(char*)) for 64 bit normalization
11-02-02 sfio/sfmode.c: don't call sfsetbuf() on unbuffered stream to make it unbuffered 11-02-02 sfio/sfmode.c: don't call sfsetbuf() on unbuffered stream to make it unbuffered
11-02-02 features/wchar: handle hp.ia64 va_list interactions 11-02-02 features/wchar: handle hp.ia64 va_list interactions
11-02-02 comp/omitted.c: fix mismatch between stat() vs _stat() 11-02-02 comp/omitted.c: fix mismatch between stat() vs _stat()
11-01-31 std/wctype,features/wctype: add to handle <wchar.h> interactions 11-01-31 std/wctype,features/wctype: add to handle <wchar.h> interactions
11-01-28 add -lw for ancient sunos 11-01-28 add -lw for ancient SunOS
11-01-28 include/magic.h,misc/magic.c: add MAGIC_ALL 11-01-28 include/magic.h,misc/magic.c: add MAGIC_ALL
11-01-27 tm/tmxfmt.c,tmpoff.c: %_z for SHH:MM 11-01-27 tm/tmxfmt.c,tmpoff.c: %_z for SHH:MM
11-01-25 features/wchar: change <wctype.h> <wchar.h> ordering 11-01-25 features/wchar: change <wctype.h> <wchar.h> ordering
10-12-24 sfstrtof.h: fix thousand grouping bug that did not check last group 10-12-24 sfstrtof.h: fix thousand grouping bug that did not check last group
10-12-21 pathkey.c: add win32 { /32 /64 } preroot to hash 10-12-21 pathkey.c: add Win32 { /32 /64 } preroot to hash
10-12-09 pathprog.c: handle intermediate path != '* and fix invalid pathpath() call 10-12-09 pathprog.c: handle intermediate path != '* and fix invalid pathpath() call
10-12-01 astconf.c: fix look.standard undefined variable reference 10-12-01 astconf.c: fix look.standard undefined variable reference
10-12-01 sfset.c: SF_LINE|SF_WCWIDTH => no need for sfsetbuf() to call isatty() 10-12-01 sfset.c: SF_LINE|SF_WCWIDTH => no need for sfsetbuf() to call isatty()
@ -120,13 +120,13 @@
10-11-19 regcomp.c: REG_SHELL => REG_CLASS_ESCAPE 10-11-19 regcomp.c: REG_SHELL => REG_CLASS_ESCAPE
10-11-16 vmalloc.h: add VMFL tracing to vmstrdup() 10-11-16 vmalloc.h: add VMFL tracing to vmstrdup()
10-11-16 ast.h: simplify VMDEBUG _BLD_DEBUG and VMFL logic 10-11-16 ast.h: simplify VMDEBUG _BLD_DEBUG and VMFL logic
10-11-12 tm/tmlocale.c: ast TM_* extensions default to C locale 10-11-12 tm/tmlocale.c: AST TM_* extensions default to C locale
10-11-10 regex/regnexec.c,vmalloc/vmstat.c: eliminate strict-aliasing puns 10-11-10 regex/regnexec.c,vmalloc/vmstat.c: eliminate strict-aliasing puns
10-10-20 misc/translate.c: change debug translation to drop " in (a,b,c,"d") 10-10-20 misc/translate.c: change debug translation to drop " in (a,b,c,"d")
10-10-10 misc/glob.c: drop ancient D_FILENO(d)!=0 test and trust readdir() 10-10-10 misc/glob.c: drop ancient D_FILENO(d)!=0 test and trust readdir()
10-10-06 misc/translate.c: fix "debug" locale logic 10-10-06 misc/translate.c: fix "debug" locale logic
10-10-04 misc/magic.c: fix magic() skip check to honor the continuation 10-10-04 misc/magic.c: fix magic() skip check to honor the continuation
10-10-04 regex/regcoll.c: add wchar_t* args to regcollate(), drop ucs name lookup 10-10-04 regex/regcoll.c: add wchar_t* args to regcollate(), drop UCS name lookup
10-09-28 comp/setlocale.c: add utf8_wctomb() 10-09-28 comp/setlocale.c: add utf8_wctomb()
10-09-28 string/chresc.c,regex/regcoll.c: fix \S[.X.] (\C[.X.] never worked!) 10-09-28 string/chresc.c,regex/regcoll.c: fix \S[.X.] (\C[.X.] never worked!)
10-09-24 string/chresc.c: \Cc for control c, \S[.X.] for collating symbol X 10-09-24 string/chresc.c: \Cc for control c, \S[.X.] for collating symbol X
@ -152,10 +152,10 @@
10-06-28 comp/conf.tab: another PID_MAX tweak -- default to 99999 for most 10-06-28 comp/conf.tab: another PID_MAX tweak -- default to 99999 for most
10-06-28 port/astconf.c: lone "CONFORMANCE = standard" => all defaults standard 10-06-28 port/astconf.c: lone "CONFORMANCE = standard" => all defaults standard
10-06-25 misc/optget.c: avoid sfprints() call during initialization 10-06-25 misc/optget.c: avoid sfprints() call during initialization
10-06-01 features/api, ast_api.h: formalized forwards/backwards api compatibility 10-06-01 features/api, ast_api.h: formalized forwards/backwards API compatibility
10-06-01 _AST_API=20100601: add size_t args for all path*() output buffers 10-06-01 _AST_API=20100601: add size_t args for all path*() output buffers
10-06-01 comp/setlocale.c: handle C.UTF-8 test locale 10-06-01 comp/setlocale.c: handle C.UTF-8 test locale
10-06-01 include/mc.h: add size_t to mcfind() for result buffer (internal api) 10-06-01 include/mc.h: add size_t to mcfind() for result buffer (internal API)
10-06-01 use strlcpy() instead of strncpy() 10-06-01 use strlcpy() instead of strncpy()
10-05-28 include/ast_version.h: add AST_PLUGIN_VERSION for dllplugin() 10-05-28 include/ast_version.h: add AST_PLUGIN_VERSION for dllplugin()
10-05-28 include/shcmd.h: add SH_PLUGIN_VERSION for dllplugin() 10-05-28 include/shcmd.h: add SH_PLUGIN_VERSION for dllplugin()
@ -175,7 +175,7 @@
10-04-22 misc/optget.c: check for html entities in <A name="..."> 10-04-22 misc/optget.c: check for html entities in <A name="...">
10-04-22 misc/getcwd.c: add features/syscall check for SYSGETCWD() { linux solaris } 10-04-22 misc/getcwd.c: add features/syscall check for SYSGETCWD() { linux solaris }
10-04-22 string/stresc.c: wide chars absent locale guidance default to UTF-8 10-04-22 string/stresc.c: wide chars absent locale guidance default to UTF-8
10-04-12 port/mnt.c: favor bsd getfsstat() over getmntinfo() 10-04-12 port/mnt.c: favor BSD getfsstat() over getmntinfo()
10-04-11 string/strtoi.h: k (1000) and ki (1024) now differentiated 10-04-11 string/strtoi.h: k (1000) and ki (1024) now differentiated
10-04-10 misc/recstr.c: fix 'd[delimiter]' parse 10-04-10 misc/recstr.c: fix 'd[delimiter]' parse
10-04-08 include/vmalloc.h,vmalloc/vmstat.c: add Vmstat_t.mode region mode bits 10-04-08 include/vmalloc.h,vmalloc/vmstat.c: add Vmstat_t.mode region mode bits
@ -202,9 +202,9 @@
10-01-29 misc/optget.c: [+NAME?...] overrides error_info.id for >= STYLE_man 10-01-29 misc/optget.c: [+NAME?...] overrides error_info.id for >= STYLE_man
10-01-25 vmalloc/vmprivate.c: fix seg ptr initialization bug (24 years old!!) 10-01-25 vmalloc/vmprivate.c: fix seg ptr initialization bug (24 years old!!)
10-01-20 misc/optget.c: handle nested {...} rendering 10-01-20 misc/optget.c: handle nested {...} rendering
10-01-20 misc/state.c: add ast.version for runtime api version 10-01-20 misc/state.c: add ast.version for runtime API version
10-01-20 port/astconf.c: "_AST_VERSION" now returns ast.version 10-01-20 port/astconf.c: "_AST_VERSION" now returns ast.version
10-01-20 include/ast_std.h: add ast.version for runtime api version 10-01-20 include/ast_std.h: add ast.version for runtime API version
10-01-19 astlicense.c: add epl 10-01-19 astlicense.c: add epl
10-01-01 vmalloc: VMALLOC_OPTIONS env var for all runtime options 10-01-01 vmalloc: VMALLOC_OPTIONS env var for all runtime options
10-01-01 include: change some <ast.h> refs to less intrusive <ast_*.h> 10-01-01 include: change some <ast.h> refs to less intrusive <ast_*.h>
@ -212,7 +212,7 @@
10-01-01 comp/setlocale.c: AST_LC_setenv defers to LC_ALL (for sh) 10-01-01 comp/setlocale.c: AST_LC_setenv defers to LC_ALL (for sh)
10-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv } 10-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv }
09-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized 09-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized
09-12-17 misc/optget.c: handle mixed solaris usage="x:f:(in)yo:(out)" 09-12-17 misc/optget.c: handle mixed Solaris usage="x:f:(in)yo:(out)"
09-12-11 regex/regcomp.c: POSIX semantics for [z-a] 09-12-11 regex/regcomp.c: POSIX semantics for [z-a]
09-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic 09-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic
09-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT 09-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT
@ -280,7 +280,7 @@
08-12-21 tm/tmdata.c: add 2008-12-31+23:59:60-0000 leap second event 08-12-21 tm/tmdata.c: add 2008-12-31+23:59:60-0000 leap second event
08-12-19 tm/tmxdate.c: check for dates near the epoch rolling back to the future 08-12-19 tm/tmxdate.c: check for dates near the epoch rolling back to the future
08-12-19 tm/tmxfmt.c: change %s for now==0 to be the epoch 08-12-19 tm/tmxfmt.c: change %s for now==0 to be the epoch
08-12-07 include/ast_std.h,misc/getenv.c: no _ast_getenv for uwin ast54 compatibility 08-12-07 include/ast_std.h,misc/getenv.c: no _ast_getenv for UWIN AST54 compatibility
08-12-07 tm/tmxfmt.c: add %[_][EO]K for [space pad] [full|long] iso 08-12-07 tm/tmxfmt.c: add %[_][EO]K for [space pad] [full|long] iso
08-12-07 sfio/sfvscanf.c: fix ok[] short by one allocation 08-12-07 sfio/sfvscanf.c: fix ok[] short by one allocation
08-12-07 comp/setlocale.c: fix off by one composite initialization loop test 08-12-07 comp/setlocale.c: fix off by one composite initialization loop test
@ -295,7 +295,7 @@
08-09-05 Makefile: ibm.risc joins the :NOOPTIMIZE: crowd 08-09-05 Makefile: ibm.risc joins the :NOOPTIMIZE: crowd
08-09-04 regex/regnexec.c: fix nested delimiter match beyond end of subject 08-09-04 regex/regnexec.c: fix nested delimiter match beyond end of subject
08-08-20 misc/fts.c: fix st_nlink stat() optimization logic 08-08-20 misc/fts.c: fix st_nlink stat() optimization logic
08-08-19 sfio/sfpkrd.c: workaround macosx recv(PEEK) data consumption on non-socket 08-08-19 sfio/sfpkrd.c: workaround Mac OS X recv(PEEK) data consumption on non-socket
08-08-19 strn?tol?d: handle long double with smaller exponent range than double 08-08-19 strn?tol?d: handle long double with smaller exponent range than double
08-08-18 sfio/sfcvt.c: eliminate excessive multiplies and integral overprecision 08-08-18 sfio/sfcvt.c: eliminate excessive multiplies and integral overprecision
08-08-11 tm/tmxfmt.c: handle %10N and %010N 08-08-11 tm/tmxfmt.c: handle %10N and %010N
@ -345,7 +345,7 @@
07-12-02 sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0) 07-12-02 sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0)
07-11-21 comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation 07-11-21 comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation
07-11-15 features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1 07-11-15 features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1
07-11-14 features/float: favor sscanf() due to gnu strto[l]d() nan bugs 07-11-14 features/float: favor sscanf() due to GNU strto[l]d() NaN bugs
07-10-31 regex/regcomp.c: fix REX_COLL_CLASS node allocation size 07-10-31 regex/regcomp.c: fix REX_COLL_CLASS node allocation size
07-10-31 sfio/sfcvt.c: use signbit() if available 07-10-31 sfio/sfcvt.c: use signbit() if available
07-10-31 features/isoc99: _ISOC99_SOURCE tests 07-10-31 features/isoc99: _ISOC99_SOURCE tests
@ -382,8 +382,8 @@
07-04-20 port/(lclang.h|lc.c|mc.c|lclib.h|lcgen.c): separate lctab.c 07-04-20 port/(lclang.h|lc.c|mc.c|lclib.h|lcgen.c): separate lctab.c
07-04-20 comp/conf.sh: defer to systems without 'grep -q' -- sigh 07-04-20 comp/conf.sh: defer to systems without 'grep -q' -- sigh
07-04-20 comp/conf.sh: probe for LL integer constant initializer suffix 07-04-20 comp/conf.sh: probe for LL integer constant initializer suffix
07-04-20 include/syslog.h: <namval.h> => <ast_namval.h> for win32 07-04-20 include/syslog.h: <namval.h> => <ast_namval.h> for Win32
07-04-20 ast_namval.h: add as copy of include/namval.h for win32 07-04-20 ast_namval.h: add as copy of include/namval.h for Win32
07-04-19 comp/conf.tab: fix SVID SI entries to probe SI_* (not _SI_*) 07-04-19 comp/conf.tab: fix SVID SI entries to probe SI_* (not _SI_*)
07-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset 07-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset
07-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER 07-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER
@ -425,7 +425,7 @@
06-12-11 comp/conf.tab: always defer ARG_MAX 06-12-11 comp/conf.tab: always defer ARG_MAX
06-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh 06-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh
06-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches 06-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches
06-12-01 comp/conf.tab: add changes to cover solaris { bin xpg4 xpg6 } 06-12-01 comp/conf.tab: add changes to cover Solaris { bin xpg4 xpg6 }
06-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...] 06-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...]
06-12-01 sfio/sfcvt.c: add signbit/copysign tests 06-12-01 sfio/sfcvt.c: add signbit/copysign tests
06-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d 06-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d
@ -462,7 +462,7 @@
06-10-01 comp/putenv.c: always enable setenv() for procopen() 06-10-01 comp/putenv.c: always enable setenv() for procopen()
06-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID 06-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID
06-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93 06-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93
06-09-28 Makefile: avoid ast <stdio.h> vix iffe -X ast -- doh 06-09-28 Makefile: avoid AST <stdio.h> with iffe -X ast -- doh
06-09-27 regex/regdecomp.c: add 06-09-27 regex/regdecomp.c: add
06-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre> 06-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre>
06-09-25 reorganize to avoid native header intercepts 06-09-25 reorganize to avoid native header intercepts
@ -483,7 +483,7 @@
06-08-22 misc/glob.c: handle ~(...) pattern options 06-08-22 misc/glob.c: handle ~(...) pattern options
06-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug 06-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug
06-08-16 regex/regcomp.c: accept but ignore ~(N) 06-08-16 regex/regcomp.c: accept but ignore ~(N)
06-08-14 features/libpath.sh: add solaris LD_LIBRARY_PATH_64 check 06-08-14 features/libpath.sh: add Solaris LD_LIBRARY_PATH_64 check
06-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix 06-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix
06-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for .. 06-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for ..
06-07-28 include/glob.h: add gl_extra for user globlist_t expansion 06-07-28 include/glob.h: add gl_extra for user globlist_t expansion
@ -498,19 +498,19 @@
06-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT 06-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT
06-07-17 string/chresc.c: add \Uxxxxxxxx 06-07-17 string/chresc.c: add \Uxxxxxxxx
06-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal 06-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal
06-07-17 string/tokline.c: splice() => spliceline() for bsd 06-07-17 string/tokline.c: splice() => spliceline() for BSD
06-06-27 features/float,sfio/sfcvt.c: fix Nan logic 06-06-27 features/float,sfio/sfcvt.c: fix Nan logic
06-06-27 port/astmath.c: fix long double isnan() test 06-06-27 port/astmath.c: fix long double isnan() test
06-06-27 features/map.c: _map_libc for std => _ast_std 06-06-27 features/map.c: _map_libc for std => _ast_std
06-06-25 string/strperm.c: handle POSIX = w.r.t. umask 06-06-25 string/strperm.c: handle POSIX = w.r.t. umask
06-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change 06-06-19 port/mnt.c,features/fs: handle NetBSD getmntent API change
06-06-18 regex/regstat.c: add REG_LITERAL check 06-06-18 regex/regstat.c: add REG_LITERAL check
06-06-11 cdt/dtview.c: update from kpv 06-06-11 cdt/dtview.c: update from kpv
06-05-31 sfio/sfhdr.h: fix _SFOPEN() typo 06-05-31 sfio/sfhdr.h: fix _SFOPEN() typo
06-05-09 comp/conf.sh: add native getconf -a names to the mix 06-05-09 comp/conf.sh: add native getconf -a names to the mix
06-04-28 misc/optget.c: add solaris long option name compatibility 06-04-28 misc/optget.c: add Solaris long option name compatibility
06-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags 06-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags
06-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator 06-02-14 comp/iconv.c: fix UWIN iconv_list() /reg/ generator
06-02-10 port/astconf.c: relax standard prefix filter 06-02-10 port/astconf.c: relax standard prefix filter
06-02-08 sfrd.c,sfsync.c: lock logic bug fix 06-02-08 sfrd.c,sfsync.c: lock logic bug fix
06-02-01 port/astlicense.c: add { parent incorporation } 06-02-01 port/astlicense.c: add { parent incorporation }
@ -520,7 +520,7 @@
06-01-01 include/sfio.h: export { _Sfi _Sfmaxr } 06-01-01 include/sfio.h: export { _Sfi _Sfmaxr }
05-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC 05-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC
05-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache() 05-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache()
05-10-06 string/ccmap.c: update ebcdic-u to be idempotent 05-10-06 string/ccmap.c: update EBCDIC-U to be idempotent
05-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing 05-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing
05-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header 05-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header
05-09-12 misc/optget.c: reset opt_info.offset on error 05-09-12 misc/optget.c: reset opt_info.offset on error
@ -531,16 +531,16 @@
05-08-03 sfio: snarf sfvaprints sfaprints 05-08-03 sfio: snarf sfvaprints sfaprints
05-07-21 port/astconf.c: retain most recent synthesized lookup 05-07-21 port/astconf.c: retain most recent synthesized lookup
05-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems 05-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems
05-07-17 ccmap*: add microfocus cobol EBCDIC_U 05-07-17 ccmap*: add Micro Focus COBOL EBCDIC_U
05-06-29 regex/regcomp.c: fix the A & B inline flag logic 05-06-29 regex/regcomp.c: fix the A & B inline flag logic
05-06-15 include/recfmt.h: add fs format flag to fmtrec() 05-06-15 include/recfmt.h: add fs format flag to fmtrec()
05-06-14 error.c: add ERROR_OPTIONS { break count match } 05-06-14 error.c: add ERROR_OPTIONS { break count match }
05-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep 05-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep
05-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround 05-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround
05-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh 05-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh
05-05-30 sfio/sfpkrd.c: work around macos 10.4 recv(MSG_PEEK) bug 05-05-30 sfio/sfpkrd.c: work around Mac OS X 10.4 recv(MSG_PEEK) bug
05-05-27 regex: add REX_NEST (?%[S.][T.][OT]) 05-05-27 regex: add REX_NEST (?%[S.][T.][OT])
magic.tab: amend bsd db magic magic.tab: amend BSD db magic
05-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...) 05-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...)
05-05-21 regex: state.fold[] is now locale specific -- doh 05-05-21 regex: state.fold[] is now locale specific -- doh
05-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match 05-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match
@ -559,9 +559,9 @@
05-03-31 misc/optget.c: fix option { - _ } separator matching 05-03-31 misc/optget.c: fix option { - _ } separator matching
05-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls 05-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls
05-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible 05-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible
05-03-23 string/ccmap.c: add ebcdic-m mvs cobol table 05-03-23 string/ccmap.c: add EBCDIC-M MVS COBOL table
05-03-11 comp/omitted.c: handle utime[s](const,const) 05-03-11 comp/omitted.c: handle utime[s](const,const)
comp/conf.tab: fix linux PID_MAX probe comp/conf.tab: fix Linux PID_MAX probe
05-03-10 comp/setlocale.c: LC_* value "" => unset -- doh 05-03-10 comp/setlocale.c: LC_* value "" => unset -- doh
misc/optget.c: reorder _PACKAGE_astsa code for msgcc misc/optget.c: reorder _PACKAGE_astsa code for msgcc
05-03-08 misc/optget.c: delete leading space in STYLE_nroff output 05-03-08 misc/optget.c: delete leading space in STYLE_nroff output
@ -575,7 +575,7 @@
05-02-04 features/lib: add _std_strtol (for lynxos) 05-02-04 features/lib: add _std_strtol (for lynxos)
include/ast_std.h: add _std_strtol tests include/ast_std.h: add _std_strtol tests
comp/strtod.c: #define S2F_function strtod comp/strtod.c: #define S2F_function strtod
misc/signal.c: fix ancient bsd SV_INTERRUPT vs. SV_ABORT clash misc/signal.c: fix ancient BSD SV_INTERRUPT vs. SV_ABORT clash
05-01-11 sfio/sfmove.c: try to seek(fr) when fw==0 05-01-11 sfio/sfmove.c: try to seek(fr) when fw==0
comp/omitted.c: intercept utimes() too comp/omitted.c: intercept utimes() too
comp/omitted.c: add DOSPATHVARS env var path value conversions comp/omitted.c: add DOSPATHVARS env var path value conversions
@ -594,7 +594,7 @@
04-12-01 tm/tmsleep.c: add 04-12-01 tm/tmsleep.c: add
tv.h,tv*.c,tv.3: move from pax tv.h,tv*.c,tv.3: move from pax
tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts
features/lib: add *another* sgi linux.ia64 memccpy bug check features/lib: add *another* SGI linux.ia64 memccpy bug check
04-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101 04-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101
ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator
option.h,optesc.c: add 3rd arg, 1 => quote '?' too option.h,optesc.c: add 3rd arg, 1 => quote '?' too
@ -639,7 +639,7 @@
04-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values 04-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values
04-06-28 misc/error.c: check level after error_info.auxilliary 04-06-28 misc/error.c: check level after error_info.auxilliary
04-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array 04-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array
04-06-17 features/common: change _DLL null define to (the standard ast) 1 04-06-17 features/common: change _DLL null define to (the standard AST) 1
04-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix 04-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix
misc/optget.c: reset optstr() state on 0 return misc/optget.c: reset optstr() state on 0 return
misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround
@ -660,12 +660,12 @@
04-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash) 04-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash)
sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x
04-02-29 comp/omitted.c: move env trace after PATH fixup 04-02-29 comp/omitted.c: move env trace after PATH fixup
comp/omitted.c: cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0) comp/omitted.c: Cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0)
misc/optget.c: fix html mailto: match misc/optget.c: fix html mailto: match
port/astlicense.c: add type=test for fixed 2001 date port/astlicense.c: add type=test for fixed 2001 date
features/float: check local NaNQ first features/float: check local NaNQ first
vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type
misc/magic.tab: add elf s390 index=22 misc/magic.tab: add ELF s390 index=22
04-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort 04-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort
sfio/sfvscanf.c: fix extf arg selection sfio/sfvscanf.c: fix extf arg selection
04-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef 04-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef
@ -683,7 +683,7 @@
04-01-31 features/vmalloc: fix typo that missed _mmap_zero 04-01-31 features/vmalloc: fix typo that missed _mmap_zero
04-01-23 string/strerror.c: handle real strerror() return value overwrite 04-01-23 string/strerror.c: handle real strerror() return value overwrite
04-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo 04-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo
03-12-22 misc/magic.tab: dos EXE tweaks 03-12-22 misc/magic.tab: DOS EXE tweaks
03-12-05 vmalloc: sync with kpv, adding exceptf announcements 03-12-05 vmalloc: sync with kpv, adding exceptf announcements
03-12-04 port/astlicense.c: fix expand() loop sentinel bug 03-12-04 port/astlicense.c: fix expand() loop sentinel bug
03-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error 03-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error
@ -706,10 +706,10 @@
03-09-23 modedata.c: table is for external modes, so no arch specific hacks 03-09-23 modedata.c: table is for external modes, so no arch specific hacks
optget.c: fix option prefix match translation bug optget.c: fix option prefix match translation bug
optget.c: add `<length> <name>=<value>\n' to optstr() optget.c: add `<length> <name>=<value>\n' to optstr()
features/lib: add memcmp() test for sgi optimization bug features/lib: add memcmp() test for SGI optimization bug
03-09-22 regex.h,regcomp.c: add regncomp() 03-09-22 regex.h,regcomp.c: add regncomp()
regclass.c: fix for loop dangling ; in regaddclass() regclass.c: fix for loop dangling ; in regaddclass()
03-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf api 03-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf API
03-09-19 sfmode.c: update release to kpv's 03-09-19 sfmode.c: update release to kpv's
03-09-17 regcomp.c: add pedantic backref error checks 03-09-17 regcomp.c: add pedantic backref error checks
03-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position 03-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position
@ -724,10 +724,10 @@
features/lib: _AST_no_spawnveg==1 falls back to fork/exec features/lib: _AST_no_spawnveg==1 falls back to fork/exec
03-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add 03-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add
03-08-21 path/pathnative.c,path/pathposix.c: interix updates 03-08-21 path/pathnative.c,path/pathposix.c: interix updates
features/botched: add cygwin _stat => _stat64 features/botched: add Cygwin _stat => _stat64
03-08-15 include/ast.h: map out bsd strmode() 03-08-15 include/ast.h: map out BSD strmode()
features/common: add interix _ast_intmax_t workarounds features/common: add interix _ast_intmax_t workarounds
misc/fs3d.c: 3d mount test now uses "" instead of NiL (or cygwin dumps) misc/fs3d.c: 3d mount test now uses "" instead of NiL (or Cygwin dumps)
03-08-11 string/fmtesc.c: fix optional quoting checks 03-08-11 string/fmtesc.c: fix optional quoting checks
tm/tmdate.c: fix > 1 year of seconds arithmetic tm/tmdate.c: fix > 1 year of seconds arithmetic
tm/tmfix.c: fix leap year adjustments tm/tmfix.c: fix leap year adjustments
@ -820,7 +820,7 @@
tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim> tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim>
misc/optget.c: fix trailing '*' for option and option args misc/optget.c: fix trailing '*' for option and option args
sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2} sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2}
vmalloc/*: kpv sync for uwin build independent of libast vmalloc/*: kpv sync for UWIN build independent of libast
03-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss) 03-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss)
string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss) string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss)
regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data
@ -836,7 +836,7 @@
disc/sfdcdos.c: change sfslen() => sfvalue(f) disc/sfdcdos.c: change sfslen() => sfvalue(f)
03-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd] 03-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd]
03-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard 03-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard
03-03-05 comp/omitted.c: make sure at least /bin is in PATH to find cygwin dlls 03-03-05 comp/omitted.c: make sure at least /bin is in PATH to find Cygwin dlls
03-03-02 path/pathshell.c: write access to /bin is effectively root 03-03-02 path/pathshell.c: write access to /bin is effectively root
03-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX) 03-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX)
03-02-25 features/lib: change vfork() test to use _exit() instead of exit() 03-02-25 features/lib: change vfork() test to use _exit() instead of exit()
@ -853,8 +853,8 @@
03-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec 03-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec
03-01-31 port/astlicense.c: fix author=* match 03-01-31 port/astlicense.c: fix author=* match
03-01-30 include/tm.h: add tmisleapyear() macro 03-01-30 include/tm.h: add tmisleapyear() macro
03-01-29 comp/getopt.h,comp/getoptl.c: add gnu getopt_long(), getopt_long_only() 03-01-29 comp/getopt.h,comp/getoptl.c: add GNU getopt_long(), getopt_long_only()
include/ast_getopt.h: for non-gnu part of comp/getopt.h include/ast_getopt.h: for non-GNU part of comp/getopt.h
include/ast_std.h: include <ast_getopt.h> instead of <getopt.h> include/ast_std.h: include <ast_getopt.h> instead of <getopt.h>
03-01-28 ast.h,string/base64.c: add base64encode() and base64decode() 03-01-28 ast.h,string/base64.c: add base64encode() and base64decode()
path/pathfind.c: verify S_ISREG() path/pathfind.c: verify S_ISREG()
@ -867,10 +867,10 @@
03-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP 03-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP
include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP
02-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004) 02-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004)
02-12-06 misc/sigdata.c: add NoF(sigdadata) -- why nmake was uninterruptible! 02-12-06 misc/sigdata.c: add NoF(sigdata) -- why nmake was uninterruptible!
02-12-03 comp/omitted.c,features/omitted: handle cygwin alarm() return botch 02-12-03 comp/omitted.c,features/omitted: handle Cygwin alarm() return botch
02-11-27 misc/swapop.c: op=3,size=4 => op=7 02-11-27 misc/swapop.c: op=3,size=4 => op=7
string/strlcat.c,strlcpy.c: fix uwin decl clash string/strlcat.c,strlcpy.c: fix UWIN decl clash
02-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug 02-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug
02-11-22 misc/glob.c: move static struniq() to libast extern 02-11-22 misc/glob.c: move static struniq() to libast extern
string/fmtversion.c,include/ast.h: add fmtversion string/fmtversion.c,include/ast.h: add fmtversion
@ -892,14 +892,14 @@
02-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions 02-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions
02-10-17 misc/mime.c: handle type/* match, fix bogus header parse 02-10-17 misc/mime.c: handle type/* match, fix bogus header parse
02-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static 02-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static
02-10-02 features/common: don't define _WIN32; define _WINIX => unix on windows 02-10-02 features/common: don't define _WIN32; define _WINIX => Unix on Windows
features/tty: finally stomp the bsd _POSIX_VDISABLE redefinition features/tty: finally stomp the BSD _POSIX_VDISABLE redefinition
misc/fastfind.c: add more specific findwrite() error messages misc/fastfind.c: add more specific findwrite() error messages
comp/omitted.c: fix cygwin utime() to update st_ctime comp/omitted.c: fix Cygwin utime() to update st_ctime
comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX
string/fmtls.c,fmttime.c: tmform() => tmfmt() string/fmtls.c,fmttime.c: tmform() => tmfmt()
02-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack 02-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack
port/mnt.c: don't set MNT_REMOTE for win32 ?:\* paths port/mnt.c: don't set MNT_REMOTE for Win32 ?:\* paths
sfio/sfvscanf.c: _sfdscan() is library global (not static) sfio/sfvscanf.c: _sfdscan() is library global (not static)
02-09-21 path/pathkey.c: add tool arg for mamake compatible hash 02-09-21 path/pathkey.c: add tool arg for mamake compatible hash
features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change
@ -914,11 +914,11 @@
sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop
02-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes 02-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes
features/fcntl.c: enable mmap64() prototype features/fcntl.c: enable mmap64() prototype
include/ast_windows.h: windows.h wrapper with ast namespace workarounds include/ast_windows.h: windows.h wrapper with AST namespace workarounds
02-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line 02-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line
02-09-05 features/vmalloc: add free() to _std_malloc test 02-09-05 features/vmalloc: add free() to _std_malloc test
include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too
tm/tmlocale.c: { C POSIX en } == unix dadgummit tm/tmlocale.c: { C POSIX en } == Unix dadgummit
02-08-29 path/pathfind.c: initialize Dir_t.next=0 02-08-29 path/pathfind.c: initialize Dir_t.next=0
02-08-28 uwin/rint.c: update 02-08-28 uwin/rint.c: update
features/libpath.sh: "bin" is now the default value features/libpath.sh: "bin" is now the default value
@ -934,19 +934,19 @@
02-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug 02-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug
02-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h> 02-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h>
02-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions 02-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions
02-08-06 comp/iconv.c: handle win32 cpNNNN == windows-NNNN aliases 02-08-06 comp/iconv.c: handle Win32 cpNNNN == windows-NNNN aliases
02-08-05 cdt/*: sync with kpv src 02-08-05 cdt/*: sync with kpv src
02-08-02 features/iconv: include sys/types.h for ast_types.h 02-08-02 features/iconv: include sys/types.h for ast_types.h
02-08-01 misc/magic.c: magic file "." names the default 02-08-01 misc/magic.c: magic file "." names the default
misc/magic.c: handle addr type (from irix string) misc/magic.c: handle addr type (from IRIX string)
features/lib: move malloc tests to features/vmalloc features/lib: move malloc tests to features/vmalloc
features/vmalloc: snarf tests from features/lib features/vmalloc: snarf tests from features/lib
vmalloc/*: sync with kpv src vmalloc/*: sync with kpv src
comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c
02-07-30 features/lib: handle __libc_malloc() in _std_malloc test 02-07-30 features/lib: handle __libc_malloc() in _std_malloc test
vmalloc/malloc.c: add gnu pvalloc() vmalloc/malloc.c: add GNU pvalloc()
features/vmalloc: fix alloca check features/vmalloc: fix alloca check
02-07-29 features/limits.c: handle netbsd guards 02-07-29 features/limits.c: handle NetBSD guards
02-07-27 sfio/sfpoll.c: handle rw pipes 02-07-27 sfio/sfpoll.c: handle rw pipes
02-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h 02-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h
02-07-18 apply LARGEFILE64 header prototype clash patches 02-07-18 apply LARGEFILE64 header prototype clash patches
@ -960,7 +960,7 @@
02-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree() 02-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree()
comp/strstr.c: fix broken interpretation and implementation comp/strstr.c: fix broken interpretation and implementation
comp/iconv.c: intercept (but no-op) null to and from buffer pointers comp/iconv.c: intercept (but no-op) null to and from buffer pointers
02-06-27 ast_std.h: map _sysconf => _ast_sysconf for sun 02-06-27 ast_std.h: map _sysconf => _ast_sysconf for Sun
02-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy? 02-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy?
02-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!) 02-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!)
misc/fts.c: fix symlink chdir() optimization bug misc/fts.c: fix symlink chdir() optimization bug
@ -975,9 +975,9 @@
02-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour 02-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour
02-05-14 regex/regsub.c: fix (^|x) null match early termination bug 02-05-14 regex/regsub.c: fix (^|x) null match early termination bug
02-05-13 dir/dirlib.h: drop errant extern==__EXPORT__ 02-05-13 dir/dirlib.h: drop errant extern==__EXPORT__
features/uwin: add uwin lib tests features/uwin: add UWIN lib tests
uwin/*.c: check features/uwin for stubs uwin/*.c: check features/uwin for stubs
features/float: add nan representation generation features/float: add NaN representation generation
sfio/sftable.h: used _ast_*_nan_init for huge values sfio/sftable.h: used _ast_*_nan_init for huge values
02-05-09 misc/fts.c: fix virtual top to force ``child'' stat() 02-05-09 misc/fts.c: fix virtual top to force ``child'' stat()
features/common: define va_copy() only if not in <stdarg.h> features/common: define va_copy() only if not in <stdarg.h>
@ -997,7 +997,7 @@
02-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h> 02-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h>
features/stdio: check for _SFIO_H redundant _Sfstd* declarations features/stdio: check for _SFIO_H redundant _Sfstd* declarations
02-03-26 misc/glob.c: fix GLOB_LIST gl_flags values 02-03-26 misc/glob.c: fix GLOB_LIST gl_flags values
02-03-24 port/mnt.c: update bsd fstype name and mount option logic 02-03-24 port/mnt.c: update BSD fstype name and mount option logic
02-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake) 02-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake)
02-03-17 features/stdio: hack around g++ 3.* clashes 02-03-17 features/stdio: hack around g++ 3.* clashes
Makefile: add ast_nl_types.h to the .check.hdr list (for mamake) Makefile: add ast_nl_types.h to the .check.hdr list (for mamake)
@ -1024,14 +1024,14 @@
fmtfmt: add fmtfmt: add
include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM } include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM }
Makefile: add std/*.h for std header iffe overrides Makefile: add std/*.h for std header iffe overrides
comp/iconv.c: fix non-C win32 sfreserve() loop comp/iconv.c: fix non-C Win32 sfreserve() loop
02-02-11 features/common: separate long long / long double tests 02-02-11 features/common: separate long long / long double tests
features/common: verify printf handles long long / long double features/common: verify printf handles long long / long double
02-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now 02-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now
include/ast_std.h: trust _UWIN <unistd.h> include/ast_std.h: trust _UWIN <unistd.h>
02-01-31 port/mnt.c: add aix options field 02-01-31 port/mnt.c: add AIX options field
02-01-30 comp/strstr.c: add for ancient s5 02-01-30 comp/strstr.c: add for ancient s5
stdio/_flsbuf.c: only on systems that transfer to native (e.g., uwin) stdio/_flsbuf.c: only on systems that transfer to native (e.g., UWIN)
string/strtoi.h: cat min/max error return values string/strtoi.h: cat min/max error return values
02-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h> 02-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h>
comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR
@ -1048,12 +1048,12 @@
02-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d 02-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d
misc/magic.c: recode mime %s parse -- sensible and no buffer overflow misc/magic.c: recode mime %s parse -- sensible and no buffer overflow
02-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header 02-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header
02-01-12 tm/tmlocale.c: override win32 default date for {C,POSIX,en} locales 02-01-12 tm/tmlocale.c: override Win32 default date for {C,POSIX,en} locales
comp/omitted.c: fix cygwin workaround logic bugs comp/omitted.c: fix Cygwin workaround logic bugs
02-01-09 stdio/fseeko.c,ftello.c: add from UNIX98 02-01-09 stdio/fseeko.c,ftello.c: add from UNIX98
02-01-08 comp/conf.sh: use $cc instead of cc 02-01-08 comp/conf.sh: use $cc instead of cc
02-01-07 string/strlcat.c,string/strlcpy.c: add bsd api 02-01-07 string/strlcat.c,string/strlcpy.c: add BSD API
01-12-18 comp/conf.tab: fix LFS_CFLAGS default for sun _CS_LFS_CFLAGS botch 01-12-18 comp/conf.tab: fix LFS_CFLAGS default for Sun _CS_LFS_CFLAGS botch
features/common: add hdr stdarg test features/common: add hdr stdarg test
tm/tmdate.c: handle YYYY/MM/DD tm/tmdate.c: handle YYYY/MM/DD
01-12-10 misc/magic.tab: add generic 0x00010203 binary magic 01-12-10 misc/magic.tab: add generic 0x00010203 binary magic
@ -1065,10 +1065,10 @@
01-11-26 misc/fts.c: empty path is an error 01-11-26 misc/fts.c: empty path is an error
01-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs 01-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs
01-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug 01-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug
01-11-19 features/lib: retain _lib_confstr for all solaris releases 01-11-19 features/lib: retain _lib_confstr for all Solaris releases
01-11-16 comp/setlocale.c: fix !_lib_setlocale typo 01-11-16 comp/setlocale.c: fix !_lib_setlocale typo
01-10-31 regex/ucs_names.h: add string catenation to keep line length low 01-10-31 regex/ucs_names.h: add string catenation to keep line length low
misc/fastfind.c: handle gnu slocate db read misc/fastfind.c: handle GNU slocate db read
misc/optget.c: add --?+SECTION queries misc/optget.c: add --?+SECTION queries
comp/fnmatch.h: add FNM_NOSYS comp/fnmatch.h: add FNM_NOSYS
01-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified 01-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified
@ -1081,8 +1081,8 @@
comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe
features/lib: add lib getdate features/lib: add lib getdate
01-10-18 features/lib: check for strtod static link collision 01-10-18 features/lib: check for strtod static link collision
features/float: add another signed cast for old bsd cc features/float: add another signed cast for old BSD cc
features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old BSD
01-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG } 01-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG }
sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1. sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1.
sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args
@ -1112,7 +1112,7 @@
01-09-11 pathnative.c: add for native fs representation 01-09-11 pathnative.c: add for native fs representation
regex.h: fix regerror_t prototype regex.h: fix regerror_t prototype
01-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements 01-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements
tm/tmlocale.c: fix old ascii LC_TIME load tm/tmlocale.c: fix old ASCII LC_TIME load
locale*: add new LC_* categories locale*: add new LC_* categories
comp/omitted.c: add CYGWIN workarounds comp/omitted.c: add CYGWIN workarounds
features/lib: add CYGWIN workarounds features/lib: add CYGWIN workarounds
@ -1133,7 +1133,7 @@
regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs
01-06-11 regex: handle embedded \0 in pattern and subject string 01-06-11 regex: handle embedded \0 in pattern and subject string
regex: add (?nnn) for backrefs > 9 regex: add (?nnn) for backrefs > 9
comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility comp/fnmatch: add FNM_LEADING_DIR for GNU compatibility
features/float: _ast_flt_unsigned_max_t for bsd.i386 omission features/float: _ast_flt_unsigned_max_t for bsd.i386 omission
01-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading - 01-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading -
regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline> regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline>
@ -1142,7 +1142,7 @@
regex/regnexec.c: negation must also check REG_SHELL_DOT regex/regnexec.c: negation must also check REG_SHELL_DOT
01-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX 01-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX
01-05-31 glob: fix gl_fignore to ignore leading . by default 01-05-31 glob: fix gl_fignore to ignore leading . by default
features/lib: add botch_d_ino_dirent64 for linux botch features/lib: add botch_d_ino_dirent64 for Linux botch
01-05-25 port/lc.tab: add a few missing language_territory's 01-05-25 port/lc.tab: add a few missing language_territory's
01-05-23 string/chresc: \C[.collation-element.] 01-05-23 string/chresc: \C[.collation-element.]
fmtmatch,fmtre: update for <regex.h> syntax extensions fmtmatch,fmtre: update for <regex.h> syntax extensions
@ -1151,22 +1151,22 @@
01-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR 01-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR
port/touch.c: handle utime(2) EPERM to fix bug that truncated port/touch.c: handle utime(2) EPERM to fix bug that truncated
regex: change REG_MINIMAL to avoid negation -- much faster now regex: change REG_MINIMAL to avoid negation -- much faster now
01-05-08 *.h: add some off_t macro guards for suse linux 01-05-08 *.h: add some off_t macro guards for SUSE Linux
01-05-03 regcomp.c: optimize ((x)!)* to ((x)!) 01-05-03 regcomp.c: optimize ((x)!)* to ((x)!)
wchar: add <wchar.h> and stdio wchar routines wchar: add <wchar.h> and stdio wchar routines
01-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions 01-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions
01-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants 01-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants
01-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s 01-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s
tm/tmlocale.c: check for UTF-8 encoded LC_TIME files tm/tmlocale.c: check for UTF-8 encoded LC_TIME files
misc/magic.tab: add utf-8 and utf-16 U+FEFF magic misc/magic.tab: add UTF-8 and UTF-16 U+FEFF magic
01-04-26 features/common: some cc's have _ast_int8_t but not LL constants 01-04-26 features/common: some cc's have _ast_int8_t but not LL constants
01-04-24 features/lib: add _std_strtod for mac os X 01-04-24 features/lib: add _std_strtod for Mac OS X
01-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke 01-04-23 ccode: add CC_sub for ms embedded EOF char on EBCDIC -- no joke
01-04-20 iconv: handle ebcdic<=>utf 01-04-20 iconv: handle EBCDIC<=>UTF
mc.h,mc.c: add mcindex() mc.h,mc.c: add mcindex()
ast_std.h: add AST_MESSAGE_SET ast_std.h: add AST_MESSAGE_SET
01-04-18 features/libpath.sh: fix mvs probe 01-04-18 features/libpath.sh: fix MVS probe
*: sundry mvs fixes *: sundry MVS fixes
glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns
01-04-01 strtod,strtold: add 01-04-01 strtod,strtold: add
strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE
@ -1175,7 +1175,7 @@
setlocale: add LC_NUMERIC decimal_point,thousands_sep init setlocale: add LC_NUMERIC decimal_point,thousands_sep init
ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines
pathexists: path cache to cut down pathpath() access(2) calls pathexists: path cache to cut down pathpath() access(2) calls
features/stdio: __FILE_TAG == _sfio_s for solaris features/stdio: __FILE_TAG == _sfio_s for Solaris
01-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block 01-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block
01-03-19 glob: add GLOB_AUGMENTED 01-03-19 glob: add GLOB_AUGMENTED
regex: REG_SHELL syntax error implies REG_LITERAL match regex: REG_SHELL syntax error implies REG_LITERAL match
@ -1204,15 +1204,15 @@
sfhdr.h: map <sfio_s.h> _foo to foo sfhdr.h: map <sfio_s.h> _foo to foo
sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING
01-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols 01-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols
stdio/*: update for uwin stdio.dll binary compatibility stdio/*: update for UWIN stdio.dll binary compatibility
sfread: finally fixed premature pipe read EOF bug sfread: finally fixed premature pipe read EOF bug
fmtscale: format tenths for number > 0 && number < 10 fmtscale: format tenths for number > 0 && number < 10
01-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports 01-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports
01-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro 01-02-08 sfgetm,sfputm,_sfputm: fix max clash with K&R max() macro
setlocale: undef valid for sun4 k&r valid() macro setlocale: undef valid for SunOS 4 K&R valid() macro
01-02-07 catopen.c: don't do native catopen for the debug locale 01-02-07 catopen.c: don't do native catopen for the debug locale
01-02-06 sfraise.c: add SF_FINAL check to avoid (possibly) freed disciplines 01-02-06 sfraise.c: add SF_FINAL check to avoid (possibly) freed disciplines
01-01-01 features/common: fix uwin __DEFINE__ 01-01-01 features/common: fix UWIN __DEFINE__
sftable: initialize decimal and thousand sftable: initialize decimal and thousand
magic.tab: add corel wordperfect document magic.tab: add corel wordperfect document
syslog: add LOG_LEVEL, add '\n' only if needed syslog: add LOG_LEVEL, add '\n' only if needed
@ -1221,8 +1221,8 @@
ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1
setlocale: set AST_LC_multibyte setlocale: set AST_LC_multibyte
strmatch: check AST_LC_multibyte strmatch: check AST_LC_multibyte
features/limits.c: add _BITS_POSIX1_LIM_H guard for linux features/limits.c: add _BITS_POSIX1_LIM_H guard for Linux
features/libpath.sh: fix for aix LIBPATH features/libpath.sh: fix for AIX LIBPATH
procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3)) procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3))
optget.c: add enumerated option argument values optget.c: add enumerated option argument values
optget.c: add <!--INTERNAL--> for private --html optget.c: add <!--INTERNAL--> for private --html
@ -1235,7 +1235,7 @@
features/time: add default for CLOCKS_PER_SEC features/time: add default for CLOCKS_PER_SEC
features/lib: std_malloc now handles NeXT features/lib: std_malloc now handles NeXT
00-12-13 strton: recognize qualifier only if preceded by a digit 00-12-13 strton: recognize qualifier only if preceded by a digit
features/lib: change return in vfork() test to exit() for linux sparc features/lib: change return in vfork() test to exit() for Linux SPARC
fmtquote: fix $'...' quote logic fmtquote: fix $'...' quote logic
00-12-11 tmdate: fix cron format bug that mishandled months 00-12-11 tmdate: fix cron format bug that mishandled months
00-12-01 optget: handle $Id: ... $ in --?-version 00-12-01 optget: handle $Id: ... $ in --?-version
@ -1247,17 +1247,17 @@
00-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy 00-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy
astlicense.c: #include <hashkey.h> MAM workaround astlicense.c: #include <hashkey.h> MAM workaround
astlicense.c: check for non-empty CONTRIBUTORS astlicense.c: check for non-empty CONTRIBUTORS
00-10-26 features/stdio: add _FILE and __FILE for gnu 00-10-26 features/stdio: add _FILE and __FILE for GNU
misc/stk.c: fix stack pointer check off-by-one (dgk does it too!) misc/stk.c: fix stack pointer check off-by-one (dgk does it too!)
00-10-23 syslog.h: sync with bsd values 00-10-23 syslog.h: sync with BSD values
00-10-18 _STUB_* now functions instead of common symbols 00-10-18 _STUB_* now functions instead of common symbols
all extern data declared with definition to eliminate common symbols all extern data declared with definition to eliminate common symbols
fastfind: add mac/bsd /var/db/locate.database fastfind: add Mac/BSD /var/db/locate.database
00-10-17 features/lib: add apple osX (darwin.ppc) workarounds 00-10-17 features/lib: add Mac OS X (darwin.ppc) workarounds
00-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4() 00-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4()
fmt*() now use fmtbuf() for tmp fmt buf allocation fmt*() now use fmtbuf() for tmp fmt buf allocation
00-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc 00-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc
00-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility 00-09-29 features/lib: pipe_rw==0 for SGI: boot rw == bin incompatibility
00-09-21 astlicense: handle \' and \" in license values 00-09-21 astlicense: handle \' and \" in license values
00-09-20 sfwrite: fix write() error in sfprintf() loop 00-09-20 sfwrite: fix write() error in sfprintf() loop
00-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes 00-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes
@ -1269,11 +1269,11 @@
sfio/stdio: a few more errno tweaks sfio/stdio: a few more errno tweaks
astquery: sfstdin/sfstderr by default astquery: sfstdin/sfstderr by default
00-05-26 sfmode: errno=EBADF for invalid stream use 00-05-26 sfmode: errno=EBADF for invalid stream use
00-05-22 rewind: fix for xopen test 00-05-22 rewind: fix for X/Open test
00-05-18 mcfind: returns absolute path 00-05-18 mcfind: returns absolute path
00-05-16 optget: --keys must catch \f...\f too 00-05-16 optget: --keys must catch \f...\f too
translate,mc: errno cleanup translate,mc: errno cleanup
00-05-09 magic: add netbsd binary magic 00-05-09 magic: add NetBSD binary magic
fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR
ftwflags: call fts_flags() ftwflags: call fts_flags()
astconf: astconf(0,0,0) re-syncs with _AST_FEATURES astconf: astconf(0,0,0) re-syncs with _AST_FEATURES
@ -1292,7 +1292,7 @@
ast_std.h: provide LC_* defaults if not defined ast_std.h: provide LC_* defaults if not defined
sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv
catopen,nl_types.h: add intercept to mc* routines catopen,nl_types.h: add intercept to mc* routines
magic.tab: add ast message catalog magic.tab: add AST message catalog
strerror: add _ast_strerror intercept with ERROR_translate("errno") strerror: add _ast_strerror intercept with ERROR_translate("errno")
fmtquote: escapes >0177 only if (flags&2) fmtquote: escapes >0177 only if (flags&2)
00-03-17 feof: stdio macro functions only for _UWIN 00-03-17 feof: stdio macro functions only for _UWIN
@ -1308,7 +1308,7 @@
00-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers 00-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers
fmtquote: handle $'...' quotes fmtquote: handle $'...' quotes
00-03-07 optget: fix numeric option support test 00-03-07 optget: fix numeric option support test
sfkeyprintf: add %q for '...' quoting with ansi escapes sfkeyprintf: add %q for '...' quoting with ANSI escapes
00-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net) 00-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net)
00-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts 00-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts
optget: "..." attribute quote optget: "..." attribute quote
@ -1348,9 +1348,9 @@
99-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century 99-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century
99-10-18 fastfind: expanded default db lookup 99-10-18 fastfind: expanded default db lookup
99-08-11 magic: fix off by one registry malloc 99-08-11 magic: fix off by one registry malloc
features/fs: add __RENAME checks for stat family (netbsd) features/fs: add __RENAME checks for stat family (NetBSD)
features/fs: major()/minor() fixes for s5 features/fs: major()/minor() fixes for s5
features/libpath.sh: netbsd fix -- ld.so not in std places features/libpath.sh: NetBSD fix -- ld.so not in std places
misc/fastfind: fix codes path generation bug misc/fastfind: fix codes path generation bug
optget: beef up --?* description, fix <TR>...</TR> nesting optget: beef up --?* description, fix <TR>...</TR> nesting
pathprobe: check for override (writable key file) first pathprobe: check for override (writable key file) first
@ -1358,12 +1358,12 @@
optget: fix opt_info.num, even if opt_info.arg!=0 optget: fix opt_info.num, even if opt_info.arg!=0
fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP
fastfind: init dir tab with logical and physical name fastfind: init dir tab with logical and physical name
glob: add gnu GLOB_ALTDIRFUNC glob: add GNU GLOB_ALTDIRFUNC
99-07-17 sfio: kpv update and sfhdr.h sync! 99-07-17 sfio: kpv update and sfhdr.h sync!
99-06-24 stdio: fix fflush() to ignore sfseek(0) return value 99-06-24 stdio: fix fflush() to ignore sfseek(0) return value
99-06-23 magic: '\r' is text not control to placate m$ 99-06-23 magic: '\r' is text not control to placate m$
99-06-08 stdio: fix fseek,ftell semantics 99-06-08 stdio: fix fseek,ftell semantics
uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash UWIN stdio: fflush() => _doflsh() to avoid __cplusplus clash
getopt: call liberror() to avoid error() conflict getopt: call liberror() to avoid error() conflict
tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset
tmfmt: - no pad _ space pad 0 leading 0 pad tmfmt: - no pad _ space pad 0 leading 0 pad
@ -1382,7 +1382,7 @@
fmtquote: added; most general fmtesc() form fmtquote: added; most general fmtesc() form
99-03-22 fmtesc.c,ast.h: add fmtnesq() 99-03-22 fmtesc.c,ast.h: add fmtnesq()
optget: --?x works for -x option flag optget: --?x works for -x option flag
99-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug 99-03-17 features/limits.c: workaround Solaris __EXTENSIONS__ _timespec bug
workaround limits.h circular prereq with ignore stdio.h workaround limits.h circular prereq with ignore stdio.h
sfvprintf: %04e left-pad zero fixed sfvprintf: %04e left-pad zero fixed
99-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./ 99-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./
@ -1393,10 +1393,10 @@
99-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL) 99-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL)
99-01-23 optget: move <old_opt.h> back into <option.h>, no open-close 99-01-23 optget: move <old_opt.h> back into <option.h>, no open-close
optget: add "[index:long-name:description]" for --long-name optget: add "[index:long-name:description]" for --long-name
comp/gross: add weak __libc_attr for irix < 6.5 compatibility comp/gross: add weak __libc_attr for IRIX < 6.5 compatibility
features/limits.c: tweak the guards again features/limits.c: tweak the guards again
99-01-11 fastfind: handle old format count byte order 99-01-11 fastfind: handle old format count byte order
magic.tab: fix elf to use real phdr offset magic.tab: fix ELF to use real phdr offset
magic.c,magic.tab: fix | to act like switch/case magic.c,magic.tab: fix | to act like switch/case
comp/fross.c,features/hack: for gross hacks comp/fross.c,features/hack: for gross hacks
features/stdio: avoid sfio namespace pollution features/stdio: avoid sfio namespace pollution
@ -1433,7 +1433,7 @@
98-04-01 error: error_info.time for all msgs, just after cmd id 98-04-01 error: error_info.time for all msgs, just after cmd id
error: no sfsync(sfstdin) error: no sfsync(sfstdin)
sfio: sfpool, Sffmt_t update sfio: sfpool, Sffmt_t update
magic.tab: sgi core dumps -- why aren't these elf? magic.tab: SGI core dumps -- why aren't these ELF?
stropt: (v+n) for unknown option is option value if n!=0 stropt: (v+n) for unknown option is option value if n!=0
procopen: fix setsid() for spawnveg() only procopen: fix setsid() for spawnveg() only
98-03-19 malloc: add realloc foreign region check 98-03-19 malloc: add realloc foreign region check
@ -1444,7 +1444,7 @@
pathcanon: add PATH_VERIFIED pathcanon: add PATH_VERIFIED
tmdate: add skip[] to expand separator char set tmdate: add skip[] to expand separator char set
fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db
fastfind: default generates gnu LOCATE02 8 bit db fastfind: default generates GNU LOCATE02 8 bit db
magic: handle %s in mime description magic: handle %s in mime description
cdt: kpv update cdt: kpv update
sfio: kpv update sfio: kpv update
@ -1466,7 +1466,7 @@
98-01-23 _WIN32: changed the #if logic again to accommodate _GNUC_ 98-01-23 _WIN32: changed the #if logic again to accommodate _GNUC_
mnt: grab the mount options too mnt: grab the mount options too
ast_std.h: hide getopt,getsubopt from stdlib.h ast_std.h: hide getopt,getsubopt from stdlib.h
features/limits.c: add gnu guard macros to avoid limits.h recursion features/limits.c: add GNU guard macros to avoid limits.h recursion
features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl" features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl"
98-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h 98-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h
sfhdr.h: #undef SETLOCAL for hpux sfhdr.h: #undef SETLOCAL for hpux
@ -1474,7 +1474,7 @@
handle ftruncate64 and truncate64 handle ftruncate64 and truncate64
dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here
97-12-18 fmtnum: add 97-12-18 fmtnum: add
97-12-11 magic: handle sgi 64 bit core dumps 97-12-11 magic: handle SGI 64 bit core dumps
97-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling 97-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling
97-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t) 97-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t)
features/stdio: fix fflush() macro to do physical sync features/stdio: fix fflush() macro to do physical sync
@ -1500,14 +1500,14 @@
ccmapid: fix buf copy loop limit ccmapid: fix buf copy loop limit
ccmapname,ccmapcpy: add ccmapname,ccmapcpy: add
sfstrtmp: add sfstrtmp: add
97-05-09 streval: fix up casts for pseudo-ansi cc 97-05-09 streval: fix up casts for pseudo-ANSI cc
features/types: use _ast_int_8 vars to verify support features/types: use _ast_int_8 vars to verify support
string/modedata: check for mvs.390 S_IFMT string/modedata: check for mvs.390 S_IFMT
include/ast(_std).h: add #define __FILE_typedef include/ast(_std).h: add #define __FILE_typedef
magic: add ccode text check magic: add ccode text check
include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh) include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh)
fts: clear status for FTS_AGAIN (fixes rm -r bug) fts: clear status for FTS_AGAIN (fixes rm -r bug)
mnt: add mvs openedition w_getmntent() mnt: add MVS OpenEdition w_getmntent()
sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE
vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk() vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk()
remove: check _std_remove remove: check _std_remove
@ -1517,9 +1517,9 @@
__EXTERN__(type,object) __EXTERN__(type,object)
__DEFINE__(type,object,value) __DEFINE__(type,object,value)
magic: check strings in !CC_NATIVE code set too magic: check strings in !CC_NATIVE code set too
system: cmd==0 means check for shell access (xopen) system: cmd==0 means check for shell access (X/Open)
sfhdr.h: fix sfrsrv prototype sfhdr.h: fix sfrsrv prototype
add __libc_malloc etc for gnu/linux add __libc_malloc etc for GNU/Linux
astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror
fts_open: if toplist() stat fails return 0 fts_open: if toplist() stat fails return 0
ftwalk: handle fts_open()==0 via one phony userf() call ftwalk: handle fts_open()==0 via one phony userf() call
@ -1527,9 +1527,9 @@
features/lib: _WIN32 _lib_vfork=1 by default features/lib: _WIN32 _lib_vfork=1 by default
unsigned<0 comparison and other fixes via sgi.mips4 cc unsigned<0 comparison and other fixes via sgi.mips4 cc
stk.c: use <align.h> ALIGN_BOUND for stkalloc() stk.c: use <align.h> ALIGN_BOUND for stkalloc()
features/lib,vfork: uwin fix features/lib,vfork: UWIN fix
ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8
getsubopt: add for xopen 4.2 compatibility getsubopt: add for X/Open 4.2 compatibility
drop function __IMPORT__ drop function __IMPORT__
magic: more magic magic: more magic
change #define FILE from Sfio_t to struct _sfio_s change #define FILE from Sfio_t to struct _sfio_s
@ -1540,17 +1540,17 @@
magic.c: add | op for switch magic.c: add | op for switch
Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
drop pp:notice to get <sfio.h> ... <ast.h> to work drop pp:notice to get <sfio.h> ... <ast.h> to work
regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat regex: add [[:<:]]==\< and [[:>:]]==\> for BSD compat
mime.c: ignore X-* headers while scanning for Content-* mime.c: ignore X-* headers while scanning for Content-*
magic.c: check for negative indirect offsets magic.c: check for negative indirect offsets
magic.tab: fix dos entry that generated negative indirect offsets magic.tab: fix DOS entry that generated negative indirect offsets
vmalloc.h: add vmstrdup() prototype vmalloc.h: add vmstrdup() prototype
hash.h: add hashgetbucket() macro hash.h: add hashgetbucket() macro
magic.c: MAGIFILE is now a : file list magic.c: MAGIFILE is now a : file list
mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h> mnt.c: another 4.4 BSD fix -- users must include <sys/crap.h>
common: fix _WIN32 chicken&egg with va_copy common: fix _WIN32 chicken&egg with va_copy
sfio: forgot to set f->val along with _Sfi in sfexcept() sfio: forgot to set f->val along with _Sfi in sfexcept()
Makefile: add mini target for uwin libmini.a Makefile: add mini target for UWIN libmini.a
sfcvt.c: workaround for flaky long double optimizers sfcvt.c: workaround for flaky long double optimizers
features/common: fix to work with va_list==void* features/common: fix to work with va_list==void*
regexec.c: fix REG_STARTEND subexpression offsets regexec.c: fix REG_STARTEND subexpression offsets
@ -1558,11 +1558,11 @@
regrexec.c: fix REG_INVERT end boundary bug that missed last record regrexec.c: fix REG_INVERT end boundary bug that missed last record
astconf.c: notify(0,0,"a=b") called for each setenviron("a=b") astconf.c: notify(0,0,"a=b") called for each setenviron("a=b")
pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //* pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //*
96-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen 96-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes X/Open
regerror: fix for xopen regerror: fix for X/Open
getopt: fix for xopen getopt: fix for X/Open
magic: add ciao virtual database magic: add ciao virtual database
astconf: POSIX/strict/xopen implies "standard" conformance astconf: posix/strict/xopen implies "standard" conformance
fs3d.h: hide mount prototype fs3d.h: hide mount prototype
ast_std.h,mnt.c,features/fs: ncr port tweaks ast_std.h,mnt.c,features/fs: ncr port tweaks
96-10-31 version 5.0 96-10-31 version 5.0
@ -1574,8 +1574,8 @@
sfio,cdt,vmalloc: kpv update sfio,cdt,vmalloc: kpv update
96-10-11 <ccode.h>: add character code map support 96-10-11 <ccode.h>: add character code map support
procclose: return shell style exit status procclose: return shell style exit status
features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for MVS
uwin: add subdir for uwin additions uwin: add subdir for UWIN additions
ast_std.h: swab() is from <stdlib.h> ast_std.h: swab() is from <stdlib.h>
sfio.h: <ast_std.h> if _PACKAGE_ast sfio.h: <ast_std.h> if _PACKAGE_ast
magic.tab: add mips[1-4], 64-bit magic.tab: add mips[1-4], 64-bit
@ -1655,7 +1655,7 @@
AT&T Research now AT&T Research now
sfgetr optimization sfgetr optimization
regex buglets regex buglets
96-01-05 tweak magic.tab for win32 96-01-05 tweak magic.tab for Win32
95-12-25 add !(...) -> (...)! to fmtre() 95-12-25 add !(...) -> (...)! to fmtre()
nt tweaks -- functions with no header proto must be defined extern nt tweaks -- functions with no header proto must be defined extern
95-11-24 version 4.1 95-11-24 version 4.1
@ -1680,7 +1680,7 @@
add !<xxx> magic to misc/magic.tab add !<xxx> magic to misc/magic.tab
add FTW_TOP to inhibit recursion (for ftw side effects on top level) add FTW_TOP to inhibit recursion (for ftw side effects on top level)
add memfatal() common malloc fatal exception message add memfatal() common malloc fatal exception message
add dos \r\n test to misc/magic.c/cklang() add DOS \r\n test to misc/magic.c/cklang()
sftmp() O_EXCL+random to avoid collisions sftmp() O_EXCL+random to avoid collisions
pathtemp() uses sftmp() randomizing pathtemp() uses sftmp() randomizing
features/fs uses SF_APPENDWR features/fs uses SF_APPENDWR
@ -1694,13 +1694,13 @@
oops object / shared library compat with _sfgetl2 _sfgetu2 oops object / shared library compat with _sfgetl2 _sfgetu2
95-09-11 add getopt() compatibility 95-09-11 add getopt() compatibility
add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
add getconf CONFORMANCE - POSIX for things that aren't ast default add getconf CONFORMANCE - POSIX for things that aren't AST default
sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
snarf vmalloc from kpv snarf vmalloc from kpv
95-08-11 fix malloc bug in magic 95-08-11 fix malloc bug in magic
update linux and bsd 386 magic entries update Linux and BSD 386 magic entries
error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done
drop fnmatch from strmatch for sparc (solaris) until it collates drop fnmatch from strmatch for SPARC (Solaris) until it collates
95-07-17 fix port/astconf universe initialization 95-07-17 fix port/astconf universe initialization
fix misc/optget opt_info.nopt initialization fix misc/optget opt_info.nopt initialization
drop tmset() TZ=... because it only worked when TZ=... was ignored drop tmset() TZ=... because it only worked when TZ=... was ignored
@ -1759,7 +1759,7 @@
magic data in magic.tab magic data in magic.tab
fix stropt() pointer cast fix stropt() pointer cast
vmalloc() exception handler replaces nomalloc() vmalloc() exception handler replaces nomalloc()
merge sigdata.c into fmtsignal.c -- sun link needs function w/ data! merge sigdata.c into fmtsignal.c -- Sun link needs function w/ data!
sftmp() bug fix sftmp() bug fix
drop local <unistd.h> even with _POSIX_SOURCE drop local <unistd.h> even with _POSIX_SOURCE
fix vmstrdup() macro arg miscount fix vmstrdup() macro arg miscount

View file

@ -32,7 +32,7 @@ NoN(aso)
#else #else
/* /*
* ast atomic scalar operations * AST atomic scalar operations
* AT&T Research * AT&T Research
* *
* cas { 8 16 32 [64] } subset snarfed from the work by * cas { 8 16 32 [64] } subset snarfed from the work by

View file

@ -1,4 +1,4 @@
astsa implements a small subset of the ast library for other ast astsa implements a small subset of the AST library for other AST
standalone commands and libraries using X/Open interfaces. standalone commands and libraries using X/Open interfaces.
To get better performance and functionality, consider using any of To get better performance and functionality, consider using any of
@ -11,5 +11,5 @@ and defines these variables for use in other makefiles
ASTSA_OPTIMIZE ``-O'' by default ASTSA_OPTIMIZE ``-O'' by default
The astsa files may be combined in a single directory with other ast The astsa files may be combined in a single directory with other AST
standalone packages. standalone packages.

View file

@ -24,7 +24,7 @@
* Glenn Fowler * Glenn Fowler
* AT&T Research * AT&T Research
* *
* 1-6 char lower-case keyword -> long hash * 1-6 char lowercase keyword -> long hash
* digit args passed as HASHKEYN('2') * digit args passed as HASHKEYN('2')
*/ */

View file

@ -91,7 +91,7 @@ typedef struct Optstate_s
int style; /* default opthelp() style */ int style; /* default opthelp() style */
int width; /* format line width */ int width; /* format line width */
int flags; /* display flags */ int flags; /* display flags */
int emphasis; /* ansi term emphasis ok */ int emphasis; /* ANSI term emphasis ok */
Dtdisc_t msgdisc; /* msgdict discipline */ Dtdisc_t msgdisc; /* msgdict discipline */
Dt_t* msgdict; /* default ast.id catalog msgs */ Dt_t* msgdict; /* default ast.id catalog msgs */
Optcache_t* cache; /* OPT_cache cache */ Optcache_t* cache; /* OPT_cache cache */

View file

@ -41,7 +41,7 @@
#include "debug.h" #include "debug.h"
/* short-hand notations */ /* shorthand notations */
#define NIL(t) ((t)0) #define NIL(t) ((t)0)
#define reg register #define reg register
@ -138,7 +138,7 @@ typedef struct _dtlib_s
/* map bits for upward compatibility */ /* map bits for upward compatibility */
#define DTTYPE(dt,ty) ((dt)->typef ? (*(dt)->typef)((dt), (ty)) : (ty) ) #define DTTYPE(dt,ty) ((dt)->typef ? (*(dt)->typef)((dt), (ty)) : (ty) )
/* short-hands for fields in Dtlink_t. /* shorthands for fields in Dtlink_t.
** note that __hash is used as a hash value ** note that __hash is used as a hash value
** or as the position in the parent table. ** or as the position in the parent table.
*/ */

View file

@ -24,9 +24,9 @@
/* /*
* catopen intercept * catopen intercept
* the ast catalogs are checked first * the AST catalogs are checked first
* the ast mc* and native cat* routines do all the work * the AST mc* and native cat* routines do all the work
* catalogs found by mcfind() are converted from utf to ucs * catalogs found by mcfind() are converted from UTF to UCS
* *
* nl_catd is cast to void* * nl_catd is cast to void*
* this is either an Mc_t* (Mc_t.set != 0) * this is either an Mc_t* (Mc_t.set != 0)
@ -78,7 +78,7 @@ _ast_catopen(const char* name, int flag)
char path[PATH_MAX]; char path[PATH_MAX];
/* /*
* first try the ast catalogs * first try the AST catalogs
*/ */
#if DEBUG_trace #if DEBUG_trace

View file

@ -1466,7 +1466,7 @@ case $verbose in
1) echo "$command: generate ${base}.h string table header" >&2 ;; 1) echo "$command: generate ${base}.h string table header" >&2 ;;
esac esac
case $shell in case $shell in
ksh) ((name_max=name_max+3)); ((name_max=name_max/4*4)) ;; # bsd /bin/sh ! ksh) ((name_max=name_max+3)); ((name_max=name_max/4*4)) ;; # BSD /bin/sh !
*) name_max=`expr \( $name_max + 3 \) / 4 \* 4` ;; *) name_max=`expr \( $name_max + 3 \) / 4 \* 4` ;;
esac esac
{ {

View file

@ -32,7 +32,7 @@ NoN(errno)
/* /*
* this avoids multiple definitions with some libc's * this avoids multiple definitions with some libc's
* that define both an ast library supplied routine and * that define both an AST library supplied routine and
* errno in the same .o * errno in the same .o
*/ */

View file

@ -22,7 +22,7 @@
***********************************************************************/ ***********************************************************************/
#pragma prototyped #pragma prototyped
/* /*
* posix fnmatch interface definitions * POSIX fnmatch interface definitions
*/ */
#ifndef _FNMATCH_H #ifndef _FNMATCH_H
@ -43,9 +43,9 @@
#define FNM_ICASE 0x0020 /* ignore case in match */ #define FNM_ICASE 0x0020 /* ignore case in match */
#define FNM_LEADING_DIR 0x0040 /* match up to implicit / */ #define FNM_LEADING_DIR 0x0040 /* match up to implicit / */
#define FNM_CASEFOLD FNM_ICASE /* gnu/bsd compatibility */ #define FNM_CASEFOLD FNM_ICASE /* GNU/BSD compatibility */
#define FNM_IGNORECASE FNM_ICASE /* gnu/bsd compatibility */ #define FNM_IGNORECASE FNM_ICASE /* GNU/BSD compatibility */
#define FNM_FILE_NAME FNM_PATHNAME /* gnu compatibility */ #define FNM_FILE_NAME FNM_PATHNAME /* GNU compatibility */
/* fnmatch error codes -- other non-zero values from <regex.h> */ /* fnmatch error codes -- other non-zero values from <regex.h> */

View file

@ -24,7 +24,7 @@
#include <ast.h> #include <ast.h>
#undef _lib_getopt /* we can satisfy the api */ #undef _lib_getopt /* we can satisfy the API */
#if _lib_getopt #if _lib_getopt
@ -32,7 +32,7 @@ NoN(getopt)
#else #else
#undef _BLD_ast /* enable ast imports since we're user static */ #undef _BLD_ast /* enable AST imports since we're user static */
#include <error.h> #include <error.h>
#include <option.h> #include <option.h>

View file

@ -22,7 +22,7 @@
***********************************************************************/ ***********************************************************************/
#pragma prototyped #pragma prototyped
/* /*
* gnu getopt interface * GNU getopt interface
*/ */
#ifndef _GETOPT_H #ifndef _GETOPT_H

View file

@ -25,7 +25,7 @@
#include <ast.h> #include <ast.h>
#include <ast_getopt.h> #include <ast_getopt.h>
#undef _BLD_ast /* enable ast imports since we're user static */ #undef _BLD_ast /* enable AST imports since we're user static */
#include <error.h> #include <error.h>
#include <option.h> #include <option.h>

View file

@ -29,9 +29,9 @@
#undef getpgrp #undef getpgrp
/* /*
* bsd int getpgrp(int); * BSD int getpgrp(int);
* s5 int getpgrp(void); * System V int getpgrp(void);
* posix pid_t getpgrp(void); * POSIX pid_t getpgrp(void);
* user SOL * user SOL
*/ */

View file

@ -22,12 +22,12 @@
***********************************************************************/ ***********************************************************************/
#pragma prototyped #pragma prototyped
/* /*
* Xopen 4.2 compatibility * X/Open 4.2 compatibility
*/ */
#include <ast.h> #include <ast.h>
#undef _lib_getsubopt /* we can satisfy the api */ #undef _lib_getsubopt /* we can satisfy the API */
#if _lib_getsubopt #if _lib_getsubopt
@ -35,7 +35,7 @@ NoN(getsubopt)
#else #else
#undef _BLD_ast /* enable ast imports since we're user static */ #undef _BLD_ast /* enable AST imports since we're user static */
#include <error.h> #include <error.h>

View file

@ -23,9 +23,9 @@
#if __sgi && _hdr_locale_attr #if __sgi && _hdr_locale_attr
/* /*
* irix 6.5 introduced __libc_attr referenced by * IRIX 6.5 introduced __libc_attr referenced by
* ctype and locale macros; this hack lets * ctype and locale macros; this hack lets
* 6.5 a.outs run on irix < 6.5 * 6.5 a.outs run on IRIX < 6.5
* *
* NOTE: this hack also freezes the US locale * NOTE: this hack also freezes the US locale
*/ */

View file

@ -27,7 +27,7 @@
* AT&T Research * AT&T Research
* *
* iconv intercept * iconv intercept
* minimally provides { utf*<=>bin ascii<=>ebcdic* } * minimally provides { UTF*<=>bin ASCII<=>EBCDIC* }
*/ */
#include <ast.h> #include <ast.h>
@ -281,7 +281,7 @@ error(DEBUG_TRACE, "AHA#%d _win_iconv from=0x%04x to=0x%04x\n", __LINE__, cc->fr
un = *fn; un = *fn;
/* /*
* from => ucs-2 * from => UCS-2
*/ */
if (cc->to.index == CP_UCS2) if (cc->to.index == CP_UCS2)
@ -340,7 +340,7 @@ error(DEBUG_TRACE, "AHA#%d _win_iconv from=0x%04x to=0x%04x\n", __LINE__, cc->fr
goto nope; goto nope;
/* /*
* ucs-2 => to * UCS-2 => to
*/ */
if (tz = WideCharToMultiByte(cc->to.index, 0, (LPCWSTR)ub, un, *tb, *tn, 0, 0)) if (tz = WideCharToMultiByte(cc->to.index, 0, (LPCWSTR)ub, un, *tb, *tn, 0, 0))
@ -516,7 +516,7 @@ if (error_info.trace < DEBUG_TRACE) sfprintf(sfstderr, "%s: debug-%d: AHA%d _ast
} }
/* /*
* convert utf-8 to bin * convert UTF-8 to bin
*/ */
static size_t static size_t
@ -590,7 +590,7 @@ utf2bin(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert bin to utf-8 * convert bin to UTF-8
*/ */
static size_t static size_t
@ -700,7 +700,7 @@ umeinit(void)
} }
/* /*
* convert utf-7 to bin * convert UTF-7 to bin
*/ */
static size_t static size_t
@ -776,7 +776,7 @@ ume2bin(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert bin to utf-7 * convert bin to UTF-7
*/ */
static size_t static size_t
@ -850,7 +850,7 @@ bin2ume(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert ucs-2 to bin with no byte swap * convert UCS-2 to bin with no byte swap
*/ */
static size_t static size_t
@ -895,7 +895,7 @@ ucs2bin(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert bin to ucs-2 with no byte swap * convert bin to UCS-2 with no byte swap
*/ */
static size_t static size_t
@ -941,7 +941,7 @@ bin2ucs(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert ucs-2 to bin with byte swap * convert UCS-2 to bin with byte swap
*/ */
static size_t static size_t
@ -986,7 +986,7 @@ scu2bin(_ast_iconv_t cd, char** fb, size_t* fn, char** tb, size_t* tn)
} }
/* /*
* convert bin to ucs-2 with byte swap * convert bin to UCS-2 with byte swap
*/ */
static size_t static size_t
@ -1055,7 +1055,7 @@ error(DEBUG_TRACE, "AHA#%d _ast_iconv_open f=%s t=%s\n", __LINE__, f, t);
f = name_native; f = name_native;
/* /*
* the ast identify is always (iconv_t)(0) * the AST identify is always (iconv_t)(0)
*/ */
if (t == f) if (t == f)
@ -1343,7 +1343,7 @@ _ast_iconv_write(_ast_iconv_t cd, Sfio_t* op, char** fb, size_t* fn, Iconv_disc_
Iconv_disc_t compat; Iconv_disc_t compat;
/* /*
* the old api had optional size_t* instead of Iconv_disc_t* * the old API had optional size_t* instead of Iconv_disc_t*
*/ */
if (!disc || disc->version < 20110101L || disc->version >= 30000101L) if (!disc || disc->version < 20110101L || disc->version >= 30000101L)
@ -1445,7 +1445,7 @@ _ast_iconv_move(_ast_iconv_t cd, Sfio_t* ip, Sfio_t* op, size_t n, Iconv_disc_t*
Iconv_disc_t compat; Iconv_disc_t compat;
/* /*
* the old api had optional size_t* instead of Iconv_disc_t* * the old API had optional size_t* instead of Iconv_disc_t*
*/ */
if (!disc || disc->version < 20110101L || disc->version >= 30000101L) if (!disc || disc->version < 20110101L || disc->version >= 30000101L)

View file

@ -1,7 +1,7 @@
#pragma prototyped noticed #pragma prototyped noticed
/* /*
* workarounds to bring the native interface close to posix and x/open * workarounds to bring the native interface close to POSIX and X/Open
*/ */
#if defined(__STDPP__directive) && defined(__STDPP__hide) #if defined(__STDPP__directive) && defined(__STDPP__hide)
@ -47,7 +47,7 @@ __STDPP__directive pragma pp:nohide utime utimes
/* /*
* these workarounds assume each system call foo() has a _foo() entry * these workarounds assume each system call foo() has a _foo() entry
* which is true for __CYGWIN__ and __EMX__ (both gnu based) * which is true for __CYGWIN__ and __EMX__ (both GNU based)
* *
* the workarounds handle: * the workarounds handle:
* *
@ -56,9 +56,9 @@ __STDPP__directive pragma pp:nohide utime utimes
* (3) bogus getpagesize() return values * (3) bogus getpagesize() return values
* (4) a fork() bug that screws up shell fork()+script * (4) a fork() bug that screws up shell fork()+script
* *
* NOTE: Not all workarounds can be handled by unix syscall intercepts. * NOTE: Not all workarounds can be handled by Unix syscall intercepts.
* In particular, { ksh nmake } have workarounds for case-ignorant * In particular, { ksh nmake } have workarounds for case-ignorant
* filesystems and { libast } has workarounds for win32 locale info. * filesystems and { libast } has workarounds for Win32 locale info.
*/ */
#undef _pathconf #undef _pathconf
@ -205,7 +205,7 @@ execrate(const char* path, char* buf, int size, int physical)
/* /*
* return 0 if path is magic, -1 otherwise * return 0 if path is magic, -1 otherwise
* ux!=0 set to 1 if path is unix executable * ux!=0 set to 1 if path is Unix executable
* ux!=0 also retains errno for -1 return * ux!=0 also retains errno for -1 return
*/ */
@ -355,7 +355,7 @@ chmod(const char* path, mode_t mode)
#if CONVERT #if CONVERT
/* /*
* this intercept converts dos env vars to unix * this intercept converts DOS env vars to Unix
* we'd rather intercept main but can't twist cc to do it * we'd rather intercept main but can't twist cc to do it
* getuid() gets ksh to do the right thing and * getuid() gets ksh to do the right thing and
* that's our main concern * that's our main concern
@ -464,7 +464,7 @@ runve(int mode, const char* path, char* const* argv, char* const* envv)
if (mode == _P_DETACH) if (mode == _P_DETACH)
{ {
/* /*
* 2004-02-29 cygwin _P_DETACH is useless: * 2004-02-29 Cygwin _P_DETACH is useless:
* spawn*() returns 0 instead of the spawned pid * spawn*() returns 0 instead of the spawned pid
* spawned { pgid sid } are the same as the parent * spawned { pgid sid } are the same as the parent
*/ */
@ -524,18 +524,18 @@ runve(int mode, const char* path, char* const* argv, char* const* envv)
} }
/* /*
* the win32 dll search order is * the Win32 dll search order is
* (1) the directory of path * (1) the directory of path
* (2) . * (2) .
* (3) /c/(WINNT|WINDOWS)/system32 /c/(WINNT|WINDOWS) * (3) /c/(WINNT|WINDOWS)/system32 /c/(WINNT|WINDOWS)
* (4) the directories on $PATH * (4) the directories on $PATH
* there are no cygwin dlls in (3), so if (1) and (2) fail * there are no Cygwin dlls in (3), so if (1) and (2) fail
* to produce the required dlls it's up to (4) * to produce the required dlls it's up to (4)
* *
* the standard allows PATH to be anything once the path * the standard allows PATH to be anything once the path
* to an executable is determined; this code ensures that PATH * to an executable is determined; this code ensures that PATH
* contains /bin so that at least the cygwin dll, required * contains /bin so that at least the Cygwin dll, required
* by all cygwin executables, will be found * by all Cygwin executables, will be found
*/ */
if (p = (char**)envv) if (p = (char**)envv)
@ -1010,7 +1010,7 @@ unlink(const char* path)
#if __CYGWIN__ #if __CYGWIN__
/* /*
* cygwin refuses to set st_ctime for some operations * Cygwin refuses to set st_ctime for some operations
* this rejects that refusal * this rejects that refusal
*/ */
@ -1088,8 +1088,8 @@ utime(const char* path, const struct utimbuf* ut)
#endif #endif
/* /*
* some systems (sun) miss a few functions required by their * some systems (Sun) miss a few functions required by their
* own bsd-like macros * own BSD-like macros
*/ */
#if !_lib_bzero #if !_lib_bzero

View file

@ -163,7 +163,7 @@ native_setlocale(int category, const char* locale)
return 0; return 0;
/* /*
* win32 doesn't have LC_MESSAGES * Win32 doesn't have LC_MESSAGES
*/ */
if (category == LC_MESSAGES) if (category == LC_MESSAGES)
@ -527,7 +527,7 @@ set_collate(Lc_category_t* cp)
} }
/* /*
* workaround the interesting sjis that translates unshifted 7 bit ascii! * workaround the interesting SJIS that translates unshifted 7 bit ASCII!
*/ */
#if _hdr_wchar && _typ_mbstate_t && _lib_mbrtowc #if _hdr_wchar && _typ_mbstate_t && _lib_mbrtowc
@ -2274,7 +2274,7 @@ set_ctype(Lc_category_t* cp)
#ifdef mb_state #ifdef mb_state
{ {
/* /*
* check for sjis that translates unshifted 7 bit ascii! * check for SJIS that translates unshifted 7 bit ASCII!
*/ */
char* s; char* s;
@ -2412,7 +2412,7 @@ default_setlocale(int category, const char* locale)
#if !_UWIN #if !_UWIN
/* /*
* workaround for systems that shall not be named (solaris,freebsd) * workaround for Solaris and FreeBSD systems
* the call free() with addresses that look like the came from the stack * the call free() with addresses that look like the came from the stack
*/ */

View file

@ -116,7 +116,7 @@ spawnveg(const char* path, char* const argv[], char* const envv[], pid_t pgid)
#include <spawn.h> #include <spawn.h>
/* /*
* open-edition/mvs/zos fork+exec+(setpgid) * MVS OpenEdition / z/OS fork+exec+(setpgid)
*/ */
pid_t pid_t

View file

@ -28,7 +28,7 @@
#define S2F_type 2 #define S2F_type 2
/* /*
* ast strtold() => strtod() when double == long double * AST strtold() => strtod() when double == long double
*/ */
#define _AST_STD_H 1 #define _AST_STD_H 1

View file

@ -22,7 +22,7 @@
***********************************************************************/ ***********************************************************************/
#pragma prototyped #pragma prototyped
/* /*
* posix syslog interface definitions * POSIX syslog interface definitions
*/ */
#ifndef _SYSLOG_H #ifndef _SYSLOG_H

Some files were not shown because too many files have changed in this diff Show more