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