xref: /onnv-gate/usr/src/lib/libast/common/RELEASE (revision 4887:feebf9260c2e)
1*4887Schin07-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset
2*4887Schin07-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER
3*4887Schin07-04-11 sfio/sfcvt.c: handle SFFMT_UPPER => nan/inf vs. NAN/INF
4*4887Schin07-04-02 comp/conf.tab,comp/conf.sh: add C/POSIX <stdint.h> symbols
5*4887Schin07-03-28 misc/optget.c: fix l10n --?-
6*4887Schin07-03-25 features/common: fix { ast_std.h ast_map.h stdint.h } logic
7*4887Schin07-03-21 error.h: move from error_info to (*_error_data_)
8*4887Schin07-03-21 option.h: move from opt_info to (*_opt_data_)
9*4887Schin07-03-19 regex/regdecomp.c: fix REX_ONECHAR escapes and add REX_KMP
10*4887Schin07-03-11 tm/tmxscan.c,regex/regnexec.c: fix strict-alias transgressions
11*4887Schin07-02-27 comp/conf.sh: handle native getconf invalid numeric values
12*4887Schin07-02-21 comp/conf.sh,comp/conf.tab: handle SSIZE_MAX vs _POSIX_SSIZE_MAX
13*4887Schin07-02-20 sfio/sfvprintf.c: handle SF_WCWIDTH justification
14*4887Schin07-02-14 features/common: cover <stdint.h>, move to int_(bits)_t
15*4887Schin07-02-14 include/int.h: drop
16*4887Schin07-02-14 include/sfio.h: add SF_WCWIDTH
17*4887Schin07-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc.
18*4887Schin07-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match posix
19*4887Schin07-02-12 features/float: *LONGLONG* => *LLONG* to match posix
20*4887Schin07-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral
21*4887Schin07-02-12 stdio/vasprintf.c: add trailing '\0' -- doh
22*4887Schin07-02-04 string/fmtelapsed.c: fix naive multi month/year logic
23*4887Schin07-02-02 misc/optget.c: add --??posix for getopts(1)/getopt(3)
24*4887Schin07-01-26 string/chresc.c: use mbchar()
25*4887Schin07-01-26 misc/optget.c: handle "o:-:" usage for old-style long options
26*4887Schin07-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek
27*4887Schin07-01-22 include/sfio.h: mv Sfieee_t to sfio/sfhdr.h
28*4887Schin07-01-17 tm/tmxfmt.c: fix terminating nil logic which clobbered size-1
29*4887Schin07-01-11 misc/stk.c: a 2 day marathon bug fix (can we release now dr ek?)
30*4887Schin07-01-05 comp/spawnveg.c: posix_spawnattr_setflags(POSIX_SPAWN_SETPGROUP)
31*4887Schin07-01-05 misc/error.c: fix multibyte vs. printable logic
32*4887Schin07-01-01 comp/conf.sh: LC_ALL=C
33*4887Schin06-12-26 tm/tmxdate.c: handle nn*.nnnn* == sec.ns
34*4887Schin06-12-20 features/libpath.sh: generalize sol.* LIBPATH patterns
35*4887Schin06-12-18 comp/setlocale.c: include ast_standards.h and ast_wchar.h !
36*4887Schin06-12-12 string/strperm.c: octal modes are absolute!
37*4887Schin06-12-11 comp/conf.tab: always defer ARG_MAX
38*4887Schin06-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh
39*4887Schin06-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches
40*4887Schin06-12-01 comp/conf.tab: add changes to cover solaris { bin xpg4 xpg6 }
41*4887Schin06-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...]
42*4887Schin06-12-01 sfio/sfcvt.c: add signbit/copysign tests
43*4887Schin06-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d
44*4887Schin06-11-20 features/common: bias _ast_int8_t "long long" before "__int64"
45*4887Schin06-11-20 string/strperm.c: fix X to work with all ops (not just +)
46*4887Schin06-11-15 astconf.c,conf.tab: add CONF_DEFER_* for variable constants
47*4887Schin06-11-11 port/astconf.c: validate path arg w.r.t. underlying calls
48*4887Schin06-11-11 comp/conf.sh: fix S CONF_STANDARD bug, add D to defer to native
49*4887Schin06-11-11 comp/conf.tab: add D to defer to native
50*4887Schin06-11-01 include/vmalloc.h: avoid VM_FLAGS sys/v*.h clash
51*4887Schin06-11-01 include/ast.h: add FMT_PARAM for fmtquote()
52*4887Schin06-10-31 disc/sfdcseekable.c: add SFSK_DISCARD for seekable window control
53*4887Schin06-10-31 comp/spawnveg.c,features/lib: handle posix_spawn exit status 127
54*4887Schin06-10-30 features/lib: fix posix_spawn() fork() prototype conflicts
55*4887Schin06-10-30 string/fmtscale.c: fix 1024 rounding bugs
56*4887Schin06-10-27 disc/sfkeyprintf.c: handle 'i' (=='d') -- oops
57*4887Schin06-10-26 sfio/sfvprintf.c: %#d => fmtscale(1000), %#i => fmtscale(1024)
58*4887Schin06-10-26 features/map.c: _map_libc cleanup
59*4887Schin06-10-26 features/fcntl: add to the circle of trust
60*4887Schin06-10-26 features/sys: add <sys/socket.h> socklen_t
61*4887Schin06-10-26 include/regex.h: handle include before <ast_map.h>
62*4887Schin06-10-25 astconf "SHELL" => "SH" to avoid _POSIX_SHELL conflict
63*4887Schin06-10-25 comp/conf.*: drop no-op duplicate conftab.c entries
64*4887Schin06-10-18 string/fmtscale.c: 1000: n[.]n[n](kMGTPE), 1024: n[.]n[n](KMGTPE)i
65*4887Schin06-10-11 ast_std.h: now implies <sys/stat.h> (did on most before anyway)
66*4887Schin06-10-11 strtoi.h: ignore sign for 0, validate scale shift
67*4887Schin06-10-11 strdup.c,vmstrdup.c: handle 0 arg
68*4887Schin06-10-11 add sfstruse()/sfstropen() error checks
69*4887Schin06-10-10 misc/procopen.c: envv==environ => don't modify environ
70*4887Schin06-10-10 misc/procclose.c: return valid exit(1) status
71*4887Schin06-10-06 port/astconf.c,comp/conf.sh,comp/conf.tab: play nice with getconf(1)
72*4887Schin06-10-01 comp/conf.tab: SHELL default checks { _CS_PATH } X { ksh ksh93 sh }
73*4887Schin06-10-01 comp/conf.sh: export CONF_getconf to shell actions
74*4887Schin06-10-01 comp/putenv.c: always enable setenv() for procopen()
75*4887Schin06-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID
76*4887Schin06-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93
77*4887Schin06-09-28 Makefile: avoid ast <stdio.h> vix iffe -X ast -- doh
78*4887Schin06-09-27 regex/regdecomp.c: add
79*4887Schin06-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre>
80*4887Schin06-09-25 reorganize to avoid native header intercepts
81*4887Schin06-09-15 uwin/crypt.c: _UWIN only!
82*4887Schin06-09-14 Makefile: tweak the ast_common.h bootstrap again (finally?)
83*4887Schin06-09-14 misc/optget.c: noncommercial => OPT_proprietary
84*4887Schin06-09-12 string/strelapsed.c: fix multi-char qualifier parse
85*4887Schin06-09-12 string/strtoi.h: drop [cClLqQwW] multipliers
86*4887Schin06-09-11 misc/optget.c: add numeric arg validity check
87*4887Schin06-09-07 misc/optget.c,tm/tmfix.c: fix uninitialzed var refs
88*4887Schin06-09-05 path/pathprobe.c: add version header verification
89*4887Schin06-08-01 Makefile: handle iffe vs FEATURE/common vs ast_common.h
90*4887Schin06-08-31 Makefile: add ast_map.h to the bootstrap list
91*4887Schin06-08-30 misc/glob.c: fix ~(E)re bug that stripped ~(E) before regcomp
92*4887Schin06-08-30 include/ast.h: add { integralof(x) pointerof(x) }
93*4887Schin06-08-27 string/strelapsed.c: fix off-by-one (too little) parse bug
94*4887Schin06-08-25 misc/optget.c: 0*<n>.* numeric option args => <n>.*
95*4887Schin06-08-22 misc/glob.c: handle ~(...) pattern options
96*4887Schin06-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug
97*4887Schin06-08-16 regex/regcomp.c: accept but ignore ~(N)
98*4887Schin06-08-14 features/libpath.sh: add solaris LD_LIBRARY_PATH_64 check
99*4887Schin06-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix
100*4887Schin06-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for ..
101*4887Schin06-07-28 include/glob.h: add gl_extra for user globlist_t expansion
102*4887Schin06-07-27 features/common: #include "ast_map.h"
103*4887Schin06-07-26 comp/fnmatch.[ch]: allow <ast_map.h> to map fnmatch()
104*4887Schin06-07-22 cdt: snarf from kpv
105*4887Schin06-07-17 string/strperm.c: perm==-1 skips umask(1)
106*4887Schin06-07-17 sfio/sfvprintf.c: handle format invalid mb seq
107*4887Schin06-07-17 regex/regcomp.c: inline REG_SHELL => anchored, otherwise not
108*4887Schin06-07-17 regex/regcomp.c: inline B|G:basic E:REG_EXTENDED F|L:REG_LITERAL
109*4887Schin06-07-17 regex/regcomp.c: inline l:REG_LEFT r:REG_RIGHT
110*4887Schin06-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT
111*4887Schin06-07-17 string/chresc.c: add \Uxxxxxxxx
112*4887Schin06-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal
113*4887Schin06-07-17 string/tokline.c: splice() => spliceline() for bsd
114*4887Schin06-06-27 features/float,sfio/sfcvt.c: fix Nan logic
115*4887Schin06-06-27 port/astmath.c: fix long double isnan() test
116*4887Schin06-06-27 features/map.c: _map_libc for std => _ast_std
117*4887Schin06-06-25 string/strperm.c: handle posix = w.r.t. umask
118*4887Schin06-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change
119*4887Schin06-06-18 regex/regstat.c: add REG_LITERAL check
120*4887Schin06-06-11 cdt/dtview.c: update from kpv
121*4887Schin06-05-31 sfio/sfhdr.h: fix _SFOPEN() typo
122*4887Schin06-05-09 comp/conf.sh: add native getconf -a names to the mix
123*4887Schin06-04-28 misc/optget.c: add solaris long option name compatibility
124*4887Schin06-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags
125*4887Schin06-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator
126*4887Schin06-02-10 port/astconf.c: relax standard prefix filter
127*4887Schin06-02-08 sfrd.c,sfsync.c: lock logic bug fix
128*4887Schin06-02-01 port/astlicense.c: add { parent incorporation }
129*4887Schin06-01-26 port/astconf.c: fix { LIBPREFIX LIBSUFFIX } length
130*4887Schin06-01-06 features/lib: change _UNIV_DEFAULT probe to use cross{...}
131*4887Schin06-01-04 misc/stk.c: fix n**2 realloc behavior
132*4887Schin06-01-01 include/sfio.h: export { _Sfi _Sfmaxr }
133*4887Schin05-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC
134*4887Schin05-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache()
135*4887Schin05-10-06 string/ccmap.c: update ebcdic-u to be idempotent
136*4887Schin05-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing
137*4887Schin05-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header
138*4887Schin05-09-12 misc/optget.c: reset opt_info.offset on error
139*4887Schin	 string/strtoi.h: strton() '.' multiplier only if m>1
140*4887Schin	 string/fmtesc.c: add unadvertized FMT_PARM for FMT_SHELL
141*4887Schin05-09-09 string/fmtesc.c: fix FMT_SHELL logic w.r.t. [$`]
142*4887Schin05-08-11 string/strerror.c: fix { sys_errlist sys_nerr } prototypes
143*4887Schin05-08-03 sfio: snarf sfvaprints sfaprints
144*4887Schin05-07-21 port/astconf.c: retain most recent synthesized lookup
145*4887Schin05-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems
146*4887Schin05-07-17 ccmap*: add microfocus cobol EBCDIC_U
147*4887Schin05-06-29 regex/regcomp.c: fix the A & B inline flag logic
148*4887Schin05-06-15 include/recfmt.h: add fs format flag to fmtrec()
149*4887Schin05-06-14 error.c: add ERROR_OPTIONS { break count match }
150*4887Schin05-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep
151*4887Schin05-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround
152*4887Schin05-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh
153*4887Schin05-05-30 sfio/sfpkrd.c: work around macos 10.4 recv(MSG_PEEK) bug
154*4887Schin05-05-27 regex: add REX_NEST (?%[S.][T.][OT])
155*4887Schin	 magic.tab: ammend bsd db magic
156*4887Schin05-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...)
157*4887Schin05-05-21 regex: state.fold[] is now locale specific -- doh
158*4887Schin05-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match
159*4887Schin05-05-15 recfmt.h: add recstr() reclen() fmtrec()
160*4887Schin05-05-13 optget.c: allow boolean options to take numeric values
161*4887Schin05-05-12 recfmt.c: add to recfmt.h, adjust Recfmt_t encodings
162*4887Schin05-04-30 sfio: add sfmaxr(), default 64K
163*4887Schin05-04-22 comp/omitted.c: fix magic() logic for files < 512 bytes
164*4887Schin05-04-20 cdt: snarf update from kpv; void* Dt_t.user added
165*4887Schin	 misc/error.c: library => ERROR_LIBRARY
166*4887Schin05-04-19 regex/regcomp.c: handle REG_SHELL [^...] == [!...]
167*4887Schin05-04-11 tm/tmxscan.c: handle yyy.mm.dd[-+.]hh.mm.ss.nnnnnn
168*4887Schin05-04-07 regex/regnexec.c: fix out of bounds boundary check -- ouch
169*4887Schin	 features/align.c: add jmp_buf to the alignment mix (ia64)
170*4887Schin	 vmalloc/vmhdr.h: add jmp_buf to the alignment mix (ia64)
171*4887Schin05-03-31 misc/optget.c: fix option { - _ } separator matching
172*4887Schin05-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls
173*4887Schin05-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible
174*4887Schin05-03-23 string/ccmap.c: add ebcdic-m mvs cobol table
175*4887Schin05-03-11 comp/omitted.c: handle utime[s](const,const)
176*4887Schin	 comp/conf.tab: fix linux PID_MAX probe
177*4887Schin05-03-10 comp/setlocale.c: LC_* value "" => unset -- doh
178*4887Schin	 misc/optget.c: reorder _PACKAGE_astsa code for msgcc
179*4887Schin05-03-08 misc/optget.c: delete leading space in STYLE_nroff output
180*4887Schin05-03-07 sfio/sfhdr.h: drop extern _sfdscan -- clashes with sfvscanf.c static
181*4887Schin05-03-01 tm/tminit.c: add tmlocaltime() for tzset() getenv() override workaround
182*4887Schin05-02-20 features/tvlib: tmsettimeofday only for systems that have settimeofday
183*4887Schin	 features/float: fix mvs.s390 NaN tests
184*4887Schin05-02-18 tm/tmxmake.c: fix <0 west of GMT bug that warped to 1800's -- wow
185*4887Schin05-02-11 port/mnt.c: handle lynxos MOUNTED=/etc/fstab
186*4887Schin05-02-08 features/float,sfio.h,sfcvt.c,sftable.c: add INF and fix NAN
187*4887Schin05-02-04 features/lib: add _std_strtol (for lynxos)
188*4887Schin	 include/ast_std.h: add _std_strtol tests
189*4887Schin	 comp/strtod.c: #define S2F_function strtod
190*4887Schin	 misc/signal.c: fix ancient bsd SV_INTERRUPT vs. SV_ABORT clash
191*4887Schin05-01-11 sfio/sfmove.c: try to seek(fr) when fw==0
192*4887Schin	 comp/omitted.c: intercept utimes() too
193*4887Schin	 comp/omitted.c: add DOSPATHVARS env var path value conversions
194*4887Schin	 features/tvlib,tm/tvtouch.c: check for utimets()
195*4887Schin	 misc/optget.c: handle '-' or '_' option word separators
196*4887Schin	 sfio/_sfopen.c: allow stream mode changes after initialization
197*4887Schin	 sfio: sync with kpv: SF_SYNCED fix for ksh input loss bug
198*4887Schin05-01-09 tm/tmxfmt.c: fix %6N for n<100000000
199*4887Schin05-01-08 regex/regcomp.c: conj() => con() to avoid C99 clash
200*4887Schin05-01-05 tm/*: fix { %U %V %W } logic -- my head hurts
201*4887Schin04-12-30 tm/tmxtime.c: fix tm_isdst<0 loop
202*4887Schin04-12-23 vmalloc/vmbest.c: fix vmresize bug that didn't 0 new data
203*4887Schin04-12-19 misc/optget.c: broaden - long option match
204*4887Schin04-12-09 string/strtoi.h: fix terabyte 't' suffix math
205*4887Schin	 string/strmatch.c: flush cache on locale change
206*4887Schin04-12-01 tm/tmsleep.c: add
207*4887Schin	 tv.h,tv*.c,tv.3: move from pax
208*4887Schin	 tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts
209*4887Schin	 features/lib: add *another* sgi linux.ia64 memccpy bug check
210*4887Schin04-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101
211*4887Schin	 ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator
212*4887Schin	 option.h,optesc.c: add 3rd arg, 1 => quote '?' too
213*4887Schin	 misc/magic.c: fix bug that terminated `string \0a' at \0
214*4887Schin	 misc/magic.c: handle vcodex() via decompose()
215*4887Schin	 misc/magic.tab: add vcodex magic
216*4887Schin	 features/stdio: handle _LARGEFILE64_SOURCE -- oops
217*4887Schin	 stdio/(fseek|ftell|fseeko|fsetpos|fgetpos|ftello).c: oops^2
218*4887Schin04-10-28 string/swapop.c: size==-4 => size=4 and extend op=3 to op=7
219*4887Schin	 tm/tmfix.c: fix tm_mon<0 logic
220*4887Schin04-10-22 tm/tmdate.c: handle 'final day feb 2004'
221*4887Schin	 port/astlicense.c: add query=all|id|${...}${...}
222*4887Schin	 port/astlicense.c: "free" => "mit"
223*4887Schin	 comp/omitted.c: revert to the open source license
224*4887Schin	 string/stropt.c: drop siz==0 => tab is hash table
225*4887Schin	 include/sfio.h: incorporate <sfstr.h>
226*4887Schin	 include/sfstr.h: drop
227*4887Schin	 disc/sfstrtmp.c: drop -- use sfstrbuf()
228*4887Schin04-10-20 misc/magic.tab: update tar magic
229*4887Schin04-10-18 ufc-crypt.h,crypt_util.c: drop GPL code
230*4887Schin	 crypt.c: add BSD code
231*4887Schin	 pathpath.c: disable { $0 $_ $PWD } related root search
232*4887Schin04-10-01 normalize ident stamps
233*4887Schin	 port/astlicense.c: add type=cpl -- yeah
234*4887Schin04-09-25 string/swapop.c: return op < size -- duh
235*4887Schin04-09-23 comp/spawnveg.c: :NOOPTIMIZE: -- volatile sometimes ignored
236*4887Schin04-09-21 comp/spawnveg.c: exec_errno_ptr is volatile -- duh
237*4887Schin04-09-14 tm/tmscan.c: add %| alternation and %& => tmdate()
238*4887Schin04-09-08 misc/optget.c: add :!value: omitted optional arg value
239*4887Schin	 misc/optget.c: fix --noNAME ambiguous option logic
240*4887Schin04-08-26 string/strperm.c: add who^mode to propagate least restrictive up
241*4887Schin	 astmath.c: add { frexpl ldexpl } checks for ast.req
242*4887Schin	 port/astlicense.c: ignore first option if non-assignment
243*4887Schin	 include/ast_dir.h: move d_fileno map before struct defs -- duh
244*4887Schin04-08-24 vmalloc/vmbest.c: add {VM_region} VMCHECK=+r for region segment checks
245*4887Schin	 misc/recfmt.c,include/recfmt.h: add
246*4887Schin04-08-23 vmalloc/vmbest.c: add {VM_primary VM_secondary} VMCHECK=-s for primary
247*4887Schin	 features/common: punt to <stdarg.h> for unknown va_list
248*4887Schin04-08-11 vmalloc: sync _UWIN libposix hooks
249*4887Schin04-07-27 features/common,features/limits.c: ULL suffix for unsigned _ast_int8_t
250*4887Schin04-07-22 include/ast.h,comp/eaccess.c: add eaccess() for effective access()
251*4887Schin04-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values
252*4887Schin04-06-28 misc/error.c: check level after error_info.auxilliary
253*4887Schin04-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array
254*4887Schin04-06-17 features/common: change _DLL null define to (the standard ast) 1
255*4887Schin04-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix
256*4887Schin	 misc/optget.c: reset optstr() state on 0 return
257*4887Schin	 misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround
258*4887Schin04-05-31 sfio/sfreserve.c: no side buffer if user buffer is large enough
259*4887Schin04-05-27 string/fmtbuf.c: handle one concurrent buf > sizeof(buf)
260*4887Schin04-05-24 regcomp.c: fix no-advance initialization
261*4887Schin04-05-05 conf.tab,conf.sh: update to align with standards
262*4887Schin	 magic.tab: ms suffix update
263*4887Schin04-05-04 port/lcgen.c: fix territory initialization
264*4887Schin04-04-15 tm/tmdate.c,include/tm.h: fix specific and ordinal days
265*4887Schin04-04-08 astconf: retain { HOSTTYPE LIBPATH LIBPREFIX LIBSUFFIX } strict vals
266*4887Schin04-04-07 vmalloc/vmbest.c: fix alpha tiny block bug
267*4887Schin	 vmalloc/malloc.c: re-enable on alpha
268*4887Schin04-03-30 tm/tminit.c: GMT => UCT only if tz.daylight not defined
269*4887Schin04-03-25 vmalloc/malloc.c: _AST_std_malloc=1 for __alpha
270*4887Schin	 path/pathprobe.c: per-user probe dir => $HOME/.probe/$HOSTTYPE
271*4887Schin04-03-23 regex/reglib.h: fix isw*() redefines
272*4887Schin04-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash)
273*4887Schin	 sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x
274*4887Schin04-02-29 comp/omitted.c: move env trace after PATH fixup
275*4887Schin	 comp/omitted.c: cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0)
276*4887Schin	 misc/optget.c: fix html mailto: match
277*4887Schin	 port/astlicense.c: add type=test for fixed 2001 date
278*4887Schin	 features/float: check local NaNQ first
279*4887Schin	 vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type
280*4887Schin	 misc/magic.tab: add elf s390 index=22
281*4887Schin04-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort
282*4887Schin	 sfio/sfvscanf.c: fix extf arg selection
283*4887Schin04-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef
284*4887Schin	 disc/sfkeyprintf.c: only case pattern must be ()[] balanced
285*4887Schin04-02-14 include/sfio_t.h: add SF_DCDOWN, SFDCNEXT(), SFDCPREV()
286*4887Schin04-02-13 string/strmatch.c: fix bug that didn't save one-time sub[] size
287*4887Schin	 vmalloc: -g: export VMCHECK=1 enable malloc/free checks
288*4887Schin	 vmalloc: -g: free(0) to check and disable malloc/free checks
289*4887Schin	 vmalloc: -g: free(1) to check and enable malloc/free checks
290*4887Schin04-02-11 Makefile: add :P=A: to conf and lcgen exec for cross-compile
291*4887Schin	 regex: use MBSIZE() instead of mbsize() to grab 1 char on err
292*4887Schin	 vmalloc/vmbest.c: updated to do more comprehensive DEBUG tests
293*4887Schin04-02-04 sfio/sfraise.c: add sfraise(0,a,b) to iterate over all streams
294*4887Schin04-02-01 vmalloc/vmbest.c: _BLD_DEBUG free(0) checks the arena
295*4887Schin04-01-31 features/vmalloc: fix typo that missed _mmap_zero
296*4887Schin04-01-23 string/strerror.c: handle real strerror() return value overwrite
297*4887Schin04-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo
298*4887Schin03-12-22 misc/magic.tab: dos EXE tweaks
299*4887Schin03-12-05 vmalloc: sync with kpv, adding exceptf announcements
300*4887Schin03-12-04 port/astlicense.c: fix expand() loop sentinel bug
301*4887Schin03-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error
302*4887Schin	 misc/fts.c: increase MINNAME to 32
303*4887Schin03-11-21 vmalloc/vmbest.c: export VMCHECK=1 to enable $(CC.DEBUG) vmcheck()
304*4887Schin         vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT
305*4887Schin	 misc/magic.c: add { cobol copybook pl1 } and suffix preference
306*4887Schin03-11-12 features/stdio: drop cuserid,getopt for SUSV3
307*4887Schin03-11-11 vmalloc/*: merge kpv update -- this should stomp the compaction bug
308*4887Schin03-10-23 comp/iconv.c: fix sfreserve lock fallback
309*4887Schin03-10-20 sfio/_sfopen.c: add to allow user sfopen() intercept
310*4887Schin03-10-17 regnexec.c: fix exec time REG_LEFT, \x.... => wctomb()
311*4887Schin03-10-12 string/strtoi.h: fix strton '.' overconsumption
312*4887Schin03-10-12 comp/iconv.c: identity is always (iconv_t)0
313*4887Schin03-10-09 string/fmtesc.c: fix FMT_SHELL to check for all shell magic chars
314*4887Schin03-10-01 port/astlicense.c: unknown authors copied verbatim (instead of ignored)
315*4887Schin03-09-30 string/chresc.c: handle \u..., \x... consumes all trailing hex digits
316*4887Schin	 string/stresc.c: \u... and \x... > UCHAR_MAX => wctomb()
317*4887Schin03-09-29 fnv.h: add
318*4887Schin03-09-23 modedata.c: table is for external modes, so no arch specific hacks
319*4887Schin	 optget.c: fix option prefix match translation bug
320*4887Schin	 optget.c: add `<length> <name>=<value>\n' to optstr()
321*4887Schin	 features/lib: add memcmp() test for sgi optimzation bug
322*4887Schin03-09-22 regex.h,regcomp.c: add regncomp()
323*4887Schin	 regclass.c: fix for loop dangling ; in regaddclass()
324*4887Schin03-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf api
325*4887Schin03-09-19 sfmode.c: update release to kpv's
326*4887Schin03-09-17 regcomp.c: add pedantic backref error checks
327*4887Schin03-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position
328*4887Schin	 regclass.c: add regaddclass() for user defined [:class:]
329*4887Schin	 regexec.h: REG_VERSION_N2X, add redisc_t {re_map} ccode map
330*4887Schin	 regstat.c: add regstat_t
331*4887Schin03-09-11 optget.c: --n:=v sets opt_info.assign=':', opt_info.number enabled
332*4887Schin03-09-09 disc/sfkeyprintf.c: *pn on lookup is arg separator; lookup "" arg too
333*4887Schin03-09-05 optget.c: [f:l*?] preserves user long name past '*' in opt_info.name[]
334*4887Schin03-09-03 sfstr.h: add sfstrpend() for #pending bytes in read buffer
335*4887Schin03-08-25 regex: add REG_FIRST, optimize bm
336*4887Schin	 features/lib: _AST_no_spawnveg==1 falls back to fork/exec
337*4887Schin03-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add
338*4887Schin03-08-21 path/pathnative.c,path/pathposix.c: interix updates
339*4887Schin	 features/botched: add cygwin _stat => _stat64
340*4887Schin03-08-15 include/ast.h: map out bsd strmode()
341*4887Schin	 features/common: add interix _ast_intmax_t workarounds
342*4887Schin	 misc/fs3d.c: 3d mount test now uses "" instead of NiL (or cygwin dumps)
343*4887Schin03-08-11 string/fmtesc.c: fix optional quoting checks
344*4887Schin	 tm/tmdate.c: fix > 1 year of seconds arithmetic
345*4887Schin	 tm/tmfix.c: fix leap year adjustments
346*4887Schin03-08-01 features/lib: beef up sock_peek test for interix
347*4887Schin03-07-29 features/float: add -lm to frexp... test
348*4887Schin	 Makefile: fix -lm astmath test sense
349*4887Schin03-07-26 features/mem.c: favor _mem_sbrk over _mem_mmap_*
350*4887Schin03-07-22 vmalloc/vmbest.c: fall back to sbrk() if mmap() fails
351*4887Schin	 features/mem.c: _mem_sbrk means sbrk() and brk() work
352*4887Schin03-07-17 regex/regcomp.c: fix bug that treated KRE X{n,m} like {n,m}(X)
353*4887Schin	 misc/magic.c: check MAGIC_VERBOSE for all load() messages
354*4887Schin03-07-14 misc/optget.c: handle [...]{[...]\f...\f...}
355*4887Schin03-06-21 misc/sigcrit.c: block SIGCHLD if _lib_sigprocmask || _lib_sigsetmask
356*4887Schin	 comp/spawnveg.c,sfio/sfmode.c: use sigcritical() SIG_REG_* macros
357*4887Schin	 comp/spawnveg.c: drop ENOEXEC logic
358*4887Schin	 vmalloc/*: snarf kpv KPVCOMPACT() fix
359*4887Schin	 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT (just in case)
360*4887Schin	 string/strdup.c: drop __strdup() etc. intercepts -- malloc gets it
361*4887Schin	 features/mem: define _mem_method and _mem_* possible values
362*4887Schin	 vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method
363*4887Schin	 sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get?
364*4887Schin	 path/pathshell.c: verify abs path and access(path,X_OK) -- duh
365*4887Schin	 vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT()
366*4887Schin	 port/astconf.c: fix bug that always returned the minmax value
367*4887Schin03-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h>
368*4887Schin	 features/vmalloc: add _lib_brk and _lib_sbrk verification
369*4887Schin	 include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc
370*4887Schin	 comp/conf.sh: fix SI_* and *_SI_* macro redefs
371*4887Schin	 ast.h: VMDEBUG or _BLD_DEBUG enable <vmalloc.h> and VMFL tracing
372*4887Schin	 vmalloc/vmtrace.c: _PACKAGE_ast __FUNCTION__ is a string
373*4887Schin	 vmalloc/vmtrace.c: set trace file fd FD_CLOEXEC
374*4887Schin	 vmalloc/vmbest.c: set /dev/zero mmap fd FD_CLOEXEC
375*4887Schin	 features/mmap: fix ancient read() vs. mmap() time arithmetic typo
376*4887Schin	 vmalloc/malloc.c: _AST_std_malloc==1 to force standard malloc
377*4887Schin03-06-09 comp/omitted.c: add _imp__FUNCTION sybols for __CYGWIN__ static link
378*4887Schin	 vmalloc/vmbest.c: handle systems with sbrk() but no brk()
379*4887Schin03-06-04 port/astconf.c: drop non-standard diagnostics
380*4887Schin03-06-03 comp/conf.sh: rework symbol collision logic
381*4887Schin03-05-30 conf.tab,conf.sh,astconf.c: add <sys/systeminfo.h> sysinfo() SI_*
382*4887Schin03-05-29 ccode.h: rework for extensibility, drop obsolete mematoe(), memetoa()
383*4887Schin03-05-28 regex/*: recode to use isw*() directly when needed, is*() otherwise
384*4887Schin03-05-27 features/vmalloc: fix _std_malloc test
385*4887Schin03-05-25 misc/optget.c: fix optstr() ???* internal options
386*4887Schin03-05-24 misc/optget.c: fix (ancient) argv null dereference
387*4887Schin03-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino
388*4887Schin03-05-22 sfio/sfsprintf.c: n<0 => don't append '\0'
389*4887Schin03-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times
390*4887Schin	 misc/fts.c: add FTSENT.stack to eliminate getlist() recursion
391*4887Schin	 regex/ucs_names.h: use "..." catenation to placate some cc's
392*4887Schin03-05-11 string/strtoi.h: handle "-" "+" "0x" "11#"
393*4887Schin03-05-09 vmalloc/vmbest.c: large memory allocation tweaks
394*4887Schin03-05-06 misc/optget.c: fix getopt_long() prefix==1 bug that missed short flags
395*4887Schin03-04-27 comp/system.c: handle <ast_map.h>
396*4887Schin03-04-24 vmalloc/vmmopen.c: drop dup <unistd.h>
397*4887Schin03-04-21 tm/tmdate.c: fix next hour/min logic
398*4887Schin03-04-15 vmalloc/malloc.c: intercept __malloc() along with __libc_malloc()
399*4887Schin	 string/strdup.c: intercept __strdup() along with __libc_strdup()
400*4887Schin	 features/mmap: consolidate from features/(lib|sfio|vmalloc)
401*4887Schin	 add _NO_MMAP==1 to disable all mmap()/munmap() calls
402*4887Schin	 path/pathposix.c: add
403*4887Schin03-04-14 comp/setlocale.c: fix debug_mbtowc() return value for *s==0 || n < 1
404*4887Schin	 comp/iconv.c: fix error return errno values
405*4887Schin03-04-11 misc/stk.c: fix stkgrow() realloc bug
406*4887Schin03-04-05 string/tok.c: support readonly single token input strings
407*4887Schin	 disc/sfdcdio.c: fix F_DIOINFO and FDIRECT #ifdef's
408*4887Schin	 include/ast_std.h: allow _LARGEFILE64_SOURCE on __hppa
409*4887Schin	 features/common: fix `tst _foo_' => `tst foo_' typo
410*4887Schin	 features/float: fix `tst _foo_' => `tst foo_' typo
411*4887Schin	 features/float: add FLTMAX_(UINTMAX_MAX,INTMAX_MAX,INTMAX_MIN)
412*4887Schin	 comp/omitted.c: fix pathconf => _pathconf => _ast_pathconf loop
413*4887Schin03-04-03 features/float: add _ast_no_um2fm: no usinged intmax => floatmax cast
414*4887Schin	 vmalloc/vmbest.c: add getenv("VMCHECK") to initialize Vmcheck
415*4887Schin03-03-28 include/ast_dir.h: add D_TYPE; { D_FILENO D_TYPE } must be #ifdef'd
416*4887Schin	 misc/fts.c|getcwd.c|glob.c,preroot/getpreroot.c: add D_FILENO #ifdef's
417*4887Schin	 Makefile: make sure _BLD_ast is defined for all compiles
418*4887Schin03-03-27 ast_vfork.h: generate from features/vfork to pick up headers/pragmas
419*4887Schin03-03-25 comp/omitted.c: drop free() of live environ
420*4887Schin	 path/pathshell.c: allow trailing .exe -- pox on that
421*4887Schin	 string/strtoi.h: fix bug leading 3 digits before thousands sep bug
422*4887Schin	 string/(fmt|str)[gu]id.c: we know root when we see it
423*4887Schin03-03-24 misc/optget.c: handle : and ? in := default value
424*4887Schin03-03-21 ast_std.h: drop all spawn*() but spawnveg()
425*4887Schin	 obsolete/spawn.c: add for dropped spawn*()
426*4887Schin	 features/lib: _use_spawnveg if spawnveg() is a win over fork()/exec()
427*4887Schin	 features/lib: drop NutForkExecve() and _map_spawnve
428*4887Schin	 features/lib: fix memccpy test to clean up /tmp droppings
429*4887Schin	 comp/spawnveg.c: call posix_spawn() if implemented
430*4887Schin	 comp/omitted.c: add spawnve() intercept
431*4887Schin	 comp/getoptl.c: set getopt_long() optind even if no options
432*4887Schin	 tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim>
433*4887Schin	 misc/optget.c: fix trailing '*' for option and option args
434*4887Schin	 sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2}
435*4887Schin	 vmalloc/*: kpv sync for uwin build independent of libast
436*4887Schin03-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss)
437*4887Schin	 string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss)
438*4887Schin	 regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data
439*4887Schin	 features/lib: add vfork test for passing SIG_IGN across exec
440*4887Schin	 features/lib: add spawn test for passing SIG_IGN across spawn
441*4887Schin03-03-17 comp/omitted.c: unlink() renames to .deleted dir in case file open
442*4887Schin	 sfio/sfpopen.c: handle mode "" for spawn with no pipe
443*4887Schin	 features/float,comp/frexp.c,comp/frexpl.c: add pow2() table alternative
444*4887Schin03-03-12 features/lib: fix linux.ia64 memccpy() tests -- now its their turn
445*4887Schin	 features/vmalloc: fix /dev/zero test
446*4887Schin	 features/align: _ast_intmax_t and _ast_fltmax_t join the union
447*4887Schin	 misc/stk.c: fix struct frame size to align data
448*4887Schin	 disc/sfdcdos.c: change sfslen() => sfvalue(f)
449*4887Schin03-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd]
450*4887Schin03-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard
451*4887Schin03-03-05 comp/omitted.c: make sure at least /bin is in PATH to find cygwin dlls
452*4887Schin03-03-02 path/pathshell.c: write access to /bin is effectively root
453*4887Schin03-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX)
454*4887Schin03-02-25 features/lib: change vfork() test to use _exit() instead of exit()
455*4887Schin03-02-23 include/error.h: update ERROR_VERSION for error_info.number space
456*4887Schin03-02-22 comp/conf.sh: wrap ksh check in eval to avoid premature exit
457*4887Schin03-02-21 misc/fts.c: verify chdir(..) to avoid malicious dir rename()
458*4887Schin03-02-19 string/strtoip4.c: isspace() instead of ' '||'\t'
459*4887Schin03-02-17 regex/regcomp.c: fix stats.l REX_REP logic that botched REX_BM
460*4887Schin03-02-13 string/base64.c: handle catenated encodings
461*4887Schin03-02-11 features/libpath.sh: change LIBPATH to <dir>[:<env>[:<pat>]][,...]
462*4887Schin03-02-07 path/pathfind.c: allow "/dev/null" to be PATH_REGULAR
463*4887Schin03-02-06 include/ast.h,fmtquote.c: add FMT_ALWAYS|FMT_ESCAPED|FMT_SHELL|FMT_WIDE
464*4887Schin03-02-05 tm/tmdate.c,tm/tmword.c,string/strelapsed.c: '_' treated like ' '
465*4887Schin03-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec
466*4887Schin03-01-31 port/astlicense.c: fix author=* match
467*4887Schin03-01-30 include/tm.h: add tmisleapyear() macro
468*4887Schin03-01-29 comp/getopt.h,comp/getoptl.c: add gnu getopt_long(), getopt_long_only()
469*4887Schin	 include/ast_getopt.h: for non-gnu part of comp/getopt.h
470*4887Schin	 include/ast_std.h: include <ast_getopt.h> instead of <getopt.h>
471*4887Schin03-01-28 ast.h,string/base64.c: add base64encode() and base64decode()
472*4887Schin	 path/pathfind.c: verify S_ISREG()
473*4887Schin03-01-24 path/pathexists.c: fix abs dir bug and deal with case ignorance
474*4887Schin03-01-23 path/pathpath.c: honor PATH_ABSOLUTE for the easy case too
475*4887Schin03-01-22 path/pathprobe.c: fix search to find both the probe script and command
476*4887Schin03-01-17 misc/magic.tab: application/zip => appplication/(gzip|pzip|zip)
477*4887Schin03-01-14 misc/optget.c: change href="" to href="."
478*4887Schin03-01-10 include/ast_std.h: strtold() import hackery for static __CYGWIN__
479*4887Schin03-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP
480*4887Schin	 include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP
481*4887Schin02-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004)
482*4887Schin02-12-06 misc/sigdata.c: add NoF(sigdadata) -- why nmake was uninterruptable!
483*4887Schin02-12-03 comp/omitted.c,features/omitted: handle cygwin alarm() return botch
484*4887Schin02-11-27 misc/swapop.c: op=3,size=4 => op=7
485*4887Schin	 string/strlcat.c,strlcpy.c: fix uwin decl clash
486*4887Schin02-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug
487*4887Schin02-11-22 misc/glob.c: move static struniq() to libast extern
488*4887Schin	 string/fmtversion.c,include/ast.h: add fmtversion
489*4887Schin02-11-18 string/strncopy.c: add
490*4887Schin	 misc/magic.tab: list size for magicid.h magic
491*4887Schin02-11-14 sfio/sfvprintf.c: add %#c for C escapes
492*4887Schin	 include/error.h: add ERROR_NOTIFY context flag for builtin commands
493*4887Schin02-11-11 string/strtoi.h: add S2I_size for strnto*() size_t 2nd arg
494*4887Schin	 sfio/sfstrtof.h: add S2I_size for strnto*() size_t 2nd arg
495*4887Schin	 comp/putenv.c: add setenv() and unsetenv() wrappers for setenviron()
496*4887Schin02-10-31 path/pathfind.c: add dir of including file to the pathinclude() list
497*4887Schin	 misc/optesc.c: add
498*4887Schin02-10-30 string/strtoip4.c: set next char pointer even on error
499*4887Schin02-10-29 comp/resolvepath.c: add (size_t version of realpath())
500*4887Schin	 misc/mime.c: fix mimehead() to ignore null content values
501*4887Schin02-10-28 misc/glob.c: add GLOB_STARSTAR for /**/ and GLOB_NOTDIR optimization
502*4887Schin02-10-27 string/struniq.c: add
503*4887Schin02-10-23 features/common: fix off-by-one loop check
504*4887Schin02-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions
505*4887Schin02-10-17 misc/mime.c: handle type/* match, fix bogus header parse
506*4887Schin02-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static
507*4887Schin02-10-02 features/common: don't define _WIN32; define _WINIX => unix on windows
508*4887Schin	 features/tty: finally stomp the bsd _POSIX_VDISABLE redefinition
509*4887Schin	 misc/fastfind.c: add more specific findwrite() error messages
510*4887Schin	 comp/omitted.c: fix cygwin utime() to update st_ctime
511*4887Schin	 comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX
512*4887Schin	 string/fmtls.c,fmttime.c: tmform() => tmfmt()
513*4887Schin02-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack
514*4887Schin	 port/mnt.c: don't set MNT_REMOTE for win32 ?:\* paths
515*4887Schin	 sfio/sfvscanf.c: _sfdscan() is library global (not static)
516*4887Schin02-09-21 path/pathkey.c: add tool arg for mamake compatible hash
517*4887Schin	 features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change
518*4887Schin02-09-15 comp/conf.sh: fix enum vs. macro test
519*4887Schin	 cdt: kpv sync
520*4887Schin02-09-11 ast.h,features/common: move _WIN32 macro init to features/common
521*4887Schin	 features/common: enable __EXTERN__ and __DEFINE__ for _WIN32&!_UWIN
522*4887Schin	 features/float: add -lm to _ast_*_nan_init tests
523*4887Schin	 vmalloc: kpv sync with vmresizef => vmgetmem
524*4887Schin	 features/iconv: must have both <iconv.h> and iconv_open()!
525*4887Schin	 features/vmalloc: alloca test must compile *and* link
526*4887Schin	 sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop
527*4887Schin02-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes
528*4887Schin	 features/fcntl.c: enable mmap64() prototype
529*4887Schin	 include/ast_windows.h: windows.h wrapper with ast namespace workarounds
530*4887Schin02-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line
531*4887Schin02-09-05 features/vmalloc: add free() to _std_malloc test
532*4887Schin	 include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too
533*4887Schin	 tm/tmlocale.c: { C POSIX en } == unix dadgummit
534*4887Schin02-08-29 path/pathfind.c: initialize Dir_t.next=0
535*4887Schin02-08-28 uwin/rint.c: update
536*4887Schin	 features/libpath.sh: "bin" is now the default value
537*4887Schin02-08-22 vmtrace.h: add for debugging
538*4887Schin02-08-20 misc/magic.c: convert to use <cdt.h>
539*4887Schin	 vmalloc/vmresizef.c: add for generic discipline resizef default
540*4887Schin	 string/strelapsed.c: allow long time component names
541*4887Schin02-08-19 misc/optget.c: add `.fp 5 CW' to --nroff output
542*4887Schin	 string/(fmtfs|fmtuid|fmtgid|strgid|struid).c: convert to use <cdt.h>
543*4887Schin	 include/dt.h,cdt/dtnew.c: add for dtopen() in specific vm region
544*4887Schin02-08-13 comp/omitted.c: fix bzero logic for e.g. unixware.i386
545*4887Schin	 include/ast.h: add fmtbase->fmtbasell; swap in 2003-09-01
546*4887Schin02-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug
547*4887Schin02-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h>
548*4887Schin02-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions
549*4887Schin02-08-06 comp/iconv.c: handle win32 cpNNNN == windows-NNNN aliases
550*4887Schin02-08-05 cdt/*: sync with kpv src
551*4887Schin02-08-02 features/iconv: include sys/types.h for ast_types.h
552*4887Schin02-08-01 misc/magic.c: magic file "." names the default
553*4887Schin	 misc/magic.c: handle addr type (from irix string)
554*4887Schin	 features/lib: move malloc tests to features/vmalloc
555*4887Schin	 features/vmalloc: snarf tests from features/lib
556*4887Schin	 vmalloc/*: sync with kpv src
557*4887Schin	 comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c
558*4887Schin02-07-30 features/lib: handle __libc_malloc() in _std_malloc test
559*4887Schin	 vmalloc/malloc.c: add gnu pvalloc()
560*4887Schin	 features/vmalloc: fix alloca check
561*4887Schin02-07-29 features/limits.c: handle netbsd guards
562*4887Schin02-07-27 sfio/sfpoll.c: handle rw pipes
563*4887Schin02-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h
564*4887Schin02-07-18 apply LARGEFILE64 header prototype clash patches
565*4887Schin	 misc/optget.c: __EXTERN__ _opt_info_ instead of opt_info
566*4887Schin02-07-17 ast_std.h: memzero() now defaults to memset() instead of bzero()
567*4887Schin02-07-16 ast_std.h: add ast.env_serial
568*4887Schin	 misc/setenviron.c: increment ast.env_serial
569*4887Schin	 include/tm.h: tmset() now calls tminit() directly
570*4887Schin	 tm/tminit.c: check ast.env_serial for env change
571*4887Schin	 tm/tmfix.c: speed up for large values of tm_mday
572*4887Schin02-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree()
573*4887Schin	 comp/strstr.c: fix broken interpretation and implementation
574*4887Schin	 comp/iconv.c: intercept (but no-op) null to and from buffer pointers
575*4887Schin02-06-27 ast_std.h: map _sysconf => _ast_sysconf for sun
576*4887Schin02-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy?
577*4887Schin02-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!)
578*4887Schin	 misc/fts.c: fix symlink chdir() optimzation bug
579*4887Schin02-06-11 sfio/sfwrite.c: string to file fix
580*4887Schin	 Makefile: __OBSOLETE__==20020101
581*4887Schin02-06-01 regex/regcomp.c: REG_DELIMITED now consumes the delimiter
582*4887Schin02-05-31 regex/reglib.h,regcomp.c,regnexec.c: null subexpression fixes
583*4887Schin02-05-24 misc/fts.c: disable dir link counts in 3d
584*4887Schin	 misc/magic.c: fix "*(mkfile)" sh pattern to "*@(mkfile)"
585*4887Schin02-05-20 regex.h,regex/regsubcomp.c,regex/regsubexec.c: add
586*4887Schin	 regex/regsub.c: deprecate
587*4887Schin02-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour
588*4887Schin02-05-14 regex/regsub.c: fix (^|x) null match early termination bug
589*4887Schin02-05-13 dir/dirlib.h: drop errant extern==__EXPORT__
590*4887Schin	 features/uwin: add uwin lib tests
591*4887Schin	 uwin/*.c: check features/uwin for stubs
592*4887Schin	 features/float: add nan representation generation
593*4887Schin	 sfio/sftable.h: used _ast_*_nan_init for huge values
594*4887Schin02-05-09 misc/fts.c: fix virtual top to force ``child'' stat()
595*4887Schin	 features/common: define va_copy() only if not in <stdarg.h>
596*4887Schin02-05-01 string/strtoip4.c: cisco inverted quad mask must have 4 parts
597*4887Schin02-04-30 misc/magic.tab: fix pzip version check
598*4887Schin02-04-19 string/strtoip4.c: handle cisco inverted quad mask n.n.n.n/i.i.i.i
599*4887Schin02-04-18 misc/fts.c: add chdir() verification stat() optimizations
600*4887Schin	 path/pathkey.c: check PROBE_ATTRIBUTES for list of vars
601*4887Schin02-04-12 port/astlicense.c: type=open tweak, fix author list spacing
602*4887Schin02-04-11 regex/regcomp.c: check for pattern number overflow
603*4887Schin02-04-05 tm/tmfmt.c: add %u
604*4887Schin02-04-04 sfkeyprintf.c: fix %c numeric value
605*4887Schin	 path/pathpath.c: check plain path first -- duh
606*4887Schin02-04-03 misc/fts.c: fix (FTS_PHYSICAL|FTS_NOSTAT) stat optimizations
607*4887Schin	 ftwalk.c: only clear FTW_DELAY if FTW_CHILDREN
608*4887Schin	 ftwalk.h: add FTW_NSOK for FTW_DELAY
609*4887Schin02-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h>
610*4887Schin	 features/stdio: check for _SFIO_H redundant _Sfstd* declarations
611*4887Schin02-03-26 misc/glob.c: fix GLOB_LIST gl_flags values
612*4887Schin02-03-24 port/mnt.c: update bsd fstype name and mount option logic
613*4887Schin02-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake)
614*4887Schin02-03-17 features/stdio: hack around g++ 3.* clashes
615*4887Schin	 Makefile: add ast_nl_types.h to the .check.hdr list (for mamake)
616*4887Schin	 string/strtoip4.c: fix validity check bug that only checked last part
617*4887Schin02-03-14 misc/optget.c: fix --keys to not expand inline \f...\f
618*4887Schin02-03-12 port/astlicense.c: add type=free
619*4887Schin	 path/pathaccess.c: sibling ".." search ignores relative dirs
620*4887Schin	 sfio/sfvscanf.c: sfstrtof get() must return 0 on eof
621*4887Schin02-03-11 path/pathexists.c: check path by pairs checking {ENOTDIR,ENOENT}
622*4887Schin02-02-14 features/float: copy local min/max macros to avoid printf roundoff
623*4887Schin	 features/wchar: include <ast_common.h>, not <ast_std.h>
624*4887Schin	 misc/magic.c: match[]=>matches[] to fix K&R match() macro conflict
625*4887Schin	 include/vmalloc.h: include <stdlib.h> for !_PACKAGE_ast
626*4887Schin	 uwin/mini.sym: add sprintf (now required by features/common)
627*4887Schin	 regex/regnexec.c: truncate wide chars for <ctype.h> functions
628*4887Schin	 Makefile: fix MAM ast_common.h sequencing bug by making it first
629*4887Schin	 cdt/dthash.c: fix DT_DELETE memory leak (DT_DETACH typo)
630*4887Schin	 cdt/dthash.c: fix DT_DELETE double free (dt->data->here typo)
631*4887Schin	 regex/regcomp.c: fix recomb() to reject RE with backref
632*4887Schin	 features/iffeio: explicitly generate stdio.lcl
633*4887Schin	 stdio: add {fcloseall,f(get|put)s_unlocked,fmemopen,getdelim,getline}
634*4887Schin	 tmmake,tmtime: allow negative time_t if native localtime/gmtime do
635*4887Schin	 tmdate: allow years before 1969
636*4887Schin	 fmtfmt: add
637*4887Schin	 include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM }
638*4887Schin	 Makefile: add std/*.h for std header iffe overrides
639*4887Schin	 comp/iconv.c: fix non-C win32 sfreserve() loop
640*4887Schin02-02-11 features/common: separate long long / long double tests
641*4887Schin	 features/common: verify printf handles long long / long double
642*4887Schin02-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now
643*4887Schin	 include/ast_std.h: trust _UWIN <unistd.h>
644*4887Schin02-01-31 port/mnt.c: add aix options field
645*4887Schin02-01-30 comp/strstr.c: add for ancient s5
646*4887Schin	 stdio/_flsbuf.c: only on systems that transfer to native (e.g., uwin)
647*4887Schin	 string/strtoi.h: cat min/max error return values
648*4887Schin02-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h>
649*4887Schin	 comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR
650*4887Schin02-01-24 sigcrit.c: fix SIGCLD!=SIGCHLD interrupt loop
651*4887Schin	 sfvprintf.c: convert fast io macros to functions for uts.390 cc
652*4887Schin	 string/strtoi.h: drop #pragma prototyped for standalone sfio
653*4887Schin	 sfdcsubstr.c: rename from sfdcsubstream.c for 14 char fs
654*4887Schin02-01-22 execlp,execvp,execvpe,spawnlp,spawnvp,spawnvpe: fix __EXPORT__
655*4887Schin	 spawnlp,spawnve,spawnvp,spawnvpe: handle ms mode arg -- barf
656*4887Schin	 sftable.c: ifdef hacks for _WIN32&_ALPHA_ fp exception
657*4887Schin	 _stdfun.c: add _UWIN&_ALPHA_ iob map
658*4887Schin02-01-18 sfio/sfstrtof.h: drop #pragma prototyped for standalone sfio
659*4887Schin02-01-17 features/hdr: don't include <stddef.h> after it doesn't check out!
660*4887Schin02-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d
661*4887Schin	 misc/magic.c: recode mime %s parse -- sensible and no buffer overflow
662*4887Schin02-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header
663*4887Schin02-01-12 tm/tmlocale.c: override win32 default date for {C,POSIX,en} locales
664*4887Schin	 comp/omitted.c: fix cygwin workaround logic bugs
665*4887Schin02-01-09 stdio/fseeko.c,ftello.c: add from UNIX98
666*4887Schin02-01-08 comp/conf.sh: use $cc instead of cc
667*4887Schin02-01-07 string/strlcat.c,string/strlcpy.c: add bsd api
668*4887Schin01-12-18 comp/conf.tab: fix LFS_CFLAGS default for sun _CS_LFS_CFLAGS botch
669*4887Schin	 features/common: add hdr stdarg test
670*4887Schin	 tm/tmdate.c: handle YYYY/MM/DD
671*4887Schin01-12-10 misc/magic.tab: add generic 0x00010203 binary magic
672*4887Schin01-12-03 path/pathprobe.c: return HOME relative path if readonly/non-suid fs
673*4887Schin01-11-30 misc/optget.c: add simple cache for repeat offenders (like ksh read)
674*4887Schin	 sfio/sfhdr.h: preserve errno across SFMMSEQON-SFMMSEQOFF
675*4887Schin01-11-29 magic.tab: fix GIF version number listing
676*4887Schin01-11-28 string/fmtbase.c: p!=0 => base always included in output
677*4887Schin01-11-26 misc/fts.c: empty path is an error
678*4887Schin01-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs
679*4887Schin01-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug
680*4887Schin01-11-19 features/lib: retain _lib_confstr for all solaris releases
681*4887Schin01-11-16 comp/setlocale.c: fix !_lib_setlocale typo
682*4887Schin01-10-31 regex/ucs_names.h: add string catenation to keep line length low
683*4887Schin	 misc/fastfind.c: handle gnu slocate db read
684*4887Schin	 misc/optget.c: add --?+SECTION queries
685*4887Schin	 comp/fnmatch.h: add FNM_NOSYS
686*4887Schin01-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified
687*4887Schin01-10-20 misc/glob.c: fix bug that called \ trim() twice on same path
688*4887Schin	 misc/glob.c: fix \ trim() bug that restored / to wrong position
689*4887Schin	 string/fmtre.c: fix { ^ . $ } translations
690*4887Schin	 misc/optget.c: use original string if translation fails -- duh
691*4887Schin	 sfio/sfhdr.h: assume <errno.h> assigns proper atttibutes to errno
692*4887Schin	 comp/regcmp.c: __ia64 workaround fixed by proper CC.DLL probe
693*4887Schin	 comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe
694*4887Schin	 features/lib: add lib getdate
695*4887Schin01-10-18 features/lib: check for strtod static link collision
696*4887Schin	 features/float: add another signed cast for old bsd cc
697*4887Schin	 features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd
698*4887Schin01-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG }
699*4887Schin	 sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1.
700*4887Schin	 sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args
701*4887Schin	 sfio/sfvscanf.c: handle %C %lc %S %ls for wchar_t args
702*4887Schin	 string/fmtmode.c: fix bug that omitted trailing '\0'
703*4887Schin01-10-12 misc/optget.c: . => \&. for --??nroff
704*4887Schin	 comp/wc.c: fix mbstate_t initialization typo
705*4887Schin	 features/float: fix max integer / float loop termiation
706*4887Schin	 features/float: fix LDBL_UINTMAX_MAX typo that did DBL_UINTMAX_MAX
707*4887Schin01-10-11 include/sfio.h: fix _Sfstd* import/export
708*4887Schin	 features/common: fix _UWIN __DYNAMIC__() definition
709*4887Schin01-10-06 features/fcntl.c: { O_BINARY O_TEXT } default to 0
710*4887Schin	 features/omitted: add for comp/omitted.c
711*4887Schin	 sfio/sfopen.c: O_BINARY default for _WIN32&&!_UWIN
712*4887Schin01-10-05 misc/glob.c: fix `\(x/*' GLOB_NOMATCH bug that returned `(x'
713*4887Schin	 misc/optget.c: fix localization lookup that didn't drop doubled : ? ]
714*4887Schin01-10-04 comp/setlocale.c: handle sizeof(wchar_t)!=4 in debug locale
715*4887Schin	 comp/conf.sh: handle sytems where _SC_* is both an enum and a macro
716*4887Schin01-09-25 astconf: add LIBPREFIX
717*4887Schin01-09-20 features/common: add __DYNAMIC__() for dll externs
718*4887Schin01-09-19 cdt: kpv update
719*4887Schin	 mb*() macros: update for ksh conversion, extend debug locale
720*4887Schin01-09-16 tm/tmlocale.c: add compiled in defaults for C locale
721*4887Schin	 misc/glob.c: add gl_nextdir callback for GLOB_COMPLETE
722*4887Schin01-08-14 clarify _WIN32 vs. _UWIN vs. __CYGWIN__
723*4887Schin	 tminit: fix standard & daylight initialization
724*4887Schin01-09-11 pathnative.c: add for native fs representation
725*4887Schin	 regex.h: fix regerror_t prototype
726*4887Schin01-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements
727*4887Schin	 tm/tmlocale.c: fix old ascii LC_TIME load
728*4887Schin	 locale*: add new LC_* categories
729*4887Schin	 comp/omitted.c: add CYGWIN workarounds
730*4887Schin	 features/lib: add CYGWIN workarounds
731*4887Schin01-08-11 features/common: some compilers have long long but no LL constants!
732*4887Schin	 features/lib: add mmap64 implementation test (for linux.s390)
733*4887Schin	 regex/regcomp.c: fix \ in [...] parse
734*4887Schin	 setlocale: retain user locale spelling in setlocale() return value
735*4887Schin	 features/limits.c: don't include ./limits.h -- duh
736*4887Schin	 fmtesc: don't escape multibyte chars
737*4887Schin	 tm/tmlocale.c: fix native C locale default
738*4887Schin01-08-08 features/float: some compilers (msdev) forget long long vs. double
739*4887Schin01-07-31 misc/optget.c: handle suboptions
740*4887Schin01-07-27 cdt.h: add DTDISC()
741*4887Schin01-07-17 iffeio.h: move to include for stdio bootstrap iffe workarounds
742*4887Schin01-06-25 regex: perl extensions added and tested
743*4887Schin01-06-21 misc/error: add ERROR_OPTIONS=prefix=string for message processing
744*4887Schin01-06-15 string/chresc: only 2 hex digits max for \xxx
745*4887Schin	 regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs
746*4887Schin01-06-11 regex: handle embedded \0 in pattern and subject string
747*4887Schin	 regex: add (?nnn) for backrefs > 9
748*4887Schin	 comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility
749*4887Schin	 features/float: _ast_flt_unsigned_max_t for bsd.i386 omission
750*4887Schin01-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading -
751*4887Schin	 regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline>
752*4887Schin	 regex/regcomp.c: REG_LENIENT \000 => NUL
753*4887Schin01-06-04 features/dirent: replace Makefile hack with iffe semi-hack
754*4887Schin	 regex/regnexec.c: negation must also check REG_SHELL_DOT
755*4887Schin01-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX
756*4887Schin01-05-31 glob: fix gl_fignore to ignore leading . by default
757*4887Schin	 features/lib: add botch_d_ino_dirent64 for linux botch
758*4887Schin01-05-25 port/lc.tab: add a few missing language_territory's
759*4887Schin01-05-23 string/chresc: \C[.collation-element.]
760*4887Schin	 fmtmatch,fmtre: update for <regex.h> syntax extensions
761*4887Schin01-05-21 regex: add perl extensions, unicode names for collation elements
762*4887Schin01-05-11 string/chresc: \e == \E == escape, \cX == control X, \x{..} == \x..
763*4887Schin01-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR
764*4887Schin	 port/touch.c: handle utime(2) EPERM to fix bug that truncated
765*4887Schin	 regex: change REG_MINIMAL to avoid negation -- much faster now
766*4887Schin01-05-08 *.h: add some off_t macro guards for suse linux
767*4887Schin01-05-03 regcomp.c: optimize ((x)!)* to ((x)!)
768*4887Schin	 wchar: add <wchar.h> and stdio wchar routines
769*4887Schin01-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions
770*4887Schin01-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants
771*4887Schin01-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s
772*4887Schin	 tm/tmlocale.c: check for UTF-8 encoded LC_TIME files
773*4887Schin	 misc/magic.tab: add utf-8 and utf-16 U+FEFF magic
774*4887Schin01-04-26 features/common: some cc's have _ast_int8_t but not LL constants
775*4887Schin01-04-24 features/lib: add _std_strtod for mac os X
776*4887Schin01-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke
777*4887Schin01-04-20 iconv: handle ebcdic<=>utf
778*4887Schin	 mc.h,mc.c: add mcindex()
779*4887Schin	 ast_std.h: add AST_MESSAGE_SET
780*4887Schin01-04-18 features/libpath.sh: fix mvs probe
781*4887Schin	 *: sundry mvs fixes
782*4887Schin	 glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns
783*4887Schin01-04-01 strtod,strtold: add
784*4887Schin	 strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE
785*4887Schin	 sfvprintf,sfvscanf: handle locale decimal_point,thousands_sep
786*4887Schin	 sfvprintf,sfvscanf: handle %a,%A
787*4887Schin	 setlocale: add LC_NUMERIC decimal_point,thousands_sep init
788*4887Schin	 ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines
789*4887Schin	 pathexists: path cache to cut down pathpath() access(2) calls
790*4887Schin	 features/stdio: __FILE_TAG == _sfio_s for solaris
791*4887Schin01-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block
792*4887Schin01-03-19 glob: add GLOB_AUGMENTED
793*4887Schin	 regex: REG_SHELL syntax error implies REG_LITERAL match
794*4887Schin	 strto[ln][ll]: add overflow checks
795*4887Schin01-03-17 locale: reimplemented to provide canonical locale namespace
796*4887Schin	 locale: add LC_ALL=local for local system user default
797*4887Schin	 tm.h: TM_*_3 => TM_*_ABBREV
798*4887Schin	 tmfmt: handle standard E and O format modifiers
799*4887Schin	 tmlocale: consult nl_langinfo() if defined
800*4887Schin	 fmtquote("\"",1) => shell quote
801*4887Schin01-03-08 regex: handle multibyte chars and collation classes
802*4887Schin	 strmatch,strgrpmatch: now a wrapper on regex
803*4887Schin	 ast_std.h: add mb*() multibyte and collation support
804*4887Schin	 sfvscanf: handle locale decimal and thousand
805*4887Schin	 proc*,system: handle ignored SIGCHLD
806*4887Schin	 sfkeyprintf: handle %*C
807*4887Schin01-03-06 locale: add locale data cache for efficient multiple locale switching
808*4887Schin	 optget: fix LC_MESSAGES!=C --man bug
809*4887Schin01-03-01 Makefile: HEADEROPT is not optional for win32.*
810*4887Schin	 comp/syslog.h: comply with the de factos
811*4887Schin	 optget(): fix \f...\f stack bug that referenced data after pop
812*4887Schin01-02-27 *locale*: a batch of fixes for native LC_MESSAGE&LC_TIME hooks
813*4887Schin01-02-22 pathprobe: reprobe test now checks probe.ini too
814*4887Schin	 sfio_s.h: advertize public Sfio_t members with _ prefix
815*4887Schin	 sfio.h,features/stdio: add <sfio_s.h> reference
816*4887Schin	 sfhdr.h: map <sfio_s.h> _foo to foo
817*4887Schin	 sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING
818*4887Schin01-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols
819*4887Schin	 stdio/*: update for uwin stdio.dll binary compatibility
820*4887Schin	 sfread: finally fixed premature pipe read EOF bug
821*4887Schin	 fmtscale: format tenths for number > 0 && number < 10
822*4887Schin01-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports
823*4887Schin01-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro
824*4887Schin	 setlocale: undef valid for sun4 k&r valid() macro
825*4887Schin01-02-07 catopen.c: don't do native catopen for the debug locale
826*4887Schin01-02-06 sfraise.c: add SF_FINAL check to avoid (posibly) freed disciplines
827*4887Schin01-01-01 features/common: fix uwin __DEFINE__
828*4887Schin	 sftable: initialize decimal and thousand
829*4887Schin	 magic.tab: add corel wordperfect document
830*4887Schin	 syslog: add LOG_LEVEL, add '\n' only if needed
831*4887Schin	 include/tm.h: #undef daylight for _WIN32
832*4887Schin	 sfio.h: add _SF_APPEND and _SF_CLOSE for native namespace incursion
833*4887Schin	 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1
834*4887Schin	 setlocale: set AST_LC_multibyte
835*4887Schin	 strmatch: check AST_LC_multibyte
836*4887Schin	 features/limits.c: add _BITS_POSIX1_LIM_H guard for linux
837*4887Schin	 features/libpath.sh: fix for aix LIBPATH
838*4887Schin	 procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3))
839*4887Schin	 optget.c: add enumerated option argument values
840*4887Schin	 optget.c: add <!--INTERNAL--> for private --html
841*4887Schin	 optget.c: fix memory leak that hit shell builtins hard
842*4887Schin	 sfio: drop sfread small chunk logic
843*4887Schin00-12-25 mnt.c: handle " and ' quoting for fstab
844*4887Schin	 sftmp.c: let pathtemp() open the fd O_EXCL
845*4887Schin00-12-15 conf.sh: add -v for verbose trace
846*4887Schin	 features/(limits|unistd).c: no FEATURE/types because of _POSIX_SOURCE
847*4887Schin	 features/time: add default for CLOCKS_PER_SEC
848*4887Schin	 features/lib: std_malloc now handles NeXT
849*4887Schin00-12-13 strton: recognize qualifier only if preceded by a digit
850*4887Schin	 features/lib: change return in vfork() test to exit() for linux sparc
851*4887Schin	 fmtquote: fix $'...' quote logic
852*4887Schin00-12-11 tmdate: fix cron format bug that mishandled months
853*4887Schin00-12-01 optget: handle $Id: ... $ in --?-version
854*4887Schin	 features/fcntl.c: fix _STDPP_ mmap munmap
855*4887Schin00-11-27 magic: drop dup sfclose() in load()
856*4887Schin	 optget: handle error_info.id==0
857*4887Schin00-11-22 features/stdio: add _FILEDEFED for sol9.sun4
858*4887Schin	 strton,stronll: handle [u|U][l|L][ll|LL] qualifiers
859*4887Schin00-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy
860*4887Schin	 astlicense.c: #include <hashkey.h> MAM workaround
861*4887Schin	 astlicense.c: check for non-empty CONTRIBUTORS
862*4887Schin00-10-26 features/stdio: add _FILE and __FILE for gnu
863*4887Schin	 misc/stk.c: fix stack pointer check off-by-one (dgk does it too!)
864*4887Schin00-10-23 syslog.h: sync with bsd values
865*4887Schin00-10-18 _STUB_* now functions instead of common symbols
866*4887Schin	 all extern data declared with definition to eliminate common symbols
867*4887Schin	 fastfind: add mac/bsd /var/db/locate.database
868*4887Schin00-10-17 features/lib: add apple osX (darwin.ppc) workarounds
869*4887Schin00-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4()
870*4887Schin	 fmt*() now use fmtbuf() for tmp fmt buf allocation
871*4887Schin00-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc
872*4887Schin00-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility
873*4887Schin00-09-21 astlicense: handle \' and \" in license values
874*4887Schin00-09-20 sfwrite: fix write() error in sfprintf() loop
875*4887Schin00-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes
876*4887Schin	 astlicense: add noncommercial
877*4887Schin00-07-31 fflush: don't seek on pipes
878*4887Schin	 sfresize: add
879*4887Schin	 setlocale: fix bad newof() call
880*4887Schin00-06-01 strmatch: initialize match.current.beg[0] to avoid dump at line 670
881*4887Schin	 sfio/stdio: a few more errno tweaks
882*4887Schin	 astquery: sfstdin/sfstderr by default
883*4887Schin00-05-26 sfmode: errno=EBADF for invalid stream use
884*4887Schin00-05-22 rewind: fix for xopen test
885*4887Schin00-05-18 mcfind: returns absolute path
886*4887Schin00-05-16 optget: --keys must catch \f...\f too
887*4887Schin	 translate,mc: errno cleanup
888*4887Schin00-05-09 magic: add netbsd binary magic
889*4887Schin	 fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR
890*4887Schin	 ftwflags: call fts_flags()
891*4887Schin	 astconf: astconf(0,0,0) re-syncs with _AST_FEATURES
892*4887Schin00-05-08 optget: --usage & --keys for last -catalog group only
893*4887Schin00-05-02 iconv.c: add; use codes[] in ccmapid() and ccmapname(); "" for native
894*4887Schin00-05-01 pathtmp: copy env values (libshell or putenv may change)
895*4887Schin00-04-01 optget: drop bar from [-foo?bar] for --??keys
896*4887Schin	 sfvscanf: add %X -- duh
897*4887Schin	 features/common: fix va_listval() for power pc
898*4887Schin	 findopen: fix FIND_GENERATE codes file search
899*4887Schin	 magic: add ERROR_translate() and msgcat.key
900*4887Schin	 tmlocale: add for LC_TIME locale info
901*4887Schin	 tmlex: check tm_info.format and tm_data.format
902*4887Schin	 tmfix: fix for tm_wday special case (via nl_langinfo on LC_TIME fields)
903*4887Schin	 strftime: fix for nl_langinfo special case
904*4887Schin	 ast_std.h: provide LC_* defauls if not defined
905*4887Schin	 sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv
906*4887Schin	 catopen,nl_types.h: add intercept to mc* routines
907*4887Schin	 magic.tab: add ast message catalog
908*4887Schin	 strerror: add _ast_strerror intercept with ERROR_translate("errno")
909*4887Schin	 fmtquote: escapes >0177 only if (flags&2)
910*4887Schin00-03-17 feof: stdio macro functions only for _UWIN
911*4887Schin	 optget: proper ERROR_translate() calls
912*4887Schin	 astgetconf: add for thread safe error message control
913*4887Schin	 astlicense: fix type=special but with non-null notice
914*4887Schin	 errorx: add for ERROR_translate() support
915*4887Schin	 ERROR_translate: add locale id args for alternate dictionary
916*4887Schin	 option.h: move _OPT_PRIVATE_ to pointer to avoid dll size mismatch
917*4887Schin	 ftwalk: fix FTW_CHILDREN bug that hit top level non-dirs twice
918*4887Schin	 translate.c: default error_info.translate
919*4887Schin	 astconf: fix dup loop thrash that never returns, add _AST_VERSION
920*4887Schin00-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers
921*4887Schin	 fmtquote: handle $'...' quotes
922*4887Schin00-03-07 optget: fix numeric option support test
923*4887Schin	 sfkeyprintf: add %q for '...' quoting with ansi escapes
924*4887Schin00-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net)
925*4887Schin00-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts
926*4887Schin	 optget: "..." attribute quote
927*4887Schin	 pathfind: eliminate *: prefix in lib, not type
928*4887Schin	 proc: PROC_FOREGROUND for system(3) semantics (wait status return)
929*4887Schin	 pathtmp: fix mktemp() logic
930*4887Schin	 fts: fix FTS_NOSEEDOTDIR bug that botched ./* in top list
931*4887Schin	 include/ast/prototyped.h includes include/prototyped.h
932*4887Schin	 pathpath: fix strdup(0) bug
933*4887Schin	 optget: --html <foo@bar> => ...mailto:foo@bar...
934*4887Schin	 sscanf: fix sfsscanf => sfvsscanf typo
935*4887Schin	 magic.tab: strengthen tar recognition
936*4887Schin00-02-08 conf.sh: fix ifdef for systems that think sysconf(FOO) is const
937*4887Schin00-02-04 glob: fix globlist_t.gl_flags
938*4887Schin00-02-02 vm*: add NoF() for data only files
939*4887Schin00-01-27 fts: fix top level .==.. statp bug (thanks to dr. ek)
940*4887Schin00-01-25 conf.tab: fix LFS*_*LAGS typo
941*4887Schin00-01-24 astlicense: handle type=verbose, license.notice, author=*
942*4887Schin00-01-11 pathprobe: generate info for first probe script on PATH - duh
943*4887Schin	 ast.h: add NoF(x) for files that define no functions
944*4887Schin	 tmpfile: fix implementation
945*4887Schin	 global change for string ERROR_translate() dictionary names
946*4887Schin	 optget: fix new way but no long names off by one
947*4887Schin	 optget: handle [--dictionary?name]
948*4887Schin99-11-19 comp/conf.sh: `expr length XXX` is not universal
949*4887Schin	 drop sfstdio; stdio via functions everywhere
950*4887Schin	 drop Makefile conditionals (and follow our own advice for once)
951*4887Schin	 sfio: new stream after atexit() bug fix
952*4887Schin	 tm: Tm_zone_t.daylight=0 for standard time within zone
953*4887Schin	 stdio: fopen => _ast_fopen: only way short of binary compatibility
954*4887Schin	 Makefile: atmain.C falls back to atmain.c
955*4887Schin	 optget: add --keys, s<section> option
956*4887Schin	 stdio: _UWIN check for foreign stdio
957*4887Schin99-11-11 astlicense: add
958*4887Schin99-10-31 glob: fix regexec pattern; add PATH_ATTRIBUTES case check
959*4887Schin	 pathpath: path==0 means malloc space
960*4887Schin99-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century
961*4887Schin99-10-18 fastfind: expanded default db lookup
962*4887Schin99-08-11 magic: fix off by one registry malloc
963*4887Schin	 features/fs: add __RENAME checks for stat familiy (netbsd)
964*4887Schin	 features/fs: major()/minor() fixes for s5
965*4887Schin	 features/libpath.sh: netbsd fix -- ld.so not in std places
966*4887Schin	 misc/fastfind: fix codes path generation bug
967*4887Schin	 optget: beef up --?* description, fix <TR>...</TR> nesting
968*4887Schin	 pathprobe: check for override (writable key file) first
969*4887Schin	 features/time: int tmtimeofday(struct timeval*);
970*4887Schin	 optget: fix opt_info.num, even if opt_info.arg!=0
971*4887Schin	 fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP
972*4887Schin	 fastfind: init dir tab with logical and physical name
973*4887Schin	 glob: add gnu GLOB_ALTDIRFUNC
974*4887Schin99-07-17 sfio: kpv update and sfhdr.h sync!
975*4887Schin99-06-24 stdio: fix fflush() to ignore sfseek(0) return value
976*4887Schin99-06-23 magic: '\r' is text not control to placate m$
977*4887Schin99-06-08 stdio: fix fseek,ftell semantics
978*4887Schin	 uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash
979*4887Schin	 getopt: call liberror() to avoid error() conflict
980*4887Schin	 tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset
981*4887Schin	 tmfmt: - no pad _ space pad 0 leading 0 pad
982*4887Schin99-05-28 magic: fix 'x' == '*' for any number, magic.tab tweaks
983*4887Schin	 features/lib: verify that stat64 really works
984*4887Schin99-05-21 tm*: add TM_WINDOW==69 for consistent century windowing guard year
985*4887Schin99-05-18 tmtime: add century leap year calc anticipating unsigned time_t
986*4887Schin99-05-17 sfkeyprintf: handle %o and %x!!
987*4887Schin99-05-09 pathprobe: $HOME/.probe if not suid and st_uid!=geteuid()
988*4887Schin99-04-28 magic,magic.tab: add registry()
989*4887Schin99-04-24 regcomp: fix ksh pattern +! parse
990*4887Schin	 regfatalpat: add
991*4887Schin	 optget: make : ? ] double escape consistent in all contexts
992*4887Schin99-04-01 features: drop iffeio.h and stdio.h when only printf() used
993*4887Schin	 regex: fix stats() .l and .k count
994*4887Schin	 fmtquote: added; most general fmtesc() form
995*4887Schin99-03-22 fmtesc.c,ast.h: add fmtnesq()
996*4887Schin	 optget: --?x works for -x option flag
997*4887Schin99-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug
998*4887Schin	 workaround limits.h circular prereq with ignore stdio.h
999*4887Schin	 sfvprintf: %04e left-pad zero fixed
1000*4887Schin99-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./
1001*4887Schin	 regex: REG_MULTIPLE, BM for fixed string alternation
1002*4887Schin	 optget: embedded `-' optional in long options, prefix={0,1,2}
1003*4887Schin99-02-14 fastfind: fix dir format bug that emitted wrong paths
1004*4887Schin	 astconf: fix redef off by one bug
1005*4887Schin99-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL)
1006*4887Schin99-01-23 optget: move <old_opt.h> back into <option.h>, no open-close
1007*4887Schin	 optget: add "[index:long-name:description]" for --long-name
1008*4887Schin	 comp/gross: add weak __libc_attr for irix < 6.5 compatibility
1009*4887Schin	 features/limits.c: tweak the guards again
1010*4887Schin99-01-11 fastfind: handle old format count byte order
1011*4887Schin	 magic.tab: fix elf to use real phdr offset
1012*4887Schin	 magic.c,magic.tab: fix | to act like switch/case
1013*4887Schin	 comp/fross.c,features/hack: for gross hacks
1014*4887Schin	 features/stdio: avoid sfio namespace pollution
1015*4887Schin98-12-25 tmdate: yyyy.mm.dd
1016*4887Schin	 pathprobe: fix procrun() cmd path bug
1017*4887Schin	 fmtesq: add
1018*4887Schin	 features/common: win32.alpha va_list
1019*4887Schin	 magic: add pc alpha object
1020*4887Schin98-11-11 strmatch: add STR_ICASE
1021*4887Schin	 pathprobe: punt to $HOME/.probe/<key+HOSTTYPE> if not S_ISUID
1022*4887Schin	 tmzone,tmdate: handle +-minutes, nn/MMM/yyyy
1023*4887Schin	 stropt: fix nested quote pop
1024*4887Schin	 tmfmt: add %K => %Y-%m-%d/%H:%M:%S
1025*4887Schin	 sfio/stdio: fix fseek() SF_PUBLIC omissions
1026*4887Schin	 fmtesc: catch '\\' (duh)
1027*4887Schin	 vmalloc: vmbest round bug fix
1028*4887Schin98-11-01 fts.c: no pathcanon() if (fts_flags & FTS_PHYSICAL)
1029*4887Schin98-10-01 features/stdio prototype fixes
1030*4887Schin	 optget: strton() instead of strtol() for #
1031*4887Schin98-09-22 regcomp: add REG_DELIMITED and REG_ESCAPE delimited re support
1032*4887Schin98-09-15 fix _LARGEFILE64_SOURCE stuff
1033*4887Schin	 ast_std.h: provide mmap() prototype
1034*4887Schin98-08-11 fix sfpopen() to ignore SIGPIPE by ignoresig() for sfio but not stdio
1035*4887Schin	 fix procopen() to ignore SIGPIPE by ignoresig() for PROC_IGNORE
1036*4887Schin	 sfio sfpopen/popen update
1037*4887Schin	 magic.src: fix ustar entry
1038*4887Schin98-07-17 fix ftwalk() short by one malloc()
1039*4887Schin	 add fts_notify()
1040*4887Schin98-06-25 sfdcmore,sfdcprefix: add
1041*4887Schin98-06-19 tokscan: add %f %g
1042*4887Schin98-06-01 disc/sf*.c: memset(0) after disc malloc()
1043*4887Schin98-05-11 strelapsed: y==Y
1044*4887Schin	 fts: pathcanon() top list
1045*4887Schin98-04-01 error: error_info.time for all msgs, just after cmd id
1046*4887Schin	 error: no sfsync(sfstdin)
1047*4887Schin	 sfio: sfpool, Sffmt_t update
1048*4887Schin	 magic.tab: sgi core dumps -- why aren't these elf?
1049*4887Schin	 stropt: (v+n) for unknown option is option value if n!=0
1050*4887Schin	 procopen: fix setsid() for spawnveg() only
1051*4887Schin98-03-19 malloc: add realloc foreign region check
1052*4887Schin	 sfdisc.h: rename to match kpv disciplines
1053*4887Schin	 fastfind: fix strcasecmp/strcmp directory prefix mixup
1054*4887Schin98-03-17 features/fcntl.c,pathtmp,sftmp: add O_TEMPORARY
1055*4887Schin98-03-01 pathcanon: fix PATH_LEADING_SLASHES to stat() both slashes
1056*4887Schin	 pathcanon: add PATH_VERIFIED
1057*4887Schin	 tmdate: add skip[] to expand separator char set
1058*4887Schin	 fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db
1059*4887Schin	 fastfind: default generates gnu LOCATE02 8 bit db
1060*4887Schin	 magic: handle %s in mime description
1061*4887Schin	 cdt: kpv update
1062*4887Schin	 sfio: kpv update
1063*4887Schin	 stdio: fpos64_t fseek64(), ftell64(), fgetpos64(), fsetpos64()
1064*4887Schin	 stdio: fseek() => sfseek(SF_PUBLIC) to avoid locking
1065*4887Schin	 fts: initialize parent stat[bp] from top level *after* statf done
1066*4887Schin	 astmath: add -lm requirement test
1067*4887Schin	 *: Astlong_t => _ast_*_t
1068*4887Schin	 regex: simplify regcollate() (from doug)
1069*4887Schin	 tmtime: preserve Tm_t*tm when calling tminit()
1070*4887Schin	 astconf: add readonly PATH_ATTRIBUTES=[cirw]
1071*4887Schin98-02-14 fastfind: add FIND_ICASE to ignore case
1072*4887Schin	 tmdate,tmgoff: handle (+|-)hh[[:]mm[[:]ss]] absolute timezone
1073*4887Schin	 tmdate: `<n> <part>' now assumes `next <n> <part>' instead of `this'
1074*4887Schin	 tmfix: fix leap year bug that forgot to add 1900
1075*4887Schin	 proc: add PROC_ZOMBIE
1076*4887Schin98-02-06 strmatch() char class range bug fix
1077*4887Schin	 regex char class range bug fix
1078*4887Schin98-01-23 _WIN32: changed the #if logic again to accomodate _GNUC_
1079*4887Schin	 mnt: grab the mount options too
1080*4887Schin	 ast_std.h: hide getopt,getsubopt from stdlib.h
1081*4887Schin	 features/limits.c: add gnu guard macros to avoid limits.h recursion
1082*4887Schin	 features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl"
1083*4887Schin98-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h
1084*4887Schin	 sfhdr.h: #undef SETLOCAL for hpux
1085*4887Schin	 sfvprintf,sfvscanf: %I*x for sizeof(int_arg)
1086*4887Schin	 handle ftruncate64 and truncate64
1087*4887Schin	 dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here
1088*4887Schin97-12-18 fmtnum: add
1089*4887Schin97-12-11 magic: handle sgi 64 bit core dumps
1090*4887Schin97-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling
1091*4887Schin97-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t)
1092*4887Schin	 features/stdio: fix fflush() macro to do physical sync
1093*4887Schin97-10-31 astconf PATH_RESOLVE is logical if 3d&&!std, metaphysical otherwise
1094*4887Schin	 magic: fix #! mime bug
1095*4887Schin	 tm: tmtime() now calls tmfix() and adjusts tm_isdst too=>mtime() works
1096*4887Schin97-10-11 dllfind,dlfcn: move to separate -ldll so -last can link static, duh
1097*4887Schin	 Makefile,state.c: move forced header generation state.c => Makefile
1098*4887Schin	 sfio: update including SF_WHOLE
1099*4887Schin97-10-01 sfdostext: add \r\n => \n sfio discipline
1100*4887Schin	 stropt: NiL table => p=name for all name=value
1101*4887Schin97-08-11 pathtmp: check pid to note forks
1102*4887Schin	 procopen: FD_CLOEXEC rfd && wfd
1103*4887Schin	 fts: fts_close() after fts_children() with no fts_read() now works
1104*4887Schin97-07-17 error: sfsync(sfstdin,sfstdout,sfstderr) instead of sfsync(NiL)
1105*4887Schin	 _sfcvinit: add sfio internal interface to base conversion tables
1106*4887Schin	 strton: use _Sfcv* base conversion tables instead of sfsscanf()
1107*4887Schin	 sfvscanf: use _Sfcv* base conversion tables
1108*4887Schin	 mime: x- permutations now matched if exact fails
1109*4887Schin	 mime: original- stripped from content-* headers
1110*4887Schin	 tmdate: add yyyy-jjj, yyyy-mm-dd
1111*4887Schin	 dllfind: add
1112*4887Schin	 ccmapid: fix buf copy loop limit
1113*4887Schin	 ccmapname,ccmapcpy: add
1114*4887Schin	 sfstrtmp: add
1115*4887Schin97-05-09 streval: fix up casts for pseudo-ansi cc
1116*4887Schin	 features/types: use _ast_int_8 vars to verify support
1117*4887Schin	 string/modedata: check for mvs.390 S_IFMT
1118*4887Schin	 include/ast(_std).h: add #define __FILE_typedef
1119*4887Schin	 magic: add ccode text check
1120*4887Schin	 include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh)
1121*4887Schin	 fts: clear status for FTS_AGAIN (fixes rm -r bug)
1122*4887Schin	 mnt: add mvs openedition w_getmntent()
1123*4887Schin	 sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE
1124*4887Schin	 vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk()
1125*4887Schin	 remove: check _std_remove
1126*4887Schin	 procopen: handle pio[{0,1}]=={0,1}
1127*4887Schin	 setenviron,features/uinstd: test for mvs.390 dll environ hacks
1128*4887Schin96-12-25 <sfio_p.h> -> <ast_common.h>
1129*4887Schin	 __EXTERN__(type,object)
1130*4887Schin	 __DEFINE__(type,object,value)
1131*4887Schin	 magic: check strings in !CC_NATIVE code set too
1132*4887Schin	 system: cmd==0 means check for shell access (xopen)
1133*4887Schin	 sfhdr.h: fix sfrsrv prototype
1134*4887Schin	 add __libc_malloc etc for gnu/linux
1135*4887Schin	 astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror
1136*4887Schin	 fts_open: if toplist() stat fails return 0
1137*4887Schin	 ftwalk: handle fts_open()==0 via one phony userf() call
1138*4887Schin	 sfmode: S_ISFIFO default is SF_SHARE=0
1139*4887Schin	 features/lib: _WIN32 _lib_vfork=1 by default
1140*4887Schin	 unsigned<0 comparison and other fixes via sgi.mips4 cc
1141*4887Schin	 stk.c: use <align.h> ALIGN_BOUND for stkalloc()
1142*4887Schin	 features/lib,vfork: uwin fix
1143*4887Schin	 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8
1144*4887Schin	 getsubopt: add for xopen 4.2 compatibility
1145*4887Schin	 drop function __IMPORT__
1146*4887Schin	 magic: more magic
1147*4887Schin	 change #define FILE from Sfio_t to struct _sfio_s
1148*4887Schin	 state.c: add generated includes that may be hit by std for MAM
1149*4887Schin	 bytesex: forgot about sizeof(long)=>7; could we fix the name too?
1150*4887Schin	 vmalloc.h: fix vmnewof() definition
1151*4887Schin	 sfio.h,stdio.h,ast_common.h: pollution cleanup
1152*4887Schin	 magic.c: add | op for switch
1153*4887Schin	 Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that
1154*4887Schin	 drop pp:notice to get <sfio.h> ... <ast.h> to work
1155*4887Schin	 regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat
1156*4887Schin	 mime.c: ignore X-* headers while scanning for Content-*
1157*4887Schin	 magic.c: check for negative indirect offsets
1158*4887Schin	 magic.tab: fix dos entry that generated negative indirect offsets
1159*4887Schin	 vmalloc.h: add vmstrdup() prototype
1160*4887Schin	 hash.h: add hashgetbucket() macro
1161*4887Schin	 magic.c: MAGIFILE is now a : file list
1162*4887Schin	 mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h>
1163*4887Schin	 common: fix _WIN32 chicken&egg with va_copy
1164*4887Schin	 sfio: forgot to set f->val along with _Sfi in sfexcept()
1165*4887Schin	 Makefile: add mini target for uwin libmini.a
1166*4887Schin	 sfcvt.c: workaround for flaky long double optimizers
1167*4887Schin	 features/common: fix to work with va_list==void*
1168*4887Schin	 regexec.c: fix REG_STARTEND subexpression offsets
1169*4887Schin	 strmatch.c: don't forget <wctype.h>
1170*4887Schin	 regrexec.c: fix REG_INVERT end boundary bug that missed last record
1171*4887Schin	 astconf.c: notify(0,0,"a=b") called for each setenviron("a=b")
1172*4887Schin	 pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //*
1173*4887Schin96-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen
1174*4887Schin	 regerror: fix for xopen
1175*4887Schin	 getopt: fix for xopen
1176*4887Schin	 magic: add ciao virtual database
1177*4887Schin	 astconf: posix/strict/xopen implies "standard" conformance
1178*4887Schin	 fs3d.h: hide mount prototype
1179*4887Schin	 ast_std.h,mnt.c,features/fs: ncr port tweaks
1180*4887Schin96-10-31 version 5.0
1181*4887Schin	 add strtoll() strtoull()
1182*4887Schin	 sfkeyprintf: upgrade to int_max args
1183*4887Schin	 ast.h: add ssizeof() to work around unsigned botch
1184*4887Schin	 conf.sh: add shell actions to conf.tab
1185*4887Schin	 _DLL*: drop for _BLD_<lib> + __EXPORT__ + __IMPORT__
1186*4887Schin	 sfio,cdt,vmalloc: kpv update
1187*4887Schin96-10-11 <ccode.h>: add character code map support
1188*4887Schin	 procclose: return shell style exit status
1189*4887Schin	 features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs
1190*4887Schin	 uwin: add subdir for uwin additions
1191*4887Schin	 ast_std.h: swab() is from <stdlib.h>
1192*4887Schin	 sfio.h: <ast_std.h> if _PACKAGE_ast
1193*4887Schin	 magic.tab: add mips[1-4], 64-bit
1194*4887Schin	 port tweaks for sol.sun4 and sun4
1195*4887Schin96-09-06 strerror: add
1196*4887Schin	 fmterror: uses strerror
1197*4887Schin	 str*search: use sfiso646() order
1198*4887Schin	 strpsearch: add
1199*4887Schin	 magic: add Magic_t.mime mime type return for magictype()
1200*4887Schin	 mime.h: add
1201*4887Schin	 strton: use sfsscanf()
1202*4887Schin	 strperm: factor in umask() if no who
1203*4887Schin	 pathtmp: add TMPPATH check
1204*4887Schin	 libevent: add
1205*4887Schin	 magic: add discipline to magicopen()
1206*4887Schin	 mime: add discipline to mimeopen()
1207*4887Schin96-08-31 regex: fix BM fail table generator
1208*4887Schin96-08-11 mntread: fix mnt.type for SCO variant
1209*4887Schin	 conf.tab: add SCO KERNEL_* sysconf() vars
1210*4887Schin	 fastfind: add findwrite(), fix findread() FF_OFF omission
1211*4887Schin	 ftwalk: reimplement on top of fts
1212*4887Schin	 fnmatch,re_comp,regexp: reimplement on top of regex
1213*4887Schin	 basename,dirname,fmtmsg,fts,ftw,getdate,getsubopt,glob: add
1214*4887Schin	 hsearch,nftw,realpath,strftime,strptime,swab,tempnam: add
1215*4887Schin	 tsearch,wordexp: add
1216*4887Schin	 getcwd: cache last path for easy test
1217*4887Schin96-07-17 error: sfsync(NiL) ... write ... sfsync(sfstderr)
1218*4887Schin	 astconf: handle readonly *(DEV|DIR) vars
1219*4887Schin96-04-01 swapop: fix stupid return value bug
1220*4887Schin	 features/int.c: fix int_swap generation bug
1221*4887Schin	 regnexec,regrexec: fix unsigned underflow init error
1222*4887Schin	 ls.h: fix iblocks() to be in units of LS_BLOCKSIZE
1223*4887Schin96-02-29 magic: space before function is definition with no call
1224*4887Schin	 hash: drop hash_info from public interface
1225*4887Schin	 hash: OBSOLETE hashlast()
1226*4887Schin	 hash: add Hash_root_t.Hash_last_t to public interface
1227*4887Schin	 add strsearch() and strnsearch() to complement strlook()
1228*4887Schin	 add hashkey.h for keyword->long hash
1229*4887Schin	 pathpath: pathpath(0,0,"",0) disables $0 $_ $PWD relative search
1230*4887Schin	 sfio: sfstrtod+sfhdr update
1231*4887Schin	 regex: fix REG_LENIENT to map BRE \[+?|] to ERE [+?|]
1232*4887Schin	 change _std_malloc iffe test so it doesn't hang on alpha
1233*4887Schin	 sfhdr.h: features/sfio generates _lib_cvt instead of _i386_cvt
1234*4887Schin	 ast_hdr.h: add va_copy(a,b) to copy va_list b to a
1235*4887Schin	 getopt: fix stupid getopt() -> optget() bug
1236*4887Schin	 sfvprintf: %h? now downcasts
1237*4887Schin	 regex: handle strto?l() errno in regcomp()
1238*4887Schin	 sfstrtod: _Sfstrtod_already_defined -> _STUB_sfstrtod
1239*4887Schin	 ast_std.h: hide valloc() and ignore <strings.h>
1240*4887Schin	 sfkeyprintf: pass phony va_list for '2'
1241*4887Schin	 regex: change HIT var type from int to size_t in special()
1242*4887Schin	 ast.h: add EXIT_STATUS(x) to convert wait() status to sh exit status
1243*4887Schin96-02-14 regex: add _ to \<...\> isalnum test
1244*4887Schin	 regex: fix BM inner loop breakout
1245*4887Schin	 features/types: size_t is signed on some systems! => _ast_size_t
1246*4887Schin	 sfio: sfrd discipline peek optimization
1247*4887Schin	 vmalloc: vmalloc.h malloc family macro upgrade
1248*4887Schin	 tokopen: fix newline bug for non-restore open
1249*4887Schin	 sfio: no inline for gcc until it emits for -g too
1250*4887Schin96-02-12 sfio: internal upgrade
1251*4887Schin96-02-09 regex: Boyer-Moore boundary fix
1252*4887Schin	 vmalloc: snarf latest
1253*4887Schin96-02-06 regex: add regrecord() and regrexec() for Boyer-Moore record filtering
1254*4887Schin	 regex: rearrange regnexec() args to match buffer,count arg style
1255*4887Schin96-01-31 stk: add STK_NULL to stk.h and stk.c
1256*4887Schin	 regex: privatize regex.h and fix min re length computation
1257*4887Schin	 workaround lazy strdup() implementations in features/lib _std_malloc
1258*4887Schin	 fix stkclose() to free(stream) -- purify missed because of sfio links
1259*4887Schin	 unused var cleanup
1260*4887Schin	 port/mnt.c must include <ls.h> to get <ast_fs.h>
1261*4887Schin	 add SF_FINAL to sfio and stk
1262*4887Schin	 sfio reads now on natural block boundaries
1263*4887Schin	 add #!!! <level> <message> !!! to tokline()
1264*4887Schin	 add REX_BM pre-filter to regcomp/regnexec
1265*4887Schin96-01-22 add regcomp env.paren overflow checks
1266*4887Schin96-01-11 add Doug McIlroy's regex (converted to C from C++ by gsf)
1267*4887Schin	 AT&T Research now
1268*4887Schin	 sfgetr optimization
1269*4887Schin	 regex buglets
1270*4887Schin96-01-05 tweak magic.tab for win32
1271*4887Schin95-12-25 add !(...) -> (...)! to fmtre()
1272*4887Schin	 nt tweaks -- functions with no header proto must be defined extern
1273*4887Schin95-11-24 version 4.1
1274*4887Schin	 add mnt.h mntopen mntread mntclose
1275*4887Schin	 convert fmtfs to mnt.h
1276*4887Schin	 add RE_LEFTANCHOR and RE_RIGHTANCHOR
1277*4887Schin	 gcc inlines must also have global library function instantiation!
1278*4887Schin	 add hashview()
1279*4887Schin	 fix strtape() internal buffer flow
1280*4887Schin	 fix mntread() fs/dir transposition for uts mnttab
1281*4887Schin95-10-31 change features/unistd.c includes to break limits-param cycle
1282*4887Schin	 add cdt from kpv
1283*4887Schin	 sfio snarf from kpv
1284*4887Schin	 add [ht]search for _WIN32
1285*4887Schin95-10-11 clarify PARANOID pathcheck() warning
1286*4887Schin	 fix procopen() LIB_SPAWN environ bug with setenviron() cache
1287*4887Schin	 fix setenviron() bug that forgot to reset environ if == 0
1288*4887Schin	 add %Z '\0' output format to sfkeyprintf()
1289*4887Schin	 sfio snarf for sfvprintf fix
1290*4887Schin	 allow multiple hashscan() with scope caveat
1291*4887Schin	 add comp/fakelink.h to synthesize a few symlink text patterns
1292*4887Schin	 add !<xxx> magic to misc/magic.tab
1293*4887Schin	 add FTW_TOP to inhibit recursion (for ftw side effects on top level)
1294*4887Schin	 add memfatal() common malloc fatal exception message
1295*4887Schin	 add dos \r\n test to misc/magic.c/cklang()
1296*4887Schin	 sftmp() O_EXCL+random to avoid collisions
1297*4887Schin	 pathtemp() uses sftmp() randomizing
1298*4887Schin	 features/fs uses SF_APPENDWR
1299*4887Schin	 sftmp() uses pathtemp() -- don't worry, its not circular
1300*4887Schin	 a few more _WIN32 compatibility additions
1301*4887Schin	 realloc fixed to use VM_RSCOPY|VM_RSMOVE instead of obsolete 1
1302*4887Schin	 add hashlook(tab, oldname, HASH_RENAME, newname)
1303*4887Schin	 a few more tweaks to satisfy port warnings
1304*4887Schin	 add _SFIO_INLINE_PRIVATE to provide real function too
1305*4887Schin	 fix <dirent.h> installation test
1306*4887Schin	 oops object / shared library compat with _sfgetl2 _sfgetu2
1307*4887Schin95-09-11 add getopt() compatibility
1308*4887Schin	 add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h
1309*4887Schin	 add getconf CONFORMANCE - posix for things that aren't ast default
1310*4887Schin	 sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif
1311*4887Schin	 snarf vmalloc from kpv
1312*4887Schin95-08-11 fix malloc bug in magic
1313*4887Schin	 update linux and bsd 386 magic entries
1314*4887Schin	 error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done
1315*4887Schin	 drop fnmatch from strmatch for sparc (solaris) until it collates
1316*4887Schin95-07-17 fix port/astconf universe initialization
1317*4887Schin	 fix misc/optget opt_info.nopt initialization
1318*4887Schin	 drop tmset() TZ=... because it only worked when TZ=... was ignored
1319*4887Schin95-05-09 mongo <ast.h> namespace cleanup
1320*4887Schin	 drop > 2 year old obsolete interfaces
1321*4887Schin	 sfvprintf.c fix for (char:8 short:16 int:32 long:64) architectures
1322*4887Schin	 TMP_MAX back into conf.tab
1323*4887Schin	 pathbin() and pathshell() now use astconf()
1324*4887Schin	 fix pathtemp() to not cache getenv("TMPDIR")
1325*4887Schin	 fix ftwalk() metaphysical to handle non-dirs too
1326*4887Schin	 initialize *_info = { 0 }; for ancient ld semantics (NeXT)
1327*4887Schin	 fix magic() to do vmfree()
1328*4887Schin	 astconf(X_OK) must prefix lines with "getconf"
1329*4887Schin	 use <wchar.h> and wctype in strmatch() if available
1330*4887Schin	 _lib_utime_now checks utime(path,0)
1331*4887Schin	 _lib_poll_notimer checks poll(x,0,timeout)
1332*4887Schin	 add another _lib_utime_now check to port/touch.c
1333*4887Schin	 fix dd_buf cast in dir/opendir.c
1334*4887Schin	 split getconf.h into conftab.h and conftab.c for :READONLY:
1335*4887Schin	 use mbtowc() only if MB_LEN_MAX>1
1336*4887Schin	 sfio char* -> Void_t* cleanup
1337*4887Schin	 handle old syntax in misc/magic.c
1338*4887Schin	 sigdata.c holds readonly signal strings
1339*4887Schin	 pathcheck() does AT&T checks for tools matching PARANOID - yuk
1340*4887Schin	 unused var cleanup
1341*4887Schin	 deprecate hash_info in favor of hashlast()
1342*4887Schin	 fix bad conf.sh ksh integer interactions
1343*4887Schin	 dll cleanup
1344*4887Schin	 magic.c falls back to malloc for now
1345*4887Schin	 add environ to <ast.h> -- C library global data syms are *RESERVED*
1346*4887Schin	 sfhdr.h memccpy(1,2,3,size_t) prototype
1347*4887Schin95-04-01 version 4.0
1348*4887Schin	 convert to vmalloc
1349*4887Schin	 allow sigcritical() nesting mismatch to work around vfork() bug
1350*4887Schin	 add strexpr() primitive for streval() with user handle (like ftwalk)
1351*4887Schin	 add <magic.h> and magic.c file command magic interface
1352*4887Schin	 update magic mail message entry
1353*4887Schin	 fix keyprintf() invisible char count nesting bug
1354*4887Schin	 add sfstrnew(SF_READ|SF_WRITE) for alternate sfstropen() modes
1355*4887Schin	 sfstrnew(SF_READ) but reading requires sfseek(), sfreserve()
1356*4887Schin	 add conf.tab and conf.sh to nail C/POSIX limits/unistd macros
1357*4887Schin	 add getconf() string interface to *conf*
1358*4887Schin	 _DLL_INTERMEDIATE_DATA for systems that require indirect globals
1359*4887Schin	 _DLL for building shared libraries with _DLL_INTERMEDIATE_DATA
1360*4887Schin	 vecfile() restricted to S_ISREG()
1361*4887Schin	 add spawnveg() for job control
1362*4887Schin	 convert procopen() PROC_PGRP(id) to spawnveg()
1363*4887Schin	 fmterror() returns error text given errno (strerror() does same)
1364*4887Schin	 fmtsignal() returns signal text given errno (strsignal() does same)
1365*4887Schin	 {sig_name,sig_text,SIG_MAX} -> sig_info.{name,text,sigmax}
1366*4887Schin	 liberror("",...) omits [%s library] prefix
1367*4887Schin	 update features/signal.c table
1368*4887Schin	 add vmdisc() and change vmnewof() to use vmresize()
1369*4887Schin	 fix conf.sh to allow refs to previously defined limits
1370*4887Schin	 fix undefined entries in getconf()
1371*4887Schin	 magic data in magic.tab
1372*4887Schin	 fix stropt() pointer cast
1373*4887Schin	 vmalloc() exception handler replaces nomalloc()
1374*4887Schin	 merge sigdata.c into fmtsignal.c -- sun link needs function w/ data!
1375*4887Schin	 sftmp() bug fix
1376*4887Schin	 drop local <unistd.h> even with _POSIX_SOURCE
1377*4887Schin	 fix vmstrdup() macro arg miscount
1378*4887Schin	 fix conf.sh to handle enum'd symbolic constants in unistd.h
1379*4887Schin	 drop malloc() et.al. prototypes from vmalloc.h
1380*4887Schin	 fix sfvprintf() %d argument reference
1381*4887Schin	 add OSF/1 AES symbol(s) to conf.tab
1382*4887Schin	 determine standards prefix from conf.tab
1383*4887Schin	 add _CS_SHELL to conf.tab
1384*4887Schin	 getpath() default is confstr(_CS_PATH)
1385*4887Schin	 getshell() default is confstr(_CS_SHELL)
1386*4887Schin	 unify keyprintf user function args (should have learned by now!)
1387*4887Schin	 add quad type to magic
1388*4887Schin	 add astfeature() to unify universe style dynamic features
1389*4887Schin	 add ftwflags() to determine FTW_* flags from astfeature()
1390*4887Schin95-03-11 fix stropt() to not modify its *const* arg
1391*4887Schin	 handle "'\ quotes and chresc() in stropt() values
1392*4887Schin	 , treated like :space: between stropt() options
1393*4887Schin	 fix procopen() fd dup to ignore self-dups
1394*4887Schin	 add library id[] to misc/state.c
1395*4887Schin	 add ftwalk(FTW_METAPHYSICAL) for posix -H
1396*4887Schin	 sfvprintf() now handles balanced () in %()
1397*4887Schin	 add tmfmt() with buffer size check to replace tmform()
1398*4887Schin	 add fmttime() calling tmfmt() to fit fmt*() mold
1399*4887Schin	 add <keyprintf.h> and keyprintf() to support %(...)? in commands
1400*4887Schin	 add Hash_table_t for size==0 in stropt()
1401*4887Schin	 add EXTTYPE extended header to tar.h
1402*4887Schin95-02-14 sfmove() buffer size overflow fix
1403*4887Schin	 add _SFSTDIO_H to sfio.h
1404*4887Schin	 rename setenv() to setenviron() -- posix finally decided
1405*4887Schin	 rename <option.h> opt_* to opt_info.*
1406*4887Schin	 update features/unistd.c for _SC_* and _PC_* posix additions
1407*4887Schin95-01-19 (char*)uchar cast in fmtesc()
1408*4887Schin	 fix hash bucket memory leak in hashlook() [via John Mocenigo]
1409*4887Schin	 update strings/strtape()
1410*4887Schin	 fix optget()/optjoin() to handle leading +
1411*4887Schin	 add ALIGN_ prefix to <align.h> identifiers
1412*4887Schin95-01-11 change tm/*.c tmset(0) to tmset(tm_info.zone) to keep user setting
1413*4887Schin	 fix tmform() %Z null pointer dereference
1414*4887Schin95-01-01 add this RELEASE file
1415*4887Schin	 fix strperm() to properly handle "644 file"
1416*4887Schin	 fix tokline() to return last '\0' terminated line in string
1417*4887Schin	 fix tokscan() to properly handle \\n splice
1418*4887Schin	 add fmtesc() to complement stresc()
1419*4887Schin	 add LS_NUMBER to fmtls()
1420*4887Schin	 drop spurious optusage() ' '
1421