109-10-05 _sfopen.c: add but ignore 'F' flags for stdio compatibility 209-09-28 fts.h,ftwalk.h,fts.c: promote { namelen pathlen level } to (s)size_t 309-09-28 locales: add AST_LC_LANG for $LANG 409-09-28 setlocale.c: fix logic for dynamic { LANG LC_ALL LC_* } changes 509-09-17 include/sfio.h,sfio/sfwalk.c: add sfwalk() 609-09-09 sfio/sfputr.c: add SIGPIPE hang fix 709-08-24 sfio/sfreserve.c: fix SF_UNBOUND logic with pushed streams 809-08-18 include/ast_std.h,ast.h: add ast.mb_sync to sync mbchar() after error 909-08-17 comp/setlocale.c: add AST_LC_utf8 and { utf8_mbtowc() utf8_mblen() } 1009-08-11 comp/setlocale.c: treat "en"/"en_US" AST_LC_MESSAGES as "C"/"POSIX" 1109-08-10 vmalloc/vmhdr.h: add user-defined _AST_PAGESIZE and computed VMHEAPINCR 1209-08-09 comp/conf.tab: add NPROCESSORS_MAX 1309-07-29 astlicense.c: fix first name=value logic error 1409-07-22 string/fmtip6.c: don't drop trailing 0 in 44::1:0:0 1509-06-30 port/astconf.c: standard PATH_RESOLVE is "physical" (not "metaphysical") 1609-06-19 vmalloc: sync with kpv 1709-06-19 include/shcmd.h: add sh_context(p) cast 1809-06-11 misc/magic.tab: differentiate pc 386 32/64 bit dll/exe/obj 1909-06-06 port/astconf.c: fix look->name null pointer reference 2009-06-05 port/astconf.c: fix 'UNIVERSE = value' synthesize logic 2109-05-25 tm/tmxduration.c: add 2209-05-08 comp/syslog.c: add _UWIN /var/log/syslog preference 2309-05-01 comp/setlocale.c: fix _UWIN intercepts to return NiL on unknown locales 2409-04-27 sfio/sfpool.c: fix bug that did not return pool on delete 2509-04-22 include/regex.h,regex/regcomp.c: add REG_REGEXP <regexp.h> compatibility 2609-04-15 tm/tmxdate.c: handle "4th thursday in november" 2709-03-31 string/strvcmp.c,string/strnvcmp.c: add version strcmp(3) 2809-03-31 string/strpcmp.c,string/strnpcmp.c: add path prefix strcmp(3) 2909-03-29 misc/optget.c: clean up num = number casts 3009-03-04 tm/tmxmake.c: add tmxtm() with zone override 3109-03-03 tm/tmxfmt.c: add %(...)<c>, specifically %(...)z for output zone 3209-02-22 tm/tmxdate.c: add iso P... durations 3309-02-02 path/pathprog.c: add 3409-02-02 misc/opthdr.h,optget.c: fix flags mixup, handle old '-' as option 3509-02-02 sfio/sfprints.c: fix sfvaprints() return value to not count trailing '\0' 3609-02-02 misc/cmdarg.c: handle !defined(ARG_MAX) 3709-02-02 port/astconf.c: fix UNIVERSE overwrite of null[] value! 3809-01-31 features/sys: drop header sys/localedef.h 3909-01-28 include/fs3d.h,misc/fs3d.c: mount() => fs3d_mount() for diff std prototypes 4009-01-14 misc/fts_open.c: delay top list reorder until first fts_read() 4109-01-14 include/ls.h: LS_W_INUMBER => 9 to accomodate large st_ino 4209-01-14 misc/optget.c: expand STYLE_usage input text 4309-01-09 features/uwin,stdio/_stdfun.c: iffe for _p__iob and __p__iob 4409-01-09 misc/magic.tab: add ISO filesystem image entries 4509-01-07 string/strtoi.c: strtol() etc. do not consume [lLuU] suffix -- thanks jkf 4609-01-07 sfio/sfstrtof.h: strtod() etc. do not consume [fFlL] suffix -- thanks jkf 4709-01-05 string/strlcat.c: fix logic to match docs (not that easy) 4808-12-30 tm/tmxdate.c,include/tm.h: add TM_WORK { "workday" "working" "work" } 4908-12-28 sfio/sfcvt.c: fix 'a' format rounding 5008-12-21 tm/tmdata.c: add 2008-12-31+23:59:60-0000 leap second event 5108-12-19 tm/tmxdate.c: check for dates near the epoch rolling back to the future 5208-12-19 tm/tmxfmt.c: change %s for now==0 to be the epoch 5308-12-07 include/ast_std.h,misc/getenv.c: no _ast_getenv for uwin ast54 compatibility 5408-12-07 tm/tmxfmt.c: add %[_][EO]K for [space pad] [full|long] iso 5508-12-07 sfio/sfvscanf.c: fix ok[] short by one allocation 5608-12-07 comp/setlocale.c: fix off by one composite initialition loop test 5708-12-07 path/pathkey.c: fix off by one loop test 5808-12-04 vmalloc/vmbest.c: catch sbrk() wraparound 5908-12-04 comp/spawnveg.c: clean up attrs on failure too 6008-11-04 regex/regcomp.c: fix locale [!-...] and [^-...] re-initialization 6108-11-04 stdio: add flockfile.c ftrylockfile.c funlockfile.c 6208-10-24 port/astconf.c: handle multiple/trailing '/' in universe initialization 6308-09-10 misc/magic.c: handle old vcodex() indices 6408-09-10 sfio/sfvprintf.c: drop SF_WCWIDTH, use %Lc or %Ls instead 6508-09-05 Makefile: ibm.risc joins the :NOOPTIMIZE: crowd 6608-09-04 regex/regnexec.c: fix nested delimiter match beyond end of subject 6708-08-20 misc/fts.c: fix st_nlink stat() optimization logic 6808-08-19 sfio/sfpkrd.c: workaround macosx recv(PEEK) data consumption on non-socket 6908-08-19 strn?tol?d: handle long double with smaller exponent range than double 7008-08-18 sfio/sfcvt.c: eliminate excessive multiplies and integral overprecision 7108-08-11 tm/tmxfmt.c: handle %10N and %010N 7208-08-06 include/shcmd.h: add 'int invariant;' for builtin invarinat arg count 7308-08-05 features/ndbm: favor sleepycat ndbm compatibility 7408-07-21 include/glob.h,misc/glob.c: GLOB_STARSTAR only forces lstat on chdir 7508-07-17 sfio: sync with kpv 7608-07-17 misc/optget.c: call astwinsize() each time terminal width required 7708-07-16 sfio/sfvscanf.c: fix %% to skip leading space per posix 7808-07-16 vmalloc/vmbest.c: add VMCHECK=m, VM_mmap to favor mmap() alloc 7908-07-16 features/stdio,stdio/f(read|write).c: size_t return value!! ouch 8008-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh 8108-06-24 misc/astintercept.c,misc/getenv.c: split from misc/setenviron.c 8208-06-17 misc/setenviron.c: add { astintercept() getenv() } 8308-06-09 tm/tmlocale.c: use _DATE_FMT if defined for TM_DEFAULT 8408-06-06 misc/optget.c: handle sub-component about details 8508-06-04 misc/optget.c: fix [-n?\n...\n] version parse 8608-06-04 include/debug.h,misc/debug.c: merge with kpvdebug.h 8708-06-02 features/ndbm: add to tame dbmlib.iffe replication 8808-06-01 comp/resolvepath.c,realpath.c: fix resolvepath() return value type 8908-05-22 tm/tmxdate.c: fix a few ordinal/last/this/next bugs 9008-05-18 string/fmtre.c: fix omitted stack var initialization bug 9108-05-14 regex/regcomp.c,regcoll.c: fix UTF-8 collation sequence logic 9208-05-11 tm/tmxfmt.c: :NOOPTIMIZE:, otherwise %Q/../../ fails 9308-05-01 tm/tmxdate.c: mon 1..12 => mon[13] -- doh 9408-04-30 misc/glob.c,reegex/regcomp.c: ~(R) => ~(O) to avoid pcre clash 9508-04-24 port/astconf.c: 'name = value' does assignment without system init 9608-04-15 port/astconf.c: SC#N treated like 'SC(N)' 9708-04-14 misc/optget.c: clean up nroff output 9808-04-01 port/astconf.c: add RELEASE => /proc/version fallback 9908-03-30 misc/optget.c: [-n]... to enable -number & +number options 10008-03-06 misc/optget.c: ---* and +++* are now operands 10108-03-06 misc/errorx.c: fix old error_info.translate workaround 10208-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}... 10308-02-27 misc/stk.c: top element during allocation relocated to top 10408-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support 10508-02-14 regex/regsubexec.c: fix null match (tricky) 10608-02-14 regex/regsubcomp.c: fix SRE to match ksh 10708-02-11 comp/spawnveg.c: return proper errno on [v]fork() failure 10808-02-11 tm/tmxdate.c,tmdata.c: handle more ISO 8601:2000 forms 10908-02-02 regex/reglib.h: add REGMULTIREF to REG_COMP 11008-02-02 string/strmatch.c: fix str="" pat="" sub values 11108-01-31 comp/conf.sh,conf.tab: handle /bin/sh \ in read data, redir subshell 11208-01-18 misc/magic.tab: amd-x68, 64-bit => x86-64 11308-01-18 string/strnton.c,strntonll.c: add 11407-12-10 string/strelapsed.c: "0" is a valid elapsed time! 11507-12-02 sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0) 11607-11-21 comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation 11707-11-15 features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1 11807-11-14 features/float: favor sscanf() due to gnu strto[l]d() nan bugs 11907-10-31 regex/regcomp.c: fix REX_COLL_CLASS node allocation size 12007-10-31 sfio/sfcvt.c: use signbit() if available 12107-10-31 features/isoc99: _ISOC99_SOURCE tests 12207-10-31 port/astmath.c: add -DN=8 for signbit() 12307-10-31 sfio/sfstrtod.h: don't forget about -0.0 12407-10-26 features/map.c: add { optopt optarg optind opterr } 12507-10-26 features/stdio: add _filbuf => _ast__filbuf 12607-10-26 comp/getsubopt.c: fix #undef that interfered with <ast_map.h> 12707-10-26 regex/regcomp.c: fix bug that missed ')' in ~(F)... 12807-10-12 port/astconf.c: fix CONF_ALLOC 16 bit overflow 12907-10-12 misc/fts.c: fix fts_close() to free the handle -- doh 13007-10-11 comp/setlocale.c: second and subsequent setlocale(*,"") reverts to previous 13107-10-11 path/pathprobe.c: add vfs ST_NOSUID check 13207-10-10 comp/conf.tab: add a few more xpg6 deferrals 13307-09-28 astsa: update to share with mainline src via _PACKAGE_astsa 13407-09-25 sfio/sfgetr.c: no limit on string stream line size 13507-09-25 sfio/sfextern.c: increase _Sfmaxr to 256*1024 13607-09-18 misc/procopen.c: tighten up SIGCHLD logic between parent/child 13707-09-18 misc/signal.c: unblock SIG_DFL after setting handler, sig<0 => don't unblock 13807-09-13 misc/fs3d.c: no $LD_PRELOAD => no 3d and avoids invalid mount(2) call 13907-09-11 vmalloc: vmstat(0,0)==1 => region in use, drop VM_primary|VM_secondary 14007-09-05 misc/recstr.c: handle [lL] gobbled by strtol() -- ouch 14107-08-17 path/pathprobe.c: handle '\r' in VERSION string 14207-07-17 regex/regcache.c: regcache(0,n,0) extends cache to size n (no shrinking) 14307-07-16 tm/tmdata.c: add 2005-12-31, drop 1999-12-31 (where did that come from?) 14407-05-21 tm/tmxfmt.c,tmxscan.c: %F => %L (TM_DEFAULT); %F => %Y-%m-%d 14507-05-15 sfio/sfvprintf.c: %h? and SFFMT_SHORT => raw bytes 14607-05-09 features/signal.c,features/siglist: use kill -l & strsignal() 14707-04-25 misc/optctx.c: add for opt_info switching 14807-04-24 misc/cmdarg.c,include/cmdarg.h: add CMD_CHECKED, CMD_SILENT 14907-04-24 misc/procopen.c,include/proc.h: add PROC_CHECK 15007-04-24 misc/procrun.c: add flags arg (current use PROC_ARGMOD) 15107-04-24 misc/cmdarg.c,include/cmdarg.h: move from src/cmd/tw 15207-04-20 port/(lclang.h|lc.c|mc.c|lclib.h|lcgen.c): separate lctab.c 15307-04-20 comp/conf.sh: defer to systems without 'grep -q' -- sigh 15407-04-20 comp/conf.sh: probe for LL integer constant initializer suffix 15507-04-20 include/syslog.h: <namval.h> => <ast_namval.h> for win32 15607-04-20 ast_namval.h: add as copy of include/namval.h for win32 15707-04-19 comp/conf.tab: fix SVID SI entries to probe SI_* (not _SI_*) 15807-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset 15907-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER 16007-04-11 sfio/sfcvt.c: handle SFFMT_UPPER => nan/inf vs. NAN/INF 16107-04-02 comp/conf.tab,comp/conf.sh: add C/POSIX <stdint.h> symbols 16207-03-28 misc/optget.c: fix l10n --?- 16307-03-25 features/common: fix { ast_std.h ast_map.h stdint.h } logic 16407-03-21 error.h: move from error_info to (*_error_data_) 16507-03-21 misc/error.c: add errorctx() for error_info switching 16607-03-21 option.h: move from opt_info to (*_opt_data_) 16707-03-19 regex/regdecomp.c: fix REX_ONECHAR escapes and add REX_KMP 16807-03-11 tm/tmxscan.c,regex/regnexec.c: fix strict-alias transgressions 16907-02-27 comp/conf.sh: handle native getconf invalid numeric values 17007-02-21 comp/conf.sh,comp/conf.tab: handle SSIZE_MAX vs _POSIX_SSIZE_MAX 17107-02-20 sfio/sfvprintf.c: handle SF_WCWIDTH justification 17207-02-14 features/common: cover <stdint.h>, move to int_(bits)_t 17307-02-14 include/int.h: drop 17407-02-14 include/sfio.h: add SF_WCWIDTH 17507-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc. 17607-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match posix 17707-02-12 features/float: *LONGLONG* => *LLONG* to match posix 17807-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral 17907-02-12 stdio/vasprintf.c: add trailing '\0' -- doh 18007-02-04 string/fmtelapsed.c: fix naive multi month/year logic 18107-02-02 misc/optget.c: add --??posix for getopts(1)/getopt(3) 18207-01-26 string/chresc.c: use mbchar() 18307-01-26 misc/optget.c: handle "o:-:" usage for old-style long options 18407-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek 18507-01-22 include/sfio.h: mv Sfieee_t to sfio/sfhdr.h 18607-01-17 tm/tmxfmt.c: fix terminating nil logic which clobbered size-1 18707-01-11 misc/stk.c: a 2 day marathon bug fix (can we release now dr ek?) 18807-01-05 comp/spawnveg.c: posix_spawnattr_setflags(POSIX_SPAWN_SETPGROUP) 18907-01-05 misc/error.c: fix multibyte vs. printable logic 19007-01-01 comp/conf.sh: LC_ALL=C 19106-12-26 tm/tmxdate.c: handle nn*.nnnn* == sec.ns 19206-12-20 features/libpath.sh: generalize sol.* LIBPATH patterns 19306-12-18 comp/setlocale.c: include ast_standards.h and ast_wchar.h ! 19406-12-12 string/strperm.c: octal modes are absolute! 19506-12-11 comp/conf.tab: always defer ARG_MAX 19606-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh 19706-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches 19806-12-01 comp/conf.tab: add changes to cover solaris { bin xpg4 xpg6 } 19906-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...] 20006-12-01 sfio/sfcvt.c: add signbit/copysign tests 20106-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d 20206-11-20 features/common: bias _ast_int8_t "long long" before "__int64" 20306-11-20 string/strperm.c: fix X to work with all ops (not just +) 20406-11-15 astconf.c,conf.tab: add CONF_DEFER_* for variable constants 20506-11-11 port/astconf.c: validate path arg w.r.t. underlying calls 20606-11-11 comp/conf.sh: fix S CONF_STANDARD bug, add D to defer to native 20706-11-11 comp/conf.tab: add D to defer to native 20806-11-01 include/vmalloc.h: avoid VM_FLAGS sys/v*.h clash 20906-11-01 include/ast.h: add FMT_PARAM for fmtquote() 21006-10-31 disc/sfdcseekable.c: add SFSK_DISCARD for seekable window control 21106-10-31 comp/spawnveg.c,features/lib: handle posix_spawn exit status 127 21206-10-30 features/lib: fix posix_spawn() fork() prototype conflicts 21306-10-30 string/fmtscale.c: fix 1024 rounding bugs 21406-10-27 disc/sfkeyprintf.c: handle 'i' (=='d') -- oops 21506-10-26 sfio/sfvprintf.c: %#d => fmtscale(1000), %#i => fmtscale(1024) 21606-10-26 features/map.c: _map_libc cleanup 21706-10-26 features/fcntl: add to the circle of trust 21806-10-26 features/sys: add <sys/socket.h> socklen_t 21906-10-26 include/regex.h: handle include before <ast_map.h> 22006-10-25 astconf "SHELL" => "SH" to avoid _POSIX_SHELL conflict 22106-10-25 comp/conf.*: drop no-op duplicate conftab.c entries 22206-10-18 string/fmtscale.c: 1000: n[.]n[n](kMGTPE), 1024: n[.]n[n](KMGTPE)i 22306-10-11 ast_std.h: now implies <sys/stat.h> (did on most before anyway) 22406-10-11 strtoi.h: ignore sign for 0, validate scale shift 22506-10-11 strdup.c,vmstrdup.c: handle 0 arg 22606-10-11 add sfstruse()/sfstropen() error checks 22706-10-10 misc/procopen.c: envv==environ => don't modify environ 22806-10-10 misc/procclose.c: return valid exit(1) status 22906-10-06 port/astconf.c,comp/conf.sh,comp/conf.tab: play nice with getconf(1) 23006-10-01 comp/conf.tab: SHELL default checks { _CS_PATH } X { ksh ksh93 sh } 23106-10-01 comp/conf.sh: export CONF_getconf to shell actions 23206-10-01 comp/putenv.c: always enable setenv() for procopen() 23306-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID 23406-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93 23506-09-28 Makefile: avoid ast <stdio.h> vix iffe -X ast -- doh 23606-09-27 regex/regdecomp.c: add 23706-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre> 23806-09-25 reorganize to avoid native header intercepts 23906-09-15 uwin/crypt.c: _UWIN only! 24006-09-14 Makefile: tweak the ast_common.h bootstrap again (finally?) 24106-09-14 misc/optget.c: noncommercial => OPT_proprietary 24206-09-12 string/strelapsed.c: fix multi-char qualifier parse 24306-09-12 string/strtoi.h: drop [cClLqQwW] multipliers 24406-09-11 misc/optget.c: add numeric arg validity check 24506-09-07 misc/optget.c,tm/tmfix.c: fix uninitialzed var refs 24606-09-05 path/pathprobe.c: add version header verification 24706-08-01 Makefile: handle iffe vs FEATURE/common vs ast_common.h 24806-08-31 Makefile: add ast_map.h to the bootstrap list 24906-08-30 misc/glob.c: fix ~(E)re bug that stripped ~(E) before regcomp 25006-08-30 include/ast.h: add { integralof(x) pointerof(x) } 25106-08-27 string/strelapsed.c: fix off-by-one (too little) parse bug 25206-08-25 misc/optget.c: 0*<n>.* numeric option args => <n>.* 25306-08-22 misc/glob.c: handle ~(...) pattern options 25406-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug 25506-08-16 regex/regcomp.c: accept but ignore ~(N) 25606-08-14 features/libpath.sh: add solaris LD_LIBRARY_PATH_64 check 25706-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix 25806-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for .. 25906-07-28 include/glob.h: add gl_extra for user globlist_t expansion 26006-07-27 features/common: #include "ast_map.h" 26106-07-26 comp/fnmatch.[ch]: allow <ast_map.h> to map fnmatch() 26206-07-22 cdt: snarf from kpv 26306-07-17 string/strperm.c: perm==-1 skips umask(1) 26406-07-17 sfio/sfvprintf.c: handle format invalid mb seq 26506-07-17 regex/regcomp.c: inline REG_SHELL => anchored, otherwise not 26606-07-17 regex/regcomp.c: inline B|G:basic E:REG_EXTENDED F|L:REG_LITERAL 26706-07-17 regex/regcomp.c: inline l:REG_LEFT r:REG_RIGHT 26806-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT 26906-07-17 string/chresc.c: add \Uxxxxxxxx 27006-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal 27106-07-17 string/tokline.c: splice() => spliceline() for bsd 27206-06-27 features/float,sfio/sfcvt.c: fix Nan logic 27306-06-27 port/astmath.c: fix long double isnan() test 27406-06-27 features/map.c: _map_libc for std => _ast_std 27506-06-25 string/strperm.c: handle posix = w.r.t. umask 27606-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change 27706-06-18 regex/regstat.c: add REG_LITERAL check 27806-06-11 cdt/dtview.c: update from kpv 27906-05-31 sfio/sfhdr.h: fix _SFOPEN() typo 28006-05-09 comp/conf.sh: add native getconf -a names to the mix 28106-04-28 misc/optget.c: add solaris long option name compatibility 28206-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags 28306-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator 28406-02-10 port/astconf.c: relax standard prefix filter 28506-02-08 sfrd.c,sfsync.c: lock logic bug fix 28606-02-01 port/astlicense.c: add { parent incorporation } 28706-01-26 port/astconf.c: fix { LIBPREFIX LIBSUFFIX } length 28806-01-06 features/lib: change _UNIV_DEFAULT probe to use cross{...} 28906-01-04 misc/stk.c: fix n**2 realloc behavior 29006-01-01 include/sfio.h: export { _Sfi _Sfmaxr } 29105-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC 29205-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache() 29305-10-06 string/ccmap.c: update ebcdic-u to be idempotent 29405-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing 29505-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header 29605-09-12 misc/optget.c: reset opt_info.offset on error 297 string/strtoi.h: strton() '.' multiplier only if m>1 298 string/fmtesc.c: add unadvertized FMT_PARM for FMT_SHELL 29905-09-09 string/fmtesc.c: fix FMT_SHELL logic w.r.t. [$`] 30005-08-11 string/strerror.c: fix { sys_errlist sys_nerr } prototypes 30105-08-03 sfio: snarf sfvaprints sfaprints 30205-07-21 port/astconf.c: retain most recent synthesized lookup 30305-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems 30405-07-17 ccmap*: add microfocus cobol EBCDIC_U 30505-06-29 regex/regcomp.c: fix the A & B inline flag logic 30605-06-15 include/recfmt.h: add fs format flag to fmtrec() 30705-06-14 error.c: add ERROR_OPTIONS { break count match } 30805-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep 30905-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround 31005-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh 31105-05-30 sfio/sfpkrd.c: work around macos 10.4 recv(MSG_PEEK) bug 31205-05-27 regex: add REX_NEST (?%[S.][T.][OT]) 313 magic.tab: ammend bsd db magic 31405-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...) 31505-05-21 regex: state.fold[] is now locale specific -- doh 31605-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match 31705-05-15 recfmt.h: add recstr() reclen() fmtrec() 31805-05-13 optget.c: allow boolean options to take numeric values 31905-05-12 recfmt.c: add to recfmt.h, adjust Recfmt_t encodings 32005-04-30 sfio: add sfmaxr(), default 64K 32105-04-22 comp/omitted.c: fix magic() logic for files < 512 bytes 32205-04-20 cdt: snarf update from kpv; void* Dt_t.user added 323 misc/error.c: library => ERROR_LIBRARY 32405-04-19 regex/regcomp.c: handle REG_SHELL [^...] == [!...] 32505-04-11 tm/tmxscan.c: handle yyy.mm.dd[-+.]hh.mm.ss.nnnnnn 32605-04-07 regex/regnexec.c: fix out of bounds boundary check -- ouch 327 features/align.c: add jmp_buf to the alignment mix (ia64) 328 vmalloc/vmhdr.h: add jmp_buf to the alignment mix (ia64) 32905-03-31 misc/optget.c: fix option { - _ } separator matching 33005-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls 33105-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible 33205-03-23 string/ccmap.c: add ebcdic-m mvs cobol table 33305-03-11 comp/omitted.c: handle utime[s](const,const) 334 comp/conf.tab: fix linux PID_MAX probe 33505-03-10 comp/setlocale.c: LC_* value "" => unset -- doh 336 misc/optget.c: reorder _PACKAGE_astsa code for msgcc 33705-03-08 misc/optget.c: delete leading space in STYLE_nroff output 33805-03-07 sfio/sfhdr.h: drop extern _sfdscan -- clashes with sfvscanf.c static 33905-03-01 tm/tminit.c: add tmlocaltime() for tzset() getenv() override workaround 34005-02-20 features/tvlib: tmsettimeofday only for systems that have settimeofday 341 features/float: fix mvs.s390 NaN tests 34205-02-18 tm/tmxmake.c: fix <0 west of GMT bug that warped to 1800's -- wow 34305-02-11 port/mnt.c: handle lynxos MOUNTED=/etc/fstab 34405-02-08 features/float,sfio.h,sfcvt.c,sftable.c: add INF and fix NAN 34505-02-04 features/lib: add _std_strtol (for lynxos) 346 include/ast_std.h: add _std_strtol tests 347 comp/strtod.c: #define S2F_function strtod 348 misc/signal.c: fix ancient bsd SV_INTERRUPT vs. SV_ABORT clash 34905-01-11 sfio/sfmove.c: try to seek(fr) when fw==0 350 comp/omitted.c: intercept utimes() too 351 comp/omitted.c: add DOSPATHVARS env var path value conversions 352 features/tvlib,tm/tvtouch.c: check for utimets() 353 misc/optget.c: handle '-' or '_' option word separators 354 sfio/_sfopen.c: allow stream mode changes after initialization 355 sfio: sync with kpv: SF_SYNCED fix for ksh input loss bug 35605-01-09 tm/tmxfmt.c: fix %6N for n<100000000 35705-01-08 regex/regcomp.c: conj() => con() to avoid C99 clash 35805-01-05 tm/*: fix { %U %V %W } logic -- my head hurts 35904-12-30 tm/tmxtime.c: fix tm_isdst<0 loop 36004-12-23 vmalloc/vmbest.c: fix vmresize bug that didn't 0 new data 36104-12-19 misc/optget.c: broaden - long option match 36204-12-09 string/strtoi.h: fix terabyte 't' suffix math 363 string/strmatch.c: flush cache on locale change 36404-12-01 tm/tmsleep.c: add 365 tv.h,tv*.c,tv.3: move from pax 366 tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts 367 features/lib: add *another* sgi linux.ia64 memccpy bug check 36804-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101 369 ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator 370 option.h,optesc.c: add 3rd arg, 1 => quote '?' too 371 misc/magic.c: fix bug that terminated `string \0a' at \0 372 misc/magic.c: handle vcodex() via decompose() 373 misc/magic.tab: add vcodex magic 374 features/stdio: handle _LARGEFILE64_SOURCE -- oops 375 stdio/(fseek|ftell|fseeko|fsetpos|fgetpos|ftello).c: oops^2 37604-10-28 string/swapop.c: size==-4 => size=4 and extend op=3 to op=7 377 tm/tmfix.c: fix tm_mon<0 logic 37804-10-22 tm/tmdate.c: handle 'final day feb 2004' 379 port/astlicense.c: add query=all|id|${...}${...} 380 port/astlicense.c: "free" => "mit" 381 comp/omitted.c: revert to the open source license 382 string/stropt.c: drop siz==0 => tab is hash table 383 include/sfio.h: incorporate <sfstr.h> 384 include/sfstr.h: drop 385 disc/sfstrtmp.c: drop -- use sfstrbuf() 38604-10-20 misc/magic.tab: update tar magic 38704-10-18 ufc-crypt.h,crypt_util.c: drop GPL code 388 crypt.c: add BSD code 389 pathpath.c: disable { $0 $_ $PWD } related root search 39004-10-01 normalize ident stamps 391 port/astlicense.c: add type=cpl -- yeah 39204-09-25 string/swapop.c: return op < size -- duh 39304-09-23 comp/spawnveg.c: :NOOPTIMIZE: -- volatile sometimes ignored 39404-09-21 comp/spawnveg.c: exec_errno_ptr is volatile -- duh 39504-09-14 tm/tmscan.c: add %| alternation and %& => tmdate() 39604-09-08 misc/optget.c: add :!value: omitted optional arg value 397 misc/optget.c: fix --noNAME ambiguous option logic 39804-08-26 string/strperm.c: add who^mode to propagate least restrictive up 399 astmath.c: add { frexpl ldexpl } checks for ast.req 400 port/astlicense.c: ignore first option if non-assignment 401 include/ast_dir.h: move d_fileno map before struct defs -- duh 40204-08-24 vmalloc/vmbest.c: add {VM_region} VMCHECK=+r for region segment checks 403 misc/recfmt.c,include/recfmt.h: add 40404-08-23 vmalloc/vmbest.c: add {VM_primary VM_secondary} VMCHECK=-s for primary 405 features/common: punt to <stdarg.h> for unknown va_list 40604-08-11 vmalloc: sync _UWIN libposix hooks 40704-07-27 features/common,features/limits.c: ULL suffix for unsigned _ast_int8_t 40804-07-22 include/ast.h,comp/eaccess.c: add eaccess() for effective access() 40904-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values 41004-06-28 misc/error.c: check level after error_info.auxilliary 41104-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array 41204-06-17 features/common: change _DLL null define to (the standard ast) 1 41304-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix 414 misc/optget.c: reset optstr() state on 0 return 415 misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround 41604-05-31 sfio/sfreserve.c: no side buffer if user buffer is large enough 41704-05-27 string/fmtbuf.c: handle one concurrent buf > sizeof(buf) 41804-05-24 regcomp.c: fix no-advance initialization 41904-05-05 conf.tab,conf.sh: update to align with standards 420 magic.tab: ms suffix update 42104-05-04 port/lcgen.c: fix territory initialization 42204-04-15 tm/tmdate.c,include/tm.h: fix specific and ordinal days 42304-04-08 astconf: retain { HOSTTYPE LIBPATH LIBPREFIX LIBSUFFIX } strict vals 42404-04-07 vmalloc/vmbest.c: fix alpha tiny block bug 425 vmalloc/malloc.c: re-enable on alpha 42604-03-30 tm/tminit.c: GMT => UCT only if tz.daylight not defined 42704-03-25 vmalloc/malloc.c: _AST_std_malloc=1 for __alpha 428 path/pathprobe.c: per-user probe dir => $HOME/.probe/$HOSTTYPE 42904-03-23 regex/reglib.h: fix isw*() redefines 43004-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash) 431 sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x 43204-02-29 comp/omitted.c: move env trace after PATH fixup 433 comp/omitted.c: cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0) 434 misc/optget.c: fix html mailto: match 435 port/astlicense.c: add type=test for fixed 2001 date 436 features/float: check local NaNQ first 437 vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type 438 misc/magic.tab: add elf s390 index=22 43904-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort 440 sfio/sfvscanf.c: fix extf arg selection 44104-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef 442 disc/sfkeyprintf.c: only case pattern must be ()[] balanced 44304-02-14 include/sfio_t.h: add SF_DCDOWN, SFDCNEXT(), SFDCPREV() 44404-02-13 string/strmatch.c: fix bug that didn't save one-time sub[] size 445 vmalloc: -g: export VMCHECK=1 enable malloc/free checks 446 vmalloc: -g: free(0) to check and disable malloc/free checks 447 vmalloc: -g: free(1) to check and enable malloc/free checks 44804-02-11 Makefile: add :P=A: to conf and lcgen exec for cross-compile 449 regex: use MBSIZE() instead of mbsize() to grab 1 char on err 450 vmalloc/vmbest.c: updated to do more comprehensive DEBUG tests 45104-02-04 sfio/sfraise.c: add sfraise(0,a,b) to iterate over all streams 45204-02-01 vmalloc/vmbest.c: _BLD_DEBUG free(0) checks the arena 45304-01-31 features/vmalloc: fix typo that missed _mmap_zero 45404-01-23 string/strerror.c: handle real strerror() return value overwrite 45504-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo 45603-12-22 misc/magic.tab: dos EXE tweaks 45703-12-05 vmalloc: sync with kpv, adding exceptf announcements 45803-12-04 port/astlicense.c: fix expand() loop sentinel bug 45903-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error 460 misc/fts.c: increase MINNAME to 32 46103-11-21 vmalloc/vmbest.c: export VMCHECK=1 to enable $(CC.DEBUG) vmcheck() 462 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT 463 misc/magic.c: add { cobol copybook pl1 } and suffix preference 46403-11-12 features/stdio: drop cuserid,getopt for SUSV3 46503-11-11 vmalloc/*: merge kpv update -- this should stomp the compaction bug 46603-10-23 comp/iconv.c: fix sfreserve lock fallback 46703-10-20 sfio/_sfopen.c: add to allow user sfopen() intercept 46803-10-17 regnexec.c: fix exec time REG_LEFT, \x.... => wctomb() 46903-10-12 string/strtoi.h: fix strton '.' overconsumption 47003-10-12 comp/iconv.c: identity is always (iconv_t)0 47103-10-09 string/fmtesc.c: fix FMT_SHELL to check for all shell magic chars 47203-10-01 port/astlicense.c: unknown authors copied verbatim (instead of ignored) 47303-09-30 string/chresc.c: handle \u..., \x... consumes all trailing hex digits 474 string/stresc.c: \u... and \x... > UCHAR_MAX => wctomb() 47503-09-29 fnv.h: add 47603-09-23 modedata.c: table is for external modes, so no arch specific hacks 477 optget.c: fix option prefix match translation bug 478 optget.c: add `<length> <name>=<value>\n' to optstr() 479 features/lib: add memcmp() test for sgi optimzation bug 48003-09-22 regex.h,regcomp.c: add regncomp() 481 regclass.c: fix for loop dangling ; in regaddclass() 48203-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf api 48303-09-19 sfmode.c: update release to kpv's 48403-09-17 regcomp.c: add pedantic backref error checks 48503-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position 486 regclass.c: add regaddclass() for user defined [:class:] 487 regexec.h: REG_VERSION_N2X, add redisc_t {re_map} ccode map 488 regstat.c: add regstat_t 48903-09-11 optget.c: --n:=v sets opt_info.assign=':', opt_info.number enabled 49003-09-09 disc/sfkeyprintf.c: *pn on lookup is arg separator; lookup "" arg too 49103-09-05 optget.c: [f:l*?] preserves user long name past '*' in opt_info.name[] 49203-09-03 sfstr.h: add sfstrpend() for #pending bytes in read buffer 49303-08-25 regex: add REG_FIRST, optimize bm 494 features/lib: _AST_no_spawnveg==1 falls back to fork/exec 49503-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add 49603-08-21 path/pathnative.c,path/pathposix.c: interix updates 497 features/botched: add cygwin _stat => _stat64 49803-08-15 include/ast.h: map out bsd strmode() 499 features/common: add interix _ast_intmax_t workarounds 500 misc/fs3d.c: 3d mount test now uses "" instead of NiL (or cygwin dumps) 50103-08-11 string/fmtesc.c: fix optional quoting checks 502 tm/tmdate.c: fix > 1 year of seconds arithmetic 503 tm/tmfix.c: fix leap year adjustments 50403-08-01 features/lib: beef up sock_peek test for interix 50503-07-29 features/float: add -lm to frexp... test 506 Makefile: fix -lm astmath test sense 50703-07-26 features/mem.c: favor _mem_sbrk over _mem_mmap_* 50803-07-22 vmalloc/vmbest.c: fall back to sbrk() if mmap() fails 509 features/mem.c: _mem_sbrk means sbrk() and brk() work 51003-07-17 regex/regcomp.c: fix bug that treated KRE X{n,m} like {n,m}(X) 511 misc/magic.c: check MAGIC_VERBOSE for all load() messages 51203-07-14 misc/optget.c: handle [...]{[...]\f...\f...} 51303-06-21 misc/sigcrit.c: block SIGCHLD if _lib_sigprocmask || _lib_sigsetmask 514 comp/spawnveg.c,sfio/sfmode.c: use sigcritical() SIG_REG_* macros 515 comp/spawnveg.c: drop ENOEXEC logic 516 vmalloc/*: snarf kpv KPVCOMPACT() fix 517 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT (just in case) 518 string/strdup.c: drop __strdup() etc. intercepts -- malloc gets it 519 features/mem: define _mem_method and _mem_* possible values 520 vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method 521 sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get? 522 path/pathshell.c: verify abs path and access(path,X_OK) -- duh 523 vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT() 524 port/astconf.c: fix bug that always returned the minmax value 52503-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h> 526 features/vmalloc: add _lib_brk and _lib_sbrk verification 527 include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc 528 comp/conf.sh: fix SI_* and *_SI_* macro redefs 529 ast.h: VMDEBUG or _BLD_DEBUG enable <vmalloc.h> and VMFL tracing 530 vmalloc/vmtrace.c: _PACKAGE_ast __FUNCTION__ is a string 531 vmalloc/vmtrace.c: set trace file fd FD_CLOEXEC 532 vmalloc/vmbest.c: set /dev/zero mmap fd FD_CLOEXEC 533 features/mmap: fix ancient read() vs. mmap() time arithmetic typo 534 vmalloc/malloc.c: _AST_std_malloc==1 to force standard malloc 53503-06-09 comp/omitted.c: add _imp__FUNCTION sybols for __CYGWIN__ static link 536 vmalloc/vmbest.c: handle systems with sbrk() but no brk() 53703-06-04 port/astconf.c: drop non-standard diagnostics 53803-06-03 comp/conf.sh: rework symbol collision logic 53903-05-30 conf.tab,conf.sh,astconf.c: add <sys/systeminfo.h> sysinfo() SI_* 54003-05-29 ccode.h: rework for extensibility, drop obsolete mematoe(), memetoa() 54103-05-28 regex/*: recode to use isw*() directly when needed, is*() otherwise 54203-05-27 features/vmalloc: fix _std_malloc test 54303-05-25 misc/optget.c: fix optstr() ???* internal options 54403-05-24 misc/optget.c: fix (ancient) argv null dereference 54503-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino 54603-05-22 sfio/sfsprintf.c: n<0 => don't append '\0' 54703-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times 548 misc/fts.c: add FTSENT.stack to eliminate getlist() recursion 549 regex/ucs_names.h: use "..." catenation to placate some cc's 55003-05-11 string/strtoi.h: handle "-" "+" "0x" "11#" 55103-05-09 vmalloc/vmbest.c: large memory allocation tweaks 55203-05-06 misc/optget.c: fix getopt_long() prefix==1 bug that missed short flags 55303-04-27 comp/system.c: handle <ast_map.h> 55403-04-24 vmalloc/vmmopen.c: drop dup <unistd.h> 55503-04-21 tm/tmdate.c: fix next hour/min logic 55603-04-15 vmalloc/malloc.c: intercept __malloc() along with __libc_malloc() 557 string/strdup.c: intercept __strdup() along with __libc_strdup() 558 features/mmap: consolidate from features/(lib|sfio|vmalloc) 559 add _NO_MMAP==1 to disable all mmap()/munmap() calls 560 path/pathposix.c: add 56103-04-14 comp/setlocale.c: fix debug_mbtowc() return value for *s==0 || n < 1 562 comp/iconv.c: fix error return errno values 56303-04-11 misc/stk.c: fix stkgrow() realloc bug 56403-04-05 string/tok.c: support readonly single token input strings 565 disc/sfdcdio.c: fix F_DIOINFO and FDIRECT #ifdef's 566 include/ast_std.h: allow _LARGEFILE64_SOURCE on __hppa 567 features/common: fix `tst _foo_' => `tst foo_' typo 568 features/float: fix `tst _foo_' => `tst foo_' typo 569 features/float: add FLTMAX_(UINTMAX_MAX,INTMAX_MAX,INTMAX_MIN) 570 comp/omitted.c: fix pathconf => _pathconf => _ast_pathconf loop 57103-04-03 features/float: add _ast_no_um2fm: no usinged intmax => floatmax cast 572 vmalloc/vmbest.c: add getenv("VMCHECK") to initialize Vmcheck 57303-03-28 include/ast_dir.h: add D_TYPE; { D_FILENO D_TYPE } must be #ifdef'd 574 misc/fts.c|getcwd.c|glob.c,preroot/getpreroot.c: add D_FILENO #ifdef's 575 Makefile: make sure _BLD_ast is defined for all compiles 57603-03-27 ast_vfork.h: generate from features/vfork to pick up headers/pragmas 57703-03-25 comp/omitted.c: drop free() of live environ 578 path/pathshell.c: allow trailing .exe -- pox on that 579 string/strtoi.h: fix bug leading 3 digits before thousands sep bug 580 string/(fmt|str)[gu]id.c: we know root when we see it 58103-03-24 misc/optget.c: handle : and ? in := default value 58203-03-21 ast_std.h: drop all spawn*() but spawnveg() 583 obsolete/spawn.c: add for dropped spawn*() 584 features/lib: _use_spawnveg if spawnveg() is a win over fork()/exec() 585 features/lib: drop NutForkExecve() and _map_spawnve 586 features/lib: fix memccpy test to clean up /tmp droppings 587 comp/spawnveg.c: call posix_spawn() if implemented 588 comp/omitted.c: add spawnve() intercept 589 comp/getoptl.c: set getopt_long() optind even if no options 590 tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim> 591 misc/optget.c: fix trailing '*' for option and option args 592 sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2} 593 vmalloc/*: kpv sync for uwin build independent of libast 59403-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss) 595 string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss) 596 regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data 597 features/lib: add vfork test for passing SIG_IGN across exec 598 features/lib: add spawn test for passing SIG_IGN across spawn 59903-03-17 comp/omitted.c: unlink() renames to .deleted dir in case file open 600 sfio/sfpopen.c: handle mode "" for spawn with no pipe 601 features/float,comp/frexp.c,comp/frexpl.c: add pow2() table alternative 60203-03-12 features/lib: fix linux.ia64 memccpy() tests -- now its their turn 603 features/vmalloc: fix /dev/zero test 604 features/align: _ast_intmax_t and _ast_fltmax_t join the union 605 misc/stk.c: fix struct frame size to align data 606 disc/sfdcdos.c: change sfslen() => sfvalue(f) 60703-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd] 60803-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard 60903-03-05 comp/omitted.c: make sure at least /bin is in PATH to find cygwin dlls 61003-03-02 path/pathshell.c: write access to /bin is effectively root 61103-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX) 61203-02-25 features/lib: change vfork() test to use _exit() instead of exit() 61303-02-23 include/error.h: update ERROR_VERSION for error_info.number space 61403-02-22 comp/conf.sh: wrap ksh check in eval to avoid premature exit 61503-02-21 misc/fts.c: verify chdir(..) to avoid malicious dir rename() 61603-02-19 string/strtoip4.c: isspace() instead of ' '||'\t' 61703-02-17 regex/regcomp.c: fix stats.l REX_REP logic that botched REX_BM 61803-02-13 string/base64.c: handle catenated encodings 61903-02-11 features/libpath.sh: change LIBPATH to <dir>[:<env>[:<pat>]][,...] 62003-02-07 path/pathfind.c: allow "/dev/null" to be PATH_REGULAR 62103-02-06 include/ast.h,fmtquote.c: add FMT_ALWAYS|FMT_ESCAPED|FMT_SHELL|FMT_WIDE 62203-02-05 tm/tmdate.c,tm/tmword.c,string/strelapsed.c: '_' treated like ' ' 62303-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec 62403-01-31 port/astlicense.c: fix author=* match 62503-01-30 include/tm.h: add tmisleapyear() macro 62603-01-29 comp/getopt.h,comp/getoptl.c: add gnu getopt_long(), getopt_long_only() 627 include/ast_getopt.h: for non-gnu part of comp/getopt.h 628 include/ast_std.h: include <ast_getopt.h> instead of <getopt.h> 62903-01-28 ast.h,string/base64.c: add base64encode() and base64decode() 630 path/pathfind.c: verify S_ISREG() 63103-01-24 path/pathexists.c: fix abs dir bug and deal with case ignorance 63203-01-23 path/pathpath.c: honor PATH_ABSOLUTE for the easy case too 63303-01-22 path/pathprobe.c: fix search to find both the probe script and command 63403-01-17 misc/magic.tab: application/zip => appplication/(gzip|pzip|zip) 63503-01-14 misc/optget.c: change href="" to href="." 63603-01-10 include/ast_std.h: strtold() import hackery for static __CYGWIN__ 63703-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP 638 include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP 63902-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004) 64002-12-06 misc/sigdata.c: add NoF(sigdadata) -- why nmake was uninterruptable! 64102-12-03 comp/omitted.c,features/omitted: handle cygwin alarm() return botch 64202-11-27 misc/swapop.c: op=3,size=4 => op=7 643 string/strlcat.c,strlcpy.c: fix uwin decl clash 64402-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug 64502-11-22 misc/glob.c: move static struniq() to libast extern 646 string/fmtversion.c,include/ast.h: add fmtversion 64702-11-18 string/strncopy.c: add 648 misc/magic.tab: list size for magicid.h magic 64902-11-14 sfio/sfvprintf.c: add %#c for C escapes 650 include/error.h: add ERROR_NOTIFY context flag for builtin commands 65102-11-11 string/strtoi.h: add S2I_size for strnto*() size_t 2nd arg 652 sfio/sfstrtof.h: add S2I_size for strnto*() size_t 2nd arg 653 comp/putenv.c: add setenv() and unsetenv() wrappers for setenviron() 65402-10-31 path/pathfind.c: add dir of including file to the pathinclude() list 655 misc/optesc.c: add 65602-10-30 string/strtoip4.c: set next char pointer even on error 65702-10-29 comp/resolvepath.c: add (size_t version of realpath()) 658 misc/mime.c: fix mimehead() to ignore null content values 65902-10-28 misc/glob.c: add GLOB_STARSTAR for /**/ and GLOB_NOTDIR optimization 66002-10-27 string/struniq.c: add 66102-10-23 features/common: fix off-by-one loop check 66202-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions 66302-10-17 misc/mime.c: handle type/* match, fix bogus header parse 66402-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static 66502-10-02 features/common: don't define _WIN32; define _WINIX => unix on windows 666 features/tty: finally stomp the bsd _POSIX_VDISABLE redefinition 667 misc/fastfind.c: add more specific findwrite() error messages 668 comp/omitted.c: fix cygwin utime() to update st_ctime 669 comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX 670 string/fmtls.c,fmttime.c: tmform() => tmfmt() 67102-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack 672 port/mnt.c: don't set MNT_REMOTE for win32 ?:\* paths 673 sfio/sfvscanf.c: _sfdscan() is library global (not static) 67402-09-21 path/pathkey.c: add tool arg for mamake compatible hash 675 features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change 67602-09-15 comp/conf.sh: fix enum vs. macro test 677 cdt: kpv sync 67802-09-11 ast.h,features/common: move _WIN32 macro init to features/common 679 features/common: enable __EXTERN__ and __DEFINE__ for _WIN32&!_UWIN 680 features/float: add -lm to _ast_*_nan_init tests 681 vmalloc: kpv sync with vmresizef => vmgetmem 682 features/iconv: must have both <iconv.h> and iconv_open()! 683 features/vmalloc: alloca test must compile *and* link 684 sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop 68502-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes 686 features/fcntl.c: enable mmap64() prototype 687 include/ast_windows.h: windows.h wrapper with ast namespace workarounds 68802-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line 68902-09-05 features/vmalloc: add free() to _std_malloc test 690 include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too 691 tm/tmlocale.c: { C POSIX en } == unix dadgummit 69202-08-29 path/pathfind.c: initialize Dir_t.next=0 69302-08-28 uwin/rint.c: update 694 features/libpath.sh: "bin" is now the default value 69502-08-22 vmtrace.h: add for debugging 69602-08-20 misc/magic.c: convert to use <cdt.h> 697 vmalloc/vmresizef.c: add for generic discipline resizef default 698 string/strelapsed.c: allow long time component names 69902-08-19 misc/optget.c: add `.fp 5 CW' to --nroff output 700 string/(fmtfs|fmtuid|fmtgid|strgid|struid).c: convert to use <cdt.h> 701 include/dt.h,cdt/dtnew.c: add for dtopen() in specific vm region 70202-08-13 comp/omitted.c: fix bzero logic for e.g. unixware.i386 703 include/ast.h: add fmtbase->fmtbasell; swap in 2003-09-01 70402-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug 70502-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h> 70602-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions 70702-08-06 comp/iconv.c: handle win32 cpNNNN == windows-NNNN aliases 70802-08-05 cdt/*: sync with kpv src 70902-08-02 features/iconv: include sys/types.h for ast_types.h 71002-08-01 misc/magic.c: magic file "." names the default 711 misc/magic.c: handle addr type (from irix string) 712 features/lib: move malloc tests to features/vmalloc 713 features/vmalloc: snarf tests from features/lib 714 vmalloc/*: sync with kpv src 715 comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c 71602-07-30 features/lib: handle __libc_malloc() in _std_malloc test 717 vmalloc/malloc.c: add gnu pvalloc() 718 features/vmalloc: fix alloca check 71902-07-29 features/limits.c: handle netbsd guards 72002-07-27 sfio/sfpoll.c: handle rw pipes 72102-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h 72202-07-18 apply LARGEFILE64 header prototype clash patches 723 misc/optget.c: __EXTERN__ _opt_info_ instead of opt_info 72402-07-17 ast_std.h: memzero() now defaults to memset() instead of bzero() 72502-07-16 ast_std.h: add ast.env_serial 726 misc/setenviron.c: increment ast.env_serial 727 include/tm.h: tmset() now calls tminit() directly 728 tm/tminit.c: check ast.env_serial for env change 729 tm/tmfix.c: speed up for large values of tm_mday 73002-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree() 731 comp/strstr.c: fix broken interpretation and implementation 732 comp/iconv.c: intercept (but no-op) null to and from buffer pointers 73302-06-27 ast_std.h: map _sysconf => _ast_sysconf for sun 73402-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy? 73502-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!) 736 misc/fts.c: fix symlink chdir() optimzation bug 73702-06-11 sfio/sfwrite.c: string to file fix 738 Makefile: __OBSOLETE__==20020101 73902-06-01 regex/regcomp.c: REG_DELIMITED now consumes the delimiter 74002-05-31 regex/reglib.h,regcomp.c,regnexec.c: null subexpression fixes 74102-05-24 misc/fts.c: disable dir link counts in 3d 742 misc/magic.c: fix "*(mkfile)" sh pattern to "*@(mkfile)" 74302-05-20 regex.h,regex/regsubcomp.c,regex/regsubexec.c: add 744 regex/regsub.c: deprecate 74502-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour 74602-05-14 regex/regsub.c: fix (^|x) null match early termination bug 74702-05-13 dir/dirlib.h: drop errant extern==__EXPORT__ 748 features/uwin: add uwin lib tests 749 uwin/*.c: check features/uwin for stubs 750 features/float: add nan representation generation 751 sfio/sftable.h: used _ast_*_nan_init for huge values 75202-05-09 misc/fts.c: fix virtual top to force ``child'' stat() 753 features/common: define va_copy() only if not in <stdarg.h> 75402-05-01 string/strtoip4.c: cisco inverted quad mask must have 4 parts 75502-04-30 misc/magic.tab: fix pzip version check 75602-04-19 string/strtoip4.c: handle cisco inverted quad mask n.n.n.n/i.i.i.i 75702-04-18 misc/fts.c: add chdir() verification stat() optimizations 758 path/pathkey.c: check PROBE_ATTRIBUTES for list of vars 75902-04-12 port/astlicense.c: type=open tweak, fix author list spacing 76002-04-11 regex/regcomp.c: check for pattern number overflow 76102-04-05 tm/tmfmt.c: add %u 76202-04-04 sfkeyprintf.c: fix %c numeric value 763 path/pathpath.c: check plain path first -- duh 76402-04-03 misc/fts.c: fix (FTS_PHYSICAL|FTS_NOSTAT) stat optimizations 765 ftwalk.c: only clear FTW_DELAY if FTW_CHILDREN 766 ftwalk.h: add FTW_NSOK for FTW_DELAY 76702-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h> 768 features/stdio: check for _SFIO_H redundant _Sfstd* declarations 76902-03-26 misc/glob.c: fix GLOB_LIST gl_flags values 77002-03-24 port/mnt.c: update bsd fstype name and mount option logic 77102-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake) 77202-03-17 features/stdio: hack around g++ 3.* clashes 773 Makefile: add ast_nl_types.h to the .check.hdr list (for mamake) 774 string/strtoip4.c: fix validity check bug that only checked last part 77502-03-14 misc/optget.c: fix --keys to not expand inline \f...\f 77602-03-12 port/astlicense.c: add type=free 777 path/pathaccess.c: sibling ".." search ignores relative dirs 778 sfio/sfvscanf.c: sfstrtof get() must return 0 on eof 77902-03-11 path/pathexists.c: check path by pairs checking {ENOTDIR,ENOENT} 78002-02-14 features/float: copy local min/max macros to avoid printf roundoff 781 features/wchar: include <ast_common.h>, not <ast_std.h> 782 misc/magic.c: match[]=>matches[] to fix K&R match() macro conflict 783 include/vmalloc.h: include <stdlib.h> for !_PACKAGE_ast 784 uwin/mini.sym: add sprintf (now required by features/common) 785 regex/regnexec.c: truncate wide chars for <ctype.h> functions 786 Makefile: fix MAM ast_common.h sequencing bug by making it first 787 cdt/dthash.c: fix DT_DELETE memory leak (DT_DETACH typo) 788 cdt/dthash.c: fix DT_DELETE double free (dt->data->here typo) 789 regex/regcomp.c: fix recomb() to reject RE with backref 790 features/iffeio: explicitly generate stdio.lcl 791 stdio: add {fcloseall,f(get|put)s_unlocked,fmemopen,getdelim,getline} 792 tmmake,tmtime: allow negative time_t if native localtime/gmtime do 793 tmdate: allow years before 1969 794 fmtfmt: add 795 include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM } 796 Makefile: add std/*.h for std header iffe overrides 797 comp/iconv.c: fix non-C win32 sfreserve() loop 79802-02-11 features/common: separate long long / long double tests 799 features/common: verify printf handles long long / long double 80002-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now 801 include/ast_std.h: trust _UWIN <unistd.h> 80202-01-31 port/mnt.c: add aix options field 80302-01-30 comp/strstr.c: add for ancient s5 804 stdio/_flsbuf.c: only on systems that transfer to native (e.g., uwin) 805 string/strtoi.h: cat min/max error return values 80602-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h> 807 comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR 80802-01-24 sigcrit.c: fix SIGCLD!=SIGCHLD interrupt loop 809 sfvprintf.c: convert fast io macros to functions for uts.390 cc 810 string/strtoi.h: drop #pragma prototyped for standalone sfio 811 sfdcsubstr.c: rename from sfdcsubstream.c for 14 char fs 81202-01-22 execlp,execvp,execvpe,spawnlp,spawnvp,spawnvpe: fix __EXPORT__ 813 spawnlp,spawnve,spawnvp,spawnvpe: handle ms mode arg -- barf 814 sftable.c: ifdef hacks for _WIN32&_ALPHA_ fp exception 815 _stdfun.c: add _UWIN&_ALPHA_ iob map 81602-01-18 sfio/sfstrtof.h: drop #pragma prototyped for standalone sfio 81702-01-17 features/hdr: don't include <stddef.h> after it doesn't check out! 81802-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d 819 misc/magic.c: recode mime %s parse -- sensible and no buffer overflow 82002-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header 82102-01-12 tm/tmlocale.c: override win32 default date for {C,POSIX,en} locales 822 comp/omitted.c: fix cygwin workaround logic bugs 82302-01-09 stdio/fseeko.c,ftello.c: add from UNIX98 82402-01-08 comp/conf.sh: use $cc instead of cc 82502-01-07 string/strlcat.c,string/strlcpy.c: add bsd api 82601-12-18 comp/conf.tab: fix LFS_CFLAGS default for sun _CS_LFS_CFLAGS botch 827 features/common: add hdr stdarg test 828 tm/tmdate.c: handle YYYY/MM/DD 82901-12-10 misc/magic.tab: add generic 0x00010203 binary magic 83001-12-03 path/pathprobe.c: return HOME relative path if readonly/non-suid fs 83101-11-30 misc/optget.c: add simple cache for repeat offenders (like ksh read) 832 sfio/sfhdr.h: preserve errno across SFMMSEQON-SFMMSEQOFF 83301-11-29 magic.tab: fix GIF version number listing 83401-11-28 string/fmtbase.c: p!=0 => base always included in output 83501-11-26 misc/fts.c: empty path is an error 83601-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs 83701-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug 83801-11-19 features/lib: retain _lib_confstr for all solaris releases 83901-11-16 comp/setlocale.c: fix !_lib_setlocale typo 84001-10-31 regex/ucs_names.h: add string catenation to keep line length low 841 misc/fastfind.c: handle gnu slocate db read 842 misc/optget.c: add --?+SECTION queries 843 comp/fnmatch.h: add FNM_NOSYS 84401-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified 84501-10-20 misc/glob.c: fix bug that called \ trim() twice on same path 846 misc/glob.c: fix \ trim() bug that restored / to wrong position 847 string/fmtre.c: fix { ^ . $ } translations 848 misc/optget.c: use original string if translation fails -- duh 849 sfio/sfhdr.h: assume <errno.h> assigns proper atttibutes to errno 850 comp/regcmp.c: __ia64 workaround fixed by proper CC.DLL probe 851 comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe 852 features/lib: add lib getdate 85301-10-18 features/lib: check for strtod static link collision 854 features/float: add another signed cast for old bsd cc 855 features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd 85601-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG } 857 sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1. 858 sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args 859 sfio/sfvscanf.c: handle %C %lc %S %ls for wchar_t args 860 string/fmtmode.c: fix bug that omitted trailing '\0' 86101-10-12 misc/optget.c: . => \&. for --??nroff 862 comp/wc.c: fix mbstate_t initialization typo 863 features/float: fix max integer / float loop termiation 864 features/float: fix LDBL_UINTMAX_MAX typo that did DBL_UINTMAX_MAX 86501-10-11 include/sfio.h: fix _Sfstd* import/export 866 features/common: fix _UWIN __DYNAMIC__() definition 86701-10-06 features/fcntl.c: { O_BINARY O_TEXT } default to 0 868 features/omitted: add for comp/omitted.c 869 sfio/sfopen.c: O_BINARY default for _WIN32&&!_UWIN 87001-10-05 misc/glob.c: fix `\(x/*' GLOB_NOMATCH bug that returned `(x' 871 misc/optget.c: fix localization lookup that didn't drop doubled : ? ] 87201-10-04 comp/setlocale.c: handle sizeof(wchar_t)!=4 in debug locale 873 comp/conf.sh: handle sytems where _SC_* is both an enum and a macro 87401-09-25 astconf: add LIBPREFIX 87501-09-20 features/common: add __DYNAMIC__() for dll externs 87601-09-19 cdt: kpv update 877 mb*() macros: update for ksh conversion, extend debug locale 87801-09-16 tm/tmlocale.c: add compiled in defaults for C locale 879 misc/glob.c: add gl_nextdir callback for GLOB_COMPLETE 88001-08-14 clarify _WIN32 vs. _UWIN vs. __CYGWIN__ 881 tminit: fix standard & daylight initialization 88201-09-11 pathnative.c: add for native fs representation 883 regex.h: fix regerror_t prototype 88401-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements 885 tm/tmlocale.c: fix old ascii LC_TIME load 886 locale*: add new LC_* categories 887 comp/omitted.c: add CYGWIN workarounds 888 features/lib: add CYGWIN workarounds 88901-08-11 features/common: some compilers have long long but no LL constants! 890 features/lib: add mmap64 implementation test (for linux.s390) 891 regex/regcomp.c: fix \ in [...] parse 892 setlocale: retain user locale spelling in setlocale() return value 893 features/limits.c: don't include ./limits.h -- duh 894 fmtesc: don't escape multibyte chars 895 tm/tmlocale.c: fix native C locale default 89601-08-08 features/float: some compilers (msdev) forget long long vs. double 89701-07-31 misc/optget.c: handle suboptions 89801-07-27 cdt.h: add DTDISC() 89901-07-17 iffeio.h: move to include for stdio bootstrap iffe workarounds 90001-06-25 regex: perl extensions added and tested 90101-06-21 misc/error: add ERROR_OPTIONS=prefix=string for message processing 90201-06-15 string/chresc: only 2 hex digits max for \xxx 903 regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs 90401-06-11 regex: handle embedded \0 in pattern and subject string 905 regex: add (?nnn) for backrefs > 9 906 comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility 907 features/float: _ast_flt_unsigned_max_t for bsd.i386 omission 90801-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading - 909 regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline> 910 regex/regcomp.c: REG_LENIENT \000 => NUL 91101-06-04 features/dirent: replace Makefile hack with iffe semi-hack 912 regex/regnexec.c: negation must also check REG_SHELL_DOT 91301-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX 91401-05-31 glob: fix gl_fignore to ignore leading . by default 915 features/lib: add botch_d_ino_dirent64 for linux botch 91601-05-25 port/lc.tab: add a few missing language_territory's 91701-05-23 string/chresc: \C[.collation-element.] 918 fmtmatch,fmtre: update for <regex.h> syntax extensions 91901-05-21 regex: add perl extensions, unicode names for collation elements 92001-05-11 string/chresc: \e == \E == escape, \cX == control X, \x{..} == \x.. 92101-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR 922 port/touch.c: handle utime(2) EPERM to fix bug that truncated 923 regex: change REG_MINIMAL to avoid negation -- much faster now 92401-05-08 *.h: add some off_t macro guards for suse linux 92501-05-03 regcomp.c: optimize ((x)!)* to ((x)!) 926 wchar: add <wchar.h> and stdio wchar routines 92701-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions 92801-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants 92901-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s 930 tm/tmlocale.c: check for UTF-8 encoded LC_TIME files 931 misc/magic.tab: add utf-8 and utf-16 U+FEFF magic 93201-04-26 features/common: some cc's have _ast_int8_t but not LL constants 93301-04-24 features/lib: add _std_strtod for mac os X 93401-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke 93501-04-20 iconv: handle ebcdic<=>utf 936 mc.h,mc.c: add mcindex() 937 ast_std.h: add AST_MESSAGE_SET 93801-04-18 features/libpath.sh: fix mvs probe 939 *: sundry mvs fixes 940 glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns 94101-04-01 strtod,strtold: add 942 strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE 943 sfvprintf,sfvscanf: handle locale decimal_point,thousands_sep 944 sfvprintf,sfvscanf: handle %a,%A 945 setlocale: add LC_NUMERIC decimal_point,thousands_sep init 946 ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines 947 pathexists: path cache to cut down pathpath() access(2) calls 948 features/stdio: __FILE_TAG == _sfio_s for solaris 94901-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block 95001-03-19 glob: add GLOB_AUGMENTED 951 regex: REG_SHELL syntax error implies REG_LITERAL match 952 strto[ln][ll]: add overflow checks 95301-03-17 locale: reimplemented to provide canonical locale namespace 954 locale: add LC_ALL=local for local system user default 955 tm.h: TM_*_3 => TM_*_ABBREV 956 tmfmt: handle standard E and O format modifiers 957 tmlocale: consult nl_langinfo() if defined 958 fmtquote("\"",1) => shell quote 95901-03-08 regex: handle multibyte chars and collation classes 960 strmatch,strgrpmatch: now a wrapper on regex 961 ast_std.h: add mb*() multibyte and collation support 962 sfvscanf: handle locale decimal and thousand 963 proc*,system: handle ignored SIGCHLD 964 sfkeyprintf: handle %*C 96501-03-06 locale: add locale data cache for efficient multiple locale switching 966 optget: fix LC_MESSAGES!=C --man bug 96701-03-01 Makefile: HEADEROPT is not optional for win32.* 968 comp/syslog.h: comply with the de factos 969 optget(): fix \f...\f stack bug that referenced data after pop 97001-02-27 *locale*: a batch of fixes for native LC_MESSAGE&LC_TIME hooks 97101-02-22 pathprobe: reprobe test now checks probe.ini too 972 sfio_s.h: advertize public Sfio_t members with _ prefix 973 sfio.h,features/stdio: add <sfio_s.h> reference 974 sfhdr.h: map <sfio_s.h> _foo to foo 975 sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING 97601-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols 977 stdio/*: update for uwin stdio.dll binary compatibility 978 sfread: finally fixed premature pipe read EOF bug 979 fmtscale: format tenths for number > 0 && number < 10 98001-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports 98101-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro 982 setlocale: undef valid for sun4 k&r valid() macro 98301-02-07 catopen.c: don't do native catopen for the debug locale 98401-02-06 sfraise.c: add SF_FINAL check to avoid (posibly) freed disciplines 98501-01-01 features/common: fix uwin __DEFINE__ 986 sftable: initialize decimal and thousand 987 magic.tab: add corel wordperfect document 988 syslog: add LOG_LEVEL, add '\n' only if needed 989 include/tm.h: #undef daylight for _WIN32 990 sfio.h: add _SF_APPEND and _SF_CLOSE for native namespace incursion 991 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1 992 setlocale: set AST_LC_multibyte 993 strmatch: check AST_LC_multibyte 994 features/limits.c: add _BITS_POSIX1_LIM_H guard for linux 995 features/libpath.sh: fix for aix LIBPATH 996 procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3)) 997 optget.c: add enumerated option argument values 998 optget.c: add <!--INTERNAL--> for private --html 999 optget.c: fix memory leak that hit shell builtins hard 1000 sfio: drop sfread small chunk logic 100100-12-25 mnt.c: handle " and ' quoting for fstab 1002 sftmp.c: let pathtemp() open the fd O_EXCL 100300-12-15 conf.sh: add -v for verbose trace 1004 features/(limits|unistd).c: no FEATURE/types because of _POSIX_SOURCE 1005 features/time: add default for CLOCKS_PER_SEC 1006 features/lib: std_malloc now handles NeXT 100700-12-13 strton: recognize qualifier only if preceded by a digit 1008 features/lib: change return in vfork() test to exit() for linux sparc 1009 fmtquote: fix $'...' quote logic 101000-12-11 tmdate: fix cron format bug that mishandled months 101100-12-01 optget: handle $Id: ... $ in --?-version 1012 features/fcntl.c: fix _STDPP_ mmap munmap 101300-11-27 magic: drop dup sfclose() in load() 1014 optget: handle error_info.id==0 101500-11-22 features/stdio: add _FILEDEFED for sol9.sun4 1016 strton,stronll: handle [u|U][l|L][ll|LL] qualifiers 101700-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy 1018 astlicense.c: #include <hashkey.h> MAM workaround 1019 astlicense.c: check for non-empty CONTRIBUTORS 102000-10-26 features/stdio: add _FILE and __FILE for gnu 1021 misc/stk.c: fix stack pointer check off-by-one (dgk does it too!) 102200-10-23 syslog.h: sync with bsd values 102300-10-18 _STUB_* now functions instead of common symbols 1024 all extern data declared with definition to eliminate common symbols 1025 fastfind: add mac/bsd /var/db/locate.database 102600-10-17 features/lib: add apple osX (darwin.ppc) workarounds 102700-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4() 1028 fmt*() now use fmtbuf() for tmp fmt buf allocation 102900-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc 103000-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility 103100-09-21 astlicense: handle \' and \" in license values 103200-09-20 sfwrite: fix write() error in sfprintf() loop 103300-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes 1034 astlicense: add noncommercial 103500-07-31 fflush: don't seek on pipes 1036 sfresize: add 1037 setlocale: fix bad newof() call 103800-06-01 strmatch: initialize match.current.beg[0] to avoid dump at line 670 1039 sfio/stdio: a few more errno tweaks 1040 astquery: sfstdin/sfstderr by default 104100-05-26 sfmode: errno=EBADF for invalid stream use 104200-05-22 rewind: fix for xopen test 104300-05-18 mcfind: returns absolute path 104400-05-16 optget: --keys must catch \f...\f too 1045 translate,mc: errno cleanup 104600-05-09 magic: add netbsd binary magic 1047 fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR 1048 ftwflags: call fts_flags() 1049 astconf: astconf(0,0,0) re-syncs with _AST_FEATURES 105000-05-08 optget: --usage & --keys for last -catalog group only 105100-05-02 iconv.c: add; use codes[] in ccmapid() and ccmapname(); "" for native 105200-05-01 pathtmp: copy env values (libshell or putenv may change) 105300-04-01 optget: drop bar from [-foo?bar] for --??keys 1054 sfvscanf: add %X -- duh 1055 features/common: fix va_listval() for power pc 1056 findopen: fix FIND_GENERATE codes file search 1057 magic: add ERROR_translate() and msgcat.key 1058 tmlocale: add for LC_TIME locale info 1059 tmlex: check tm_info.format and tm_data.format 1060 tmfix: fix for tm_wday special case (via nl_langinfo on LC_TIME fields) 1061 strftime: fix for nl_langinfo special case 1062 ast_std.h: provide LC_* defauls if not defined 1063 sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv 1064 catopen,nl_types.h: add intercept to mc* routines 1065 magic.tab: add ast message catalog 1066 strerror: add _ast_strerror intercept with ERROR_translate("errno") 1067 fmtquote: escapes >0177 only if (flags&2) 106800-03-17 feof: stdio macro functions only for _UWIN 1069 optget: proper ERROR_translate() calls 1070 astgetconf: add for thread safe error message control 1071 astlicense: fix type=special but with non-null notice 1072 errorx: add for ERROR_translate() support 1073 ERROR_translate: add locale id args for alternate dictionary 1074 option.h: move _OPT_PRIVATE_ to pointer to avoid dll size mismatch 1075 ftwalk: fix FTW_CHILDREN bug that hit top level non-dirs twice 1076 translate.c: default error_info.translate 1077 astconf: fix dup loop thrash that never returns, add _AST_VERSION 107800-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers 1079 fmtquote: handle $'...' quotes 108000-03-07 optget: fix numeric option support test 1081 sfkeyprintf: add %q for '...' quoting with ansi escapes 108200-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net) 108300-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts 1084 optget: "..." attribute quote 1085 pathfind: eliminate *: prefix in lib, not type 1086 proc: PROC_FOREGROUND for system(3) semantics (wait status return) 1087 pathtmp: fix mktemp() logic 1088 fts: fix FTS_NOSEEDOTDIR bug that botched ./* in top list 1089 include/ast/prototyped.h includes include/prototyped.h 1090 pathpath: fix strdup(0) bug 1091 optget: --html <foo@bar> => ...mailto:foo@bar... 1092 sscanf: fix sfsscanf => sfvsscanf typo 1093 magic.tab: strengthen tar recognition 109400-02-08 conf.sh: fix ifdef for systems that think sysconf(FOO) is const 109500-02-04 glob: fix globlist_t.gl_flags 109600-02-02 vm*: add NoF() for data only files 109700-01-27 fts: fix top level .==.. statp bug (thanks to dr. ek) 109800-01-25 conf.tab: fix LFS*_*LAGS typo 109900-01-24 astlicense: handle type=verbose, license.notice, author=* 110000-01-11 pathprobe: generate info for first probe script on PATH - duh 1101 ast.h: add NoF(x) for files that define no functions 1102 tmpfile: fix implementation 1103 global change for string ERROR_translate() dictionary names 1104 optget: fix new way but no long names off by one 1105 optget: handle [--dictionary?name] 110699-11-19 comp/conf.sh: `expr length XXX` is not universal 1107 drop sfstdio; stdio via functions everywhere 1108 drop Makefile conditionals (and follow our own advice for once) 1109 sfio: new stream after atexit() bug fix 1110 tm: Tm_zone_t.daylight=0 for standard time within zone 1111 stdio: fopen => _ast_fopen: only way short of binary compatibility 1112 Makefile: atmain.C falls back to atmain.c 1113 optget: add --keys, s<section> option 1114 stdio: _UWIN check for foreign stdio 111599-11-11 astlicense: add 111699-10-31 glob: fix regexec pattern; add PATH_ATTRIBUTES case check 1117 pathpath: path==0 means malloc space 111899-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century 111999-10-18 fastfind: expanded default db lookup 112099-08-11 magic: fix off by one registry malloc 1121 features/fs: add __RENAME checks for stat familiy (netbsd) 1122 features/fs: major()/minor() fixes for s5 1123 features/libpath.sh: netbsd fix -- ld.so not in std places 1124 misc/fastfind: fix codes path generation bug 1125 optget: beef up --?* description, fix <TR>...</TR> nesting 1126 pathprobe: check for override (writable key file) first 1127 features/time: int tmtimeofday(struct timeval*); 1128 optget: fix opt_info.num, even if opt_info.arg!=0 1129 fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP 1130 fastfind: init dir tab with logical and physical name 1131 glob: add gnu GLOB_ALTDIRFUNC 113299-07-17 sfio: kpv update and sfhdr.h sync! 113399-06-24 stdio: fix fflush() to ignore sfseek(0) return value 113499-06-23 magic: '\r' is text not control to placate m$ 113599-06-08 stdio: fix fseek,ftell semantics 1136 uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash 1137 getopt: call liberror() to avoid error() conflict 1138 tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset 1139 tmfmt: - no pad _ space pad 0 leading 0 pad 114099-05-28 magic: fix 'x' == '*' for any number, magic.tab tweaks 1141 features/lib: verify that stat64 really works 114299-05-21 tm*: add TM_WINDOW==69 for consistent century windowing guard year 114399-05-18 tmtime: add century leap year calc anticipating unsigned time_t 114499-05-17 sfkeyprintf: handle %o and %x!! 114599-05-09 pathprobe: $HOME/.probe if not suid and st_uid!=geteuid() 114699-04-28 magic,magic.tab: add registry() 114799-04-24 regcomp: fix ksh pattern +! parse 1148 regfatalpat: add 1149 optget: make : ? ] double escape consistent in all contexts 115099-04-01 features: drop iffeio.h and stdio.h when only printf() used 1151 regex: fix stats() .l and .k count 1152 fmtquote: added; most general fmtesc() form 115399-03-22 fmtesc.c,ast.h: add fmtnesq() 1154 optget: --?x works for -x option flag 115599-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug 1156 workaround limits.h circular prereq with ignore stdio.h 1157 sfvprintf: %04e left-pad zero fixed 115899-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./ 1159 regex: REG_MULTIPLE, BM for fixed string alternation 1160 optget: embedded `-' optional in long options, prefix={0,1,2} 116199-02-14 fastfind: fix dir format bug that emitted wrong paths 1162 astconf: fix redef off by one bug 116399-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL) 116499-01-23 optget: move <old_opt.h> back into <option.h>, no open-close 1165 optget: add "[index:long-name:description]" for --long-name 1166 comp/gross: add weak __libc_attr for irix < 6.5 compatibility 1167 features/limits.c: tweak the guards again 116899-01-11 fastfind: handle old format count byte order 1169 magic.tab: fix elf to use real phdr offset 1170 magic.c,magic.tab: fix | to act like switch/case 1171 comp/fross.c,features/hack: for gross hacks 1172 features/stdio: avoid sfio namespace pollution 117398-12-25 tmdate: yyyy.mm.dd 1174 pathprobe: fix procrun() cmd path bug 1175 fmtesq: add 1176 features/common: win32.alpha va_list 1177 magic: add pc alpha object 117898-11-11 strmatch: add STR_ICASE 1179 pathprobe: punt to $HOME/.probe/<key+HOSTTYPE> if not S_ISUID 1180 tmzone,tmdate: handle +-minutes, nn/MMM/yyyy 1181 stropt: fix nested quote pop 1182 tmfmt: add %K => %Y-%m-%d/%H:%M:%S 1183 sfio/stdio: fix fseek() SF_PUBLIC omissions 1184 fmtesc: catch '\\' (duh) 1185 vmalloc: vmbest round bug fix 118698-11-01 fts.c: no pathcanon() if (fts_flags & FTS_PHYSICAL) 118798-10-01 features/stdio prototype fixes 1188 optget: strton() instead of strtol() for # 118998-09-22 regcomp: add REG_DELIMITED and REG_ESCAPE delimited re support 119098-09-15 fix _LARGEFILE64_SOURCE stuff 1191 ast_std.h: provide mmap() prototype 119298-08-11 fix sfpopen() to ignore SIGPIPE by ignoresig() for sfio but not stdio 1193 fix procopen() to ignore SIGPIPE by ignoresig() for PROC_IGNORE 1194 sfio sfpopen/popen update 1195 magic.src: fix ustar entry 119698-07-17 fix ftwalk() short by one malloc() 1197 add fts_notify() 119898-06-25 sfdcmore,sfdcprefix: add 119998-06-19 tokscan: add %f %g 120098-06-01 disc/sf*.c: memset(0) after disc malloc() 120198-05-11 strelapsed: y==Y 1202 fts: pathcanon() top list 120398-04-01 error: error_info.time for all msgs, just after cmd id 1204 error: no sfsync(sfstdin) 1205 sfio: sfpool, Sffmt_t update 1206 magic.tab: sgi core dumps -- why aren't these elf? 1207 stropt: (v+n) for unknown option is option value if n!=0 1208 procopen: fix setsid() for spawnveg() only 120998-03-19 malloc: add realloc foreign region check 1210 sfdisc.h: rename to match kpv disciplines 1211 fastfind: fix strcasecmp/strcmp directory prefix mixup 121298-03-17 features/fcntl.c,pathtmp,sftmp: add O_TEMPORARY 121398-03-01 pathcanon: fix PATH_LEADING_SLASHES to stat() both slashes 1214 pathcanon: add PATH_VERIFIED 1215 tmdate: add skip[] to expand separator char set 1216 fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db 1217 fastfind: default generates gnu LOCATE02 8 bit db 1218 magic: handle %s in mime description 1219 cdt: kpv update 1220 sfio: kpv update 1221 stdio: fpos64_t fseek64(), ftell64(), fgetpos64(), fsetpos64() 1222 stdio: fseek() => sfseek(SF_PUBLIC) to avoid locking 1223 fts: initialize parent stat[bp] from top level *after* statf done 1224 astmath: add -lm requirement test 1225 *: Astlong_t => _ast_*_t 1226 regex: simplify regcollate() (from doug) 1227 tmtime: preserve Tm_t*tm when calling tminit() 1228 astconf: add readonly PATH_ATTRIBUTES=[cirw] 122998-02-14 fastfind: add FIND_ICASE to ignore case 1230 tmdate,tmgoff: handle (+|-)hh[[:]mm[[:]ss]] absolute timezone 1231 tmdate: `<n> <part>' now assumes `next <n> <part>' instead of `this' 1232 tmfix: fix leap year bug that forgot to add 1900 1233 proc: add PROC_ZOMBIE 123498-02-06 strmatch() char class range bug fix 1235 regex char class range bug fix 123698-01-23 _WIN32: changed the #if logic again to accomodate _GNUC_ 1237 mnt: grab the mount options too 1238 ast_std.h: hide getopt,getsubopt from stdlib.h 1239 features/limits.c: add gnu guard macros to avoid limits.h recursion 1240 features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl" 124198-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h 1242 sfhdr.h: #undef SETLOCAL for hpux 1243 sfvprintf,sfvscanf: %I*x for sizeof(int_arg) 1244 handle ftruncate64 and truncate64 1245 dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here 124697-12-18 fmtnum: add 124797-12-11 magic: handle sgi 64 bit core dumps 124897-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling 124997-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t) 1250 features/stdio: fix fflush() macro to do physical sync 125197-10-31 astconf PATH_RESOLVE is logical if 3d&&!std, metaphysical otherwise 1252 magic: fix #! mime bug 1253 tm: tmtime() now calls tmfix() and adjusts tm_isdst too=>mtime() works 125497-10-11 dllfind,dlfcn: move to separate -ldll so -last can link static, duh 1255 Makefile,state.c: move forced header generation state.c => Makefile 1256 sfio: update including SF_WHOLE 125797-10-01 sfdostext: add \r\n => \n sfio discipline 1258 stropt: NiL table => p=name for all name=value 125997-08-11 pathtmp: check pid to note forks 1260 procopen: FD_CLOEXEC rfd && wfd 1261 fts: fts_close() after fts_children() with no fts_read() now works 126297-07-17 error: sfsync(sfstdin,sfstdout,sfstderr) instead of sfsync(NiL) 1263 _sfcvinit: add sfio internal interface to base conversion tables 1264 strton: use _Sfcv* base conversion tables instead of sfsscanf() 1265 sfvscanf: use _Sfcv* base conversion tables 1266 mime: x- permutations now matched if exact fails 1267 mime: original- stripped from content-* headers 1268 tmdate: add yyyy-jjj, yyyy-mm-dd 1269 dllfind: add 1270 ccmapid: fix buf copy loop limit 1271 ccmapname,ccmapcpy: add 1272 sfstrtmp: add 127397-05-09 streval: fix up casts for pseudo-ansi cc 1274 features/types: use _ast_int_8 vars to verify support 1275 string/modedata: check for mvs.390 S_IFMT 1276 include/ast(_std).h: add #define __FILE_typedef 1277 magic: add ccode text check 1278 include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh) 1279 fts: clear status for FTS_AGAIN (fixes rm -r bug) 1280 mnt: add mvs openedition w_getmntent() 1281 sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE 1282 vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk() 1283 remove: check _std_remove 1284 procopen: handle pio[{0,1}]=={0,1} 1285 setenviron,features/uinstd: test for mvs.390 dll environ hacks 128696-12-25 <sfio_p.h> -> <ast_common.h> 1287 __EXTERN__(type,object) 1288 __DEFINE__(type,object,value) 1289 magic: check strings in !CC_NATIVE code set too 1290 system: cmd==0 means check for shell access (xopen) 1291 sfhdr.h: fix sfrsrv prototype 1292 add __libc_malloc etc for gnu/linux 1293 astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror 1294 fts_open: if toplist() stat fails return 0 1295 ftwalk: handle fts_open()==0 via one phony userf() call 1296 sfmode: S_ISFIFO default is SF_SHARE=0 1297 features/lib: _WIN32 _lib_vfork=1 by default 1298 unsigned<0 comparison and other fixes via sgi.mips4 cc 1299 stk.c: use <align.h> ALIGN_BOUND for stkalloc() 1300 features/lib,vfork: uwin fix 1301 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8 1302 getsubopt: add for xopen 4.2 compatibility 1303 drop function __IMPORT__ 1304 magic: more magic 1305 change #define FILE from Sfio_t to struct _sfio_s 1306 state.c: add generated includes that may be hit by std for MAM 1307 bytesex: forgot about sizeof(long)=>7; could we fix the name too? 1308 vmalloc.h: fix vmnewof() definition 1309 sfio.h,stdio.h,ast_common.h: pollution cleanup 1310 magic.c: add | op for switch 1311 Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that 1312 drop pp:notice to get <sfio.h> ... <ast.h> to work 1313 regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat 1314 mime.c: ignore X-* headers while scanning for Content-* 1315 magic.c: check for negative indirect offsets 1316 magic.tab: fix dos entry that generated negative indirect offsets 1317 vmalloc.h: add vmstrdup() prototype 1318 hash.h: add hashgetbucket() macro 1319 magic.c: MAGIFILE is now a : file list 1320 mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h> 1321 common: fix _WIN32 chicken&egg with va_copy 1322 sfio: forgot to set f->val along with _Sfi in sfexcept() 1323 Makefile: add mini target for uwin libmini.a 1324 sfcvt.c: workaround for flaky long double optimizers 1325 features/common: fix to work with va_list==void* 1326 regexec.c: fix REG_STARTEND subexpression offsets 1327 strmatch.c: don't forget <wctype.h> 1328 regrexec.c: fix REG_INVERT end boundary bug that missed last record 1329 astconf.c: notify(0,0,"a=b") called for each setenviron("a=b") 1330 pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //* 133196-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen 1332 regerror: fix for xopen 1333 getopt: fix for xopen 1334 magic: add ciao virtual database 1335 astconf: posix/strict/xopen implies "standard" conformance 1336 fs3d.h: hide mount prototype 1337 ast_std.h,mnt.c,features/fs: ncr port tweaks 133896-10-31 version 5.0 1339 add strtoll() strtoull() 1340 sfkeyprintf: upgrade to int_max args 1341 ast.h: add ssizeof() to work around unsigned botch 1342 conf.sh: add shell actions to conf.tab 1343 _DLL*: drop for _BLD_<lib> + __EXPORT__ + __IMPORT__ 1344 sfio,cdt,vmalloc: kpv update 134596-10-11 <ccode.h>: add character code map support 1346 procclose: return shell style exit status 1347 features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs 1348 uwin: add subdir for uwin additions 1349 ast_std.h: swab() is from <stdlib.h> 1350 sfio.h: <ast_std.h> if _PACKAGE_ast 1351 magic.tab: add mips[1-4], 64-bit 1352 port tweaks for sol.sun4 and sun4 135396-09-06 strerror: add 1354 fmterror: uses strerror 1355 str*search: use sfiso646() order 1356 strpsearch: add 1357 magic: add Magic_t.mime mime type return for magictype() 1358 mime.h: add 1359 strton: use sfsscanf() 1360 strperm: factor in umask() if no who 1361 pathtmp: add TMPPATH check 1362 libevent: add 1363 magic: add discipline to magicopen() 1364 mime: add discipline to mimeopen() 136596-08-31 regex: fix BM fail table generator 136696-08-11 mntread: fix mnt.type for SCO variant 1367 conf.tab: add SCO KERNEL_* sysconf() vars 1368 fastfind: add findwrite(), fix findread() FF_OFF omission 1369 ftwalk: reimplement on top of fts 1370 fnmatch,re_comp,regexp: reimplement on top of regex 1371 basename,dirname,fmtmsg,fts,ftw,getdate,getsubopt,glob: add 1372 hsearch,nftw,realpath,strftime,strptime,swab,tempnam: add 1373 tsearch,wordexp: add 1374 getcwd: cache last path for easy test 137596-07-17 error: sfsync(NiL) ... write ... sfsync(sfstderr) 1376 astconf: handle readonly *(DEV|DIR) vars 137796-04-01 swapop: fix stupid return value bug 1378 features/int.c: fix int_swap generation bug 1379 regnexec,regrexec: fix unsigned underflow init error 1380 ls.h: fix iblocks() to be in units of LS_BLOCKSIZE 138196-02-29 magic: space before function is definition with no call 1382 hash: drop hash_info from public interface 1383 hash: OBSOLETE hashlast() 1384 hash: add Hash_root_t.Hash_last_t to public interface 1385 add strsearch() and strnsearch() to complement strlook() 1386 add hashkey.h for keyword->long hash 1387 pathpath: pathpath(0,0,"",0) disables $0 $_ $PWD relative search 1388 sfio: sfstrtod+sfhdr update 1389 regex: fix REG_LENIENT to map BRE \[+?|] to ERE [+?|] 1390 change _std_malloc iffe test so it doesn't hang on alpha 1391 sfhdr.h: features/sfio generates _lib_cvt instead of _i386_cvt 1392 ast_hdr.h: add va_copy(a,b) to copy va_list b to a 1393 getopt: fix stupid getopt() -> optget() bug 1394 sfvprintf: %h? now downcasts 1395 regex: handle strto?l() errno in regcomp() 1396 sfstrtod: _Sfstrtod_already_defined -> _STUB_sfstrtod 1397 ast_std.h: hide valloc() and ignore <strings.h> 1398 sfkeyprintf: pass phony va_list for '2' 1399 regex: change HIT var type from int to size_t in special() 1400 ast.h: add EXIT_STATUS(x) to convert wait() status to sh exit status 140196-02-14 regex: add _ to \<...\> isalnum test 1402 regex: fix BM inner loop breakout 1403 features/types: size_t is signed on some systems! => _ast_size_t 1404 sfio: sfrd discipline peek optimization 1405 vmalloc: vmalloc.h malloc family macro upgrade 1406 tokopen: fix newline bug for non-restore open 1407 sfio: no inline for gcc until it emits for -g too 140896-02-12 sfio: internal upgrade 140996-02-09 regex: Boyer-Moore boundary fix 1410 vmalloc: snarf latest 141196-02-06 regex: add regrecord() and regrexec() for Boyer-Moore record filtering 1412 regex: rearrange regnexec() args to match buffer,count arg style 141396-01-31 stk: add STK_NULL to stk.h and stk.c 1414 regex: privatize regex.h and fix min re length computation 1415 workaround lazy strdup() implementations in features/lib _std_malloc 1416 fix stkclose() to free(stream) -- purify missed because of sfio links 1417 unused var cleanup 1418 port/mnt.c must include <ls.h> to get <ast_fs.h> 1419 add SF_FINAL to sfio and stk 1420 sfio reads now on natural block boundaries 1421 add #!!! <level> <message> !!! to tokline() 1422 add REX_BM pre-filter to regcomp/regnexec 142396-01-22 add regcomp env.paren overflow checks 142496-01-11 add Doug McIlroy's regex (converted to C from C++ by gsf) 1425 AT&T Research now 1426 sfgetr optimization 1427 regex buglets 142896-01-05 tweak magic.tab for win32 142995-12-25 add !(...) -> (...)! to fmtre() 1430 nt tweaks -- functions with no header proto must be defined extern 143195-11-24 version 4.1 1432 add mnt.h mntopen mntread mntclose 1433 convert fmtfs to mnt.h 1434 add RE_LEFTANCHOR and RE_RIGHTANCHOR 1435 gcc inlines must also have global library function instantiation! 1436 add hashview() 1437 fix strtape() internal buffer flow 1438 fix mntread() fs/dir transposition for uts mnttab 143995-10-31 change features/unistd.c includes to break limits-param cycle 1440 add cdt from kpv 1441 sfio snarf from kpv 1442 add [ht]search for _WIN32 144395-10-11 clarify PARANOID pathcheck() warning 1444 fix procopen() LIB_SPAWN environ bug with setenviron() cache 1445 fix setenviron() bug that forgot to reset environ if == 0 1446 add %Z '\0' output format to sfkeyprintf() 1447 sfio snarf for sfvprintf fix 1448 allow multiple hashscan() with scope caveat 1449 add comp/fakelink.h to synthesize a few symlink text patterns 1450 add !<xxx> magic to misc/magic.tab 1451 add FTW_TOP to inhibit recursion (for ftw side effects on top level) 1452 add memfatal() common malloc fatal exception message 1453 add dos \r\n test to misc/magic.c/cklang() 1454 sftmp() O_EXCL+random to avoid collisions 1455 pathtemp() uses sftmp() randomizing 1456 features/fs uses SF_APPENDWR 1457 sftmp() uses pathtemp() -- don't worry, its not circular 1458 a few more _WIN32 compatibility additions 1459 realloc fixed to use VM_RSCOPY|VM_RSMOVE instead of obsolete 1 1460 add hashlook(tab, oldname, HASH_RENAME, newname) 1461 a few more tweaks to satisfy port warnings 1462 add _SFIO_INLINE_PRIVATE to provide real function too 1463 fix <dirent.h> installation test 1464 oops object / shared library compat with _sfgetl2 _sfgetu2 146595-09-11 add getopt() compatibility 1466 add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h 1467 add getconf CONFORMANCE - posix for things that aren't ast default 1468 sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif 1469 snarf vmalloc from kpv 147095-08-11 fix malloc bug in magic 1471 update linux and bsd 386 magic entries 1472 error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done 1473 drop fnmatch from strmatch for sparc (solaris) until it collates 147495-07-17 fix port/astconf universe initialization 1475 fix misc/optget opt_info.nopt initialization 1476 drop tmset() TZ=... because it only worked when TZ=... was ignored 147795-05-09 mongo <ast.h> namespace cleanup 1478 drop > 2 year old obsolete interfaces 1479 sfvprintf.c fix for (char:8 short:16 int:32 long:64) architectures 1480 TMP_MAX back into conf.tab 1481 pathbin() and pathshell() now use astconf() 1482 fix pathtemp() to not cache getenv("TMPDIR") 1483 fix ftwalk() metaphysical to handle non-dirs too 1484 initialize *_info = { 0 }; for ancient ld semantics (NeXT) 1485 fix magic() to do vmfree() 1486 astconf(X_OK) must prefix lines with "getconf" 1487 use <wchar.h> and wctype in strmatch() if available 1488 _lib_utime_now checks utime(path,0) 1489 _lib_poll_notimer checks poll(x,0,timeout) 1490 add another _lib_utime_now check to port/touch.c 1491 fix dd_buf cast in dir/opendir.c 1492 split getconf.h into conftab.h and conftab.c for :READONLY: 1493 use mbtowc() only if MB_LEN_MAX>1 1494 sfio char* -> Void_t* cleanup 1495 handle old syntax in misc/magic.c 1496 sigdata.c holds readonly signal strings 1497 pathcheck() does AT&T checks for tools matching PARANOID - yuk 1498 unused var cleanup 1499 deprecate hash_info in favor of hashlast() 1500 fix bad conf.sh ksh integer interactions 1501 dll cleanup 1502 magic.c falls back to malloc for now 1503 add environ to <ast.h> -- C library global data syms are *RESERVED* 1504 sfhdr.h memccpy(1,2,3,size_t) prototype 150595-04-01 version 4.0 1506 convert to vmalloc 1507 allow sigcritical() nesting mismatch to work around vfork() bug 1508 add strexpr() primitive for streval() with user handle (like ftwalk) 1509 add <magic.h> and magic.c file command magic interface 1510 update magic mail message entry 1511 fix keyprintf() invisible char count nesting bug 1512 add sfstrnew(SF_READ|SF_WRITE) for alternate sfstropen() modes 1513 sfstrnew(SF_READ) but reading requires sfseek(), sfreserve() 1514 add conf.tab and conf.sh to nail C/POSIX limits/unistd macros 1515 add getconf() string interface to *conf* 1516 _DLL_INTERMEDIATE_DATA for systems that require indirect globals 1517 _DLL for building shared libraries with _DLL_INTERMEDIATE_DATA 1518 vecfile() restricted to S_ISREG() 1519 add spawnveg() for job control 1520 convert procopen() PROC_PGRP(id) to spawnveg() 1521 fmterror() returns error text given errno (strerror() does same) 1522 fmtsignal() returns signal text given errno (strsignal() does same) 1523 {sig_name,sig_text,SIG_MAX} -> sig_info.{name,text,sigmax} 1524 liberror("",...) omits [%s library] prefix 1525 update features/signal.c table 1526 add vmdisc() and change vmnewof() to use vmresize() 1527 fix conf.sh to allow refs to previously defined limits 1528 fix undefined entries in getconf() 1529 magic data in magic.tab 1530 fix stropt() pointer cast 1531 vmalloc() exception handler replaces nomalloc() 1532 merge sigdata.c into fmtsignal.c -- sun link needs function w/ data! 1533 sftmp() bug fix 1534 drop local <unistd.h> even with _POSIX_SOURCE 1535 fix vmstrdup() macro arg miscount 1536 fix conf.sh to handle enum'd symbolic constants in unistd.h 1537 drop malloc() et.al. prototypes from vmalloc.h 1538 fix sfvprintf() %d argument reference 1539 add OSF/1 AES symbol(s) to conf.tab 1540 determine standards prefix from conf.tab 1541 add _CS_SHELL to conf.tab 1542 getpath() default is confstr(_CS_PATH) 1543 getshell() default is confstr(_CS_SHELL) 1544 unify keyprintf user function args (should have learned by now!) 1545 add quad type to magic 1546 add astfeature() to unify universe style dynamic features 1547 add ftwflags() to determine FTW_* flags from astfeature() 154895-03-11 fix stropt() to not modify its *const* arg 1549 handle "'\ quotes and chresc() in stropt() values 1550 , treated like :space: between stropt() options 1551 fix procopen() fd dup to ignore self-dups 1552 add library id[] to misc/state.c 1553 add ftwalk(FTW_METAPHYSICAL) for posix -H 1554 sfvprintf() now handles balanced () in %() 1555 add tmfmt() with buffer size check to replace tmform() 1556 add fmttime() calling tmfmt() to fit fmt*() mold 1557 add <keyprintf.h> and keyprintf() to support %(...)? in commands 1558 add Hash_table_t for size==0 in stropt() 1559 add EXTTYPE extended header to tar.h 156095-02-14 sfmove() buffer size overflow fix 1561 add _SFSTDIO_H to sfio.h 1562 rename setenv() to setenviron() -- posix finally decided 1563 rename <option.h> opt_* to opt_info.* 1564 update features/unistd.c for _SC_* and _PC_* posix additions 156595-01-19 (char*)uchar cast in fmtesc() 1566 fix hash bucket memory leak in hashlook() [via John Mocenigo] 1567 update strings/strtape() 1568 fix optget()/optjoin() to handle leading + 1569 add ALIGN_ prefix to <align.h> identifiers 157095-01-11 change tm/*.c tmset(0) to tmset(tm_info.zone) to keep user setting 1571 fix tmform() %Z null pointer dereference 157295-01-01 add this RELEASE file 1573 fix strperm() to properly handle "644 file" 1574 fix tokline() to return last '\0' terminated line in string 1575 fix tokscan() to properly handle \\n splice 1576 add fmtesc() to complement stresc() 1577 add LS_NUMBER to fmtls() 1578 drop spurious optusage() ' ' 1579