112-07-25 pathprobe.c: fix read() loop to handle EINTR 212-06-28 vmalloc/malloc.c: use sbrk() unless VMALLOC_OPTIONS=mmap or asoinit(0,0,0)!=0 (workaround until next malloc update) 312-06-28 aso/aso.c: asoinit(0,0,0): 0: no specific init, 1: app initialized 412-06-27 sfio/sfvprintf.c: allow { L* z* } aliases for I* -- posix will probably pick one 512-06-26 regex/regnexec.c: fix uninitialized variable reference 612-06-26 comp/setlocale.c: utf8_wctomb() now calls (the corrrect) wc2utf8() 712-06-25 string/chresc.c: accept \u[U+<hex>] and \u{U+<hex>} 812-06-24 regex/regcomp.c: mb [^...] must be marked "complicated" 912-06-20 port/astconf.c: increase DEBUG_astconf error debug levels (may leach into rt output) 1012-06-18 sfio/_sfopen.c: add 'e' => O_CLOEXEC 1112-06-18 features/fcntl.c: add #define O_CLOEXEC 0 if not defined 1212-06-13 features/float: handle __mips c99 peculiarities 1312-06-13 features/standards: handle __MACH__ posix peculiarities 1412-06-08 sfio/sfclose.c,sfmode.c: sfclose() for sfopopen() stream returns sh-compatible $? 1512-06-08 comp/strtold.c: fix header botch that missed ldexpl() prototype -- ouch 1612-06-06 misc/proclib.h: partially undo <ast_standards.h> for leaked ancient bsd-isms 1712-05-31 misc/proclib.h: <ast_standards.h> for linux undefined struct mmsghdr* 1812-05-31 error.h: add ERROR_PIPE(errno) to handle EPIPE and ECONNRESET 1912-05-31 Makefile: don't install $(INCLUDEDIR)/prototyped.h: src/cmd/INIT does it 2012-05-31 regcomp.c: add (?V...) ~(V...) REG_REGEXP switch 2112-05-28 regex: regoff_t in => ssize_t via api 20120528 2212-05-21 features/asometh: split intrinsic and method tests so code only instantiated in aso.c 2312-05-21 comp/strdup.c: use oldof() since mem overwritten by string copy 2412-05-18 misc/stk.c: fix access of moved realloc() data 2512-05-15 misc/optget.c: #? option with no value should have opt_info.num==0 2612-05-11 misc/stk.c: fix memmove() read of 1 uninitialized byte 2712-05-11 regex/regcoll.c: avoid memcpy() to self 2812-05-01 port/astconf.c: fix astconflist() to list standard minmax value if defined 2912-04-26 sfio/sftmp.c: fix memory leak due to inadvertent SF_STATIC copy 3012-04-26 sfio/sfwrite.c: fix subtle memory leak (with Vmlast or Vmpool or freeBSD malloc) 3112-04-26 vmalloc/vmbest.c: SIGSEGV overcommit check for __linux__ only 3212-04-25 vmalloc: add _vmfd() for private close-on-exec fds 3312-04-23 sfio_t.h: change getr to 32 bits to prepare for UTF-8 delimiters 3412-04-23 features/signal.c: add SIGSTKFLT 3512-04-17 regex/regcomp.c: fix (E:...) vs (E)... scoping 3612-04-11 features/sys: add aix's _LARGE_FILE_API to the _LARGEFILE(64)?_SOURCE mix -- anyone else? 3712-04-11 include/cmdarg.h,misc/cmdarg.c: (finally!) add a discipline with Cmdrun_f 3812-03-28 vmalloc: int vs [s]size_t cleanup 3912-03-27 sfio: fix #if logic that caused syntax errors (on 64 bit uwin) 4012-03-10 misc/optget.c: HELP_index for "PLUGIN" too 4112-02-29 include/shcmd.h: PLUGIN_VERSION 20111111 for cdt disc/meth change 4212-02-29 comp/spawnveg.c: fix sigcritical() to include waitpid() for internal child 4312-02-29 malloc.c: make __malloc_hook initialization thread safe 4412-02-24 comp/iconv.c: fix winix UTF-8 vs UCS-2 over-conversion 4512-02-24 astsa/*.h: clean up header guards 4612-02-24 astsa/astsa.omk: clean up standalone old make makefile interactions 4712-02-21 misc/cmdarg.c: fix bug that set argv[0] 4812-02-10 sfvprintf.c: fix 1 byte too long buffer access 4912-02-07 malloc.c/features/vmalloc: add gnu __malloc_hook tests 5012-02-06 vmmopen.c: fix ALIGN vs sys/param.h macro conflict 5112-02-02 astlicense.c: add license.component for component-specific licenses 5212-01-31 spawnveg.c: fix transient bug that made invalid setpgid() call 5312-01-27 pathpath.c: fix buffer size math when internal allocation requested 5412-01-24 malloc.c: fix _vmkeep() bug that did not return previous state 5512-01-23 malloc.c: add VMALLOC_OPTIONS=break to try sbrk() block allocator first 5612-01-21 astlicense.c: option style only overrides default license.type 5712-01-18 malloc.c: disable multiple regions for tracing or !vmbest or ASO_SIGNAL 5812-01-12 sfpkrd.c: add __sun I_PEEK+rsh runtime workaround 5912-01-10 shcmd.h: void* => Shbltin_t* 6012-01-10 tmxdate.c: handle { n>=1000 } TM_PARTS 6111-12-21 plug up some memory links -- thanks mhlavink 6211-12-21 vmprivate.c: enclose VM_NONMEM exception in CLRLOCK(vm,0) ... SETLOCK(vm,0) 6311-12-13 aso: in -lposix for uwin, not -last -- just like vmalloc 6411-12-13 sfpoll.c: all streams SF_IOINTR => don't ignore EINTR 6511-12-13 sfdcslow.c: set SF_IOINTR 6611-12-09 malloc.c: add _vmkeep() for setlocale() intercept _SYS_setlocale_free_OK 6711-12-04 sfio: _Sfmaxr=0 (unlimited) by default; use ulimit -M|-d or SFIO_OPTIONS 6811-12-01 aso: sync to new api 6911-11-11 optget.c: move .TH to the top for --nroff to get our macros first 7011-11-11 aso,cdt,vmalloc: resync with kpv 7111-11-11 cdt: preserve bits and Dt_link_t for CDT_VERSION < 20111111 7211-10-24 sfvprintf.c: %.-ns truncate from left to n chars 7311-10-21 sfvprintf.c: fix %0s (no width) core dump 7411-10-10 aso: add _WIN32 support 7511-09-26 vmalloc: sync with kpv 7611-08-29 features/{dirent,wchar,wctype}: eliminate #include with no header 7711-08-25 #pragma prototyped tweaks -- sun4 is dead, long live sun4 7811-08-25 ftwalk.c: FTS_SLNONE => FTW_SL 7911-08-11 features/wchar: fix #include _nxt_wchar for K&R C 8011-08-04 optget.c: tweak --html rendering 8111-07-24 mime.c: add %(default)[st] default if arg == "" 8211-07-21 setlocale.c: fix debug locale to treat "<<" as two single byte chars 8311-06-14 spawnveg.c: pgid -1: new session -2: setpgrp()&&tcsetpgid() 8411-06-14 pathprog.c: add darwin _NSGetExecutablePath 8511-05-14 features/common,features/align.c: { _X86_ _X64_ } conditionals for generic uwin 8611-05-13 tm/tminit.c: tweak tzname[] prototype 8711-05-09 astlicense.c: add ". file" parent-relative include and depth 4 input stack 8811-05-05 cmdarg: update to cmdopen_20110505 api 8911-05-03 sfio/sfclose.c: make sure close() errors propagate to sfclose() return value 9011-04-20 port/astlicense.c: add { id name } keys 9111-04-15 fmtdev.c: fix to work for non-{blk,chr} special 9211-04-12 stk: change size args to size_t and stseek() offset to ssize_t 9311-04-12 sfio: sync with kpv to optimize large SF_STRING sfputr() buffer allocation 9411-03-28 misc/fts.c: fix FTS_SLNONE logic to set it when it should! 9511-03-17 misc/stk.c: fixed bug that could delete an active stack frame 9611-03-10 sfio/sfvprintf.c: add %0<width>s to preserve <width> trailing chars in string arg 9711-03-09 misc/magic.c: add %d...%s where if %d==1 then %s=="" else %s=="s" 9811-03-09 misc/magic.tab: add windows ico 9911-02-08 misc/stk.c: change STK_FSIZE to (1024*sizeof(char*)) for 64 bit normalization 10011-02-02 sfio/sfmode.c: don't call sfsetbuf() on unbuffered stream to make it unbuffered 10111-02-02 features/wchar: handle hp.ia64 va_list interactions 10211-02-02 comp/omitted.c: fix mismatch between stat() vs _stat() 10311-01-31 std/wctype,features/wctype: add to handle <wchar.h> interactions 10411-01-28 add -lw for ancient sunos 10511-01-28 include/magic.h,misc/magic.c: add MAGIC_ALL 10611-01-27 tm/tmxfmt.c,tmpoff.c: %_z for SHH:MM 10711-01-25 features/wchar: change <wctype.h> <wchar.h> ordering 10810-12-24 sfstrtof.h: fix thousand grouping bug that did not check last group 10910-12-21 pathkey.c: add win32 { /32 /64 } preroot to hash 11010-12-09 pathprog.c: handle intermediate path != '* and fix invalid pathpath() call 11110-12-01 astconf.c: fix look.standard undefined variable reference 11210-12-01 sfset.c: SF_LINE|SF_WCWIDTH => no need for sfsetbuf() to call isatty() 11310-12-01 sfsetbuf.c: cache /dev/null <dev,ino> to cut down /dev/null stat()'s 11410-12-01 optget.c: delay dictionary initialization until needed 11510-11-30 malloc.c: drop { VMDEBUG VMETHOD VMPROFILE VMTRACE } env checks 11610-11-30 port/astconf.c: eliminate esaccess() calls for OP_universe checks 11710-11-24 regcomp.c: [[=]=]] must at least match itself in non-C locales 11810-11-23 glob.h,glob.c: add GLOB_GROUP => REG_SHELL_GROUP 11910-11-20 glob.c: handle mode switches across / 12010-11-19 regcomp.c: REG_SHELL => REG_CLASS_ESCAPE 12110-11-16 vmalloc.h: add VMFL tracing to vmstrdup() 12210-11-16 ast.h: simplify VMDEBUG _BLD_DEBUG and VMFL logic 12310-11-12 tm/tmlocale.c: ast TM_* extensions default to C locale 12410-11-10 regex/regnexec.c,vmalloc/vmstat.c: eliminate strict-aliasing puns 12510-10-20 misc/translate.c: change debug translation to drop " in (a,b,c,"d") 12610-10-10 misc/glob.c: drop ancient D_FILENO(d)!=0 test and trust readdir() 12710-10-06 misc/translate.c: fix "debug" locale logic 12810-10-04 misc/magic.c: fix magic() skip check to honor the continuation 12910-10-04 regex/regcoll.c: add wchar_t* args to regcollate(), drop ucs name lookup 13010-09-28 comp/setlocale.c: add utf8_wctomb() 13110-09-28 string/chresc.c,regex/regcoll.c: fix \S[.X.] (\C[.X.] never worked!) 13210-09-24 string/chresc.c: \Cc for control c, \S[.X.] for collating symbol X 13310-09-24 string/chresc.c: { \cc \e } deprecated 13410-09-22 regex/regcomp.c: fix off-by-one collation class allocation bug 13510-09-20 regex/regclass.c: fix CTYPES off-by-one bug 13610-09-14 comp/conf.sh: const int conf_elements, prefix_elements; 13710-09-08 add features/sizeof => ast_sizeof.h 13810-08-31 comp/getopt[l].c: export functions for dlls 13910-08-25 port/lc.c: add features/locale check for canonical UTF-8 spelling 14010-08-20 include/ast.h: add export plugin_version() prototype 14110-08-20 comp/conf.tab: add SF_BUFSIZE 14210-08-11 misc/conformance.c: conformance(0,0) => "standard" 14310-08-11 misc/conformance.c: check ast_env_serial for dynamic astconf() changes 14410-08-11 port/lcgen.c: remember to fudge Table_t.count for synthesized entries 14510-08-04 include/ast.h,comp/setlocale.c: add { debug C.UTF-8 } mbalpha() mbwidth() 14610-08-02 misc/translate.c: add NLSPATH message cache check 14710-07-29 string/fmtint.c: fix nasty bug that rendered "1000" as "1" 14810-07-27 setlocale,lsgen,localeconv: handle C vs C_EU decimal thousands sep 14910-07-26 misc/optget.c: fix interaction with nested plugin/builtin calls 15010-06-29 string/strtoi.h: strton() multiplier 1 => power of two suffix 15110-06-28 features/wchar: handle systems that require __va_list => va_list 15210-06-28 comp/conf.tab: another PID_MAX tweak -- default to 99999 for most 15310-06-28 port/astconf.c: lone "CONFORMANCE = standard" => all defaults standard 15410-06-25 misc/optget.c: avoid sfprints() call during initialization 15510-06-01 features/api, ast_api.h: formalized forwards/backwards api compatibility 15610-06-01 _AST_API=20100601: add size_t args for all path*() output buffers 15710-06-01 comp/setlocale.c: handle C.UTF-8 test locale 15810-06-01 include/mc.h: add size_t to mcfind() for result buffer (internal api) 15910-06-01 use strlcpy() instead of strncpy() 16010-05-28 include/ast_version.h: add AST_PLUGIN_VERSION for dllplugin() 16110-05-28 include/shcmd.h: add SH_PLUGIN_VERSION for dllplugin() 16210-05-28 misc/conformance.c: add conformance(3) 16310-05-28 misc/optget.c: add [(id1|id2)...] conformance("id1|id2",0) conditionals 16410-05-25 include/sfhdr.h: adjust SF_NMAP according to _ptr_bits 16510-05-25 include/shcmd.h: add sh_builtin() macro for lib_init() table initialization 16610-05-21 misc/optget.c: --html \bfoo::bar([[:digit:]][[:upper:]]*) => foo-bar.html 16710-05-15 include/proc.h,misc/procopen.c: add PROC_ORPHAN 16810-05-09 misc/optget.c: add --???MAN[section] --???SECTION 16910-05-07 sfio,stdio: fix all snprintf() variants to handle buf==0 and/or n==0 17010-05-04 string/fmtesc.c: add mb iswsoace() and iswcntrl() quoting checks 17110-05-03 fix LC_MESSAGES catalog lookup bugs, check for $set==3, accept $set==1 17210-04-30 string/chresc.c: add chrexp() for FMT_EXP_* 17310-04-30 string/stresc.c: add strexp() for FMT_EXP_* 17410-04-30 string/chresc.c: fix \uXXXXY bug that consumed Y 17510-04-22 misc/optget.c: check for html entities in <A name="..."> 17610-04-22 misc/getcwd.c: add features/syscall check for SYSGETCWD() { linux solaris } 17710-04-22 string/stresc.c: wide chars absent locale guidance default to UTF-8 17810-04-12 port/mnt.c: favor bsd getfsstat() over getmntinfo() 17910-04-11 string/strtoi.h: k (1000) and ki (1024) now differentiated 18010-04-10 misc/recstr.c: fix 'd[delimiter]' parse 18110-04-08 include/vmalloc.h,vmalloc/vmstat.c: add Vmstat_t.mode region mode bits 18210-04-05 misc/fts.c: drop 1997-01-07 fts_open()=0 is one file and stat() fails 18310-04-05 misc/optget.c,optlib.h: add Optpass_t.release for --nroff .TH 18410-04-02 misc/optget.c: fix $'[-n?\n...]' --version bug 18510-04-02 regex/regcomp.c: ~(X) => REG_EXTENDED|REG_AUGMENTED, ~(PU) instead of ~(U) 18610-03-24 misc/procopen.c: add PROC_FD_CTTY(fd) 18710-03-24 path/pathtemp.c: fix pointer => int casts 18810-03-15 regex/regcache.c: fix 1 byte buffer overflow (didn't count trailing \0) 18910-03-08 features/tvlib: fix utimensat probe to include all macros/structs 19010-03-07 features/lib: change stream_peek to test pipes only 19110-03-07 string/strelapsed.c: fix next char return overrun 19210-03-06 tm/tvtouch.c: use runtime fallback if utimensat() fails with ENOSYS 19310-03-05 path/pathtemp.c: add pfx /seed for regression testing 19410-03-04 vmalloc/vmwalk.c: add user supplied handle arg 19510-03-04 path/pathtemp.c: properly handle mktemp()-style *+(X) templates 19610-03-03 include/ast_getopt.h: remove NULL guard - _AST_GETOPT_H now handles it 19710-02-24 comp/getopt.h: fix ast_std.h interactions 19810-02-24 vmalloc/malloc.c: empty { VMALLOC_OPTION VMDEBUG ... } => no debug! 19910-02-02 string/base64.c: fix corner case output buffer overflow 20010-02-02 features/fs: sys/mnttab.h requires stdio.h on some systems!! 20110-02-01 misc/optget.c: uppercase --html heading -- doh 20210-01-29 misc/optget.c: [+NAME?...] overrides error_info.id for >= STYLE_man 20310-01-25 vmalloc/vmprivate.c: fix seg ptr initialization bug (24 years old!!) 20410-01-20 misc/optget.c: handle nested {...} rendering 20510-01-20 misc/state.c: add ast.version for runtime api version 20610-01-20 port/astconf.c: "_AST_VERSION" now returns ast.version 20710-01-20 include/ast_std.h: add ast.version for runtime api version 20810-01-19 astlicense.c: add epl 20910-01-01 vmalloc: VMALLOC_OPTIONS env var for all runtime options 21010-01-01 include: change some <ast.h> refs to less intrusive <ast_*.h> 21110-01-01 setlocale.c,translate.c,fmterror.c: AST_LC_internal retains prev state 21210-01-01 comp/setlocale.c: AST_LC_setenv defers to LC_ALL (for sh) 21310-01-01 ast_std.h: add { AST_LC_internal AST_LC_setenv } 21409-12-24 comp/setlocale.c: fix setlocale(LC_ALL,"") when already initialized 21509-12-17 misc/optget.c: handle mixed solaris usage="x:f:(in)yo:(out)" 21609-12-11 regex/regcomp.c: posix semantics for [z-a] 21709-12-11 regex/regcomp.c: fix BRE/ERE ^^ logic 21809-12-11 regex/regcomp.c: fix regcomb() for REG_LEFT|REG_RIGHT 21909-12-11 regex/regcomp.c: bm complete=0 if REX_END 22009-12-11 comp/sigflag.c: add with npt check in features/sig.sh 22109-12-11 tm/tminit.c: fix _tzset_environ logic 22209-12-09 tm/tmlocale.c: include "ast_nl_types.h" to pull nl_langinfo in! 22309-12-04 features/options: add "opt map-libc" check 22409-12-03 tm/tmxdate.c: fix 'next month final day' for dec -> jan 22509-11-21 misc/magic.tab: add gimp XCF 22609-11-20 vmalloc/vmtrace.c: add pid to assertion disgnostics 22709-11-11 regex.h,regcomp.c: add REG_CLASS_ESCAPE, \ inside [...] literal by default 22809-11-03 regex/regcache.c: change to variable length pattern strings 22909-10-28 include/error.h: fix ERROR_translate() arg parens 23009-10-26 port/lcgen.c,comp/setlocale.c: handle LANG init after LC_* already defined 23109-10-05 _sfopen.c: add but ignore 'F' flags for stdio compatibility 23209-09-28 fts.h,ftwalk.h,fts.c: promote { namelen pathlen level } to (s)size_t 23309-09-28 locales: add AST_LC_LANG for $LANG 23409-09-28 setlocale.c: fix logic for dynamic { LANG LC_ALL LC_* } changes 23509-09-17 include/sfio.h,sfio/sfwalk.c: add sfwalk() 23609-09-09 sfio/sfputr.c: add SIGPIPE hang fix 23709-08-24 sfio/sfreserve.c: fix SF_UNBOUND logic with pushed streams 23809-08-18 include/ast_std.h,ast.h: add ast.mb_sync to sync mbchar() after error 23909-08-17 comp/setlocale.c: add AST_LC_utf8 and { utf8_mbtowc() utf8_mblen() } 24009-08-11 comp/setlocale.c: treat "en"/"en_US" AST_LC_MESSAGES as "C"/"POSIX" 24109-08-10 vmalloc/vmhdr.h: add user-defined _AST_PAGESIZE and computed VMHEAPINCR 24209-08-09 comp/conf.tab: add NPROCESSORS_MAX 24309-07-29 astlicense.c: fix first name=value logic error 24409-07-22 string/fmtip6.c: don't drop trailing 0 in 44::1:0:0 24509-06-30 port/astconf.c: standard PATH_RESOLVE is "physical" (not "metaphysical") 24609-06-19 vmalloc: sync with kpv 24709-06-19 include/shcmd.h: add sh_context(p) cast 24809-06-11 misc/magic.tab: differentiate pc 386 32/64 bit dll/exe/obj 24909-06-06 port/astconf.c: fix look->name null pointer reference 25009-06-05 port/astconf.c: fix 'UNIVERSE = value' synthesize logic 25109-05-25 tm/tmxduration.c: add 25209-05-08 comp/syslog.c: add _UWIN /var/log/syslog preference 25309-05-01 comp/setlocale.c: fix _UWIN intercepts to return NiL on unknown locales 25409-04-27 sfio/sfpool.c: fix bug that did not return pool on delete 25509-04-22 include/regex.h,regex/regcomp.c: add REG_REGEXP <regexp.h> compatibility 25609-04-15 tm/tmxdate.c: handle "4th thursday in november" 25709-03-31 string/strvcmp.c,string/strnvcmp.c: add version strcmp(3) 25809-03-31 string/strpcmp.c,string/strnpcmp.c: add path prefix strcmp(3) 25909-03-29 misc/optget.c: clean up num = number casts 26009-03-04 tm/tmxmake.c: add tmxtm() with zone override 26109-03-03 tm/tmxfmt.c: add %(...)<c>, specifically %(...)z for output zone 26209-02-22 tm/tmxdate.c: add iso P... durations 26309-02-02 path/pathprog.c: add 26409-02-02 misc/opthdr.h,optget.c: fix flags mixup, handle old '-' as option 26509-02-02 sfio/sfprints.c: fix sfvaprints() return value to not count trailing '\0' 26609-02-02 misc/cmdarg.c: handle !defined(ARG_MAX) 26709-02-02 port/astconf.c: fix UNIVERSE overwrite of null[] value! 26809-01-31 features/sys: drop header sys/localedef.h 26909-01-28 include/fs3d.h,misc/fs3d.c: mount() => fs3d_mount() for diff std prototypes 27009-01-14 misc/fts_open.c: delay top list reorder until first fts_read() 27109-01-14 include/ls.h: LS_W_INUMBER => 9 to accomodate large st_ino 27209-01-14 misc/optget.c: expand STYLE_usage input text 27309-01-09 features/uwin,stdio/_stdfun.c: iffe for _p__iob and __p__iob 27409-01-09 misc/magic.tab: add ISO filesystem image entries 27509-01-07 string/strtoi.c: strtol() etc. do not consume [lLuU] suffix -- thanks jkf 27609-01-07 sfio/sfstrtof.h: strtod() etc. do not consume [fFlL] suffix -- thanks jkf 27709-01-05 string/strlcat.c: fix logic to match docs (not that easy) 27808-12-30 tm/tmxdate.c,include/tm.h: add TM_WORK { "workday" "working" "work" } 27908-12-28 sfio/sfcvt.c: fix 'a' format rounding 28008-12-21 tm/tmdata.c: add 2008-12-31+23:59:60-0000 leap second event 28108-12-19 tm/tmxdate.c: check for dates near the epoch rolling back to the future 28208-12-19 tm/tmxfmt.c: change %s for now==0 to be the epoch 28308-12-07 include/ast_std.h,misc/getenv.c: no _ast_getenv for uwin ast54 compatibility 28408-12-07 tm/tmxfmt.c: add %[_][EO]K for [space pad] [full|long] iso 28508-12-07 sfio/sfvscanf.c: fix ok[] short by one allocation 28608-12-07 comp/setlocale.c: fix off by one composite initialition loop test 28708-12-07 path/pathkey.c: fix off by one loop test 28808-12-04 vmalloc/vmbest.c: catch sbrk() wraparound 28908-12-04 comp/spawnveg.c: clean up attrs on failure too 29008-11-04 regex/regcomp.c: fix locale [!-...] and [^-...] re-initialization 29108-11-04 stdio: add flockfile.c ftrylockfile.c funlockfile.c 29208-10-24 port/astconf.c: handle multiple/trailing '/' in universe initialization 29308-09-10 misc/magic.c: handle old vcodex() indices 29408-09-10 sfio/sfvprintf.c: drop SF_WCWIDTH, use %Lc or %Ls instead 29508-09-05 Makefile: ibm.risc joins the :NOOPTIMIZE: crowd 29608-09-04 regex/regnexec.c: fix nested delimiter match beyond end of subject 29708-08-20 misc/fts.c: fix st_nlink stat() optimization logic 29808-08-19 sfio/sfpkrd.c: workaround macosx recv(PEEK) data consumption on non-socket 29908-08-19 strn?tol?d: handle long double with smaller exponent range than double 30008-08-18 sfio/sfcvt.c: eliminate excessive multiplies and integral overprecision 30108-08-11 tm/tmxfmt.c: handle %10N and %010N 30208-08-06 include/shcmd.h: add 'int invariant;' for builtin invariant arg count 30308-08-05 features/ndbm: favor sleepycat ndbm compatibility 30408-07-21 include/glob.h,misc/glob.c: GLOB_STARSTAR only forces lstat on chdir 30508-07-17 sfio: sync with kpv 30608-07-17 misc/optget.c: call astwinsize() each time terminal width required 30708-07-16 sfio/sfvscanf.c: fix %% to skip leading space per posix 30808-07-16 vmalloc/vmbest.c: add VMCHECK=m, VM_mmap to favor mmap() alloc 30908-07-16 features/stdio,stdio/f(read|write).c: size_t return value!! ouch 31008-06-24 tm/tmxfmt.c: fix %z to handle tm_isdst -- doh 31108-06-24 misc/astintercept.c,misc/getenv.c: split from misc/setenviron.c 31208-06-17 misc/setenviron.c: add { astintercept() getenv() } 31308-06-09 tm/tmlocale.c: use _DATE_FMT if defined for TM_DEFAULT 31408-06-06 misc/optget.c: handle sub-component about details 31508-06-04 misc/optget.c: fix [-n?\n...\n] version parse 31608-06-04 include/debug.h,misc/debug.c: merge with kpvdebug.h 31708-06-02 features/ndbm: add to tame dbmlib.iffe replication 31808-06-01 comp/resolvepath.c,realpath.c: fix resolvepath() return value type 31908-05-22 tm/tmxdate.c: fix a few ordinal/last/this/next bugs 32008-05-18 string/fmtre.c: fix omitted stack var initialization bug 32108-05-14 regex/regcomp.c,regcoll.c: fix UTF-8 collation sequence logic 32208-05-11 tm/tmxfmt.c: :NOOPTIMIZE:, otherwise %Q/../../ fails 32308-05-01 tm/tmxdate.c: mon 1..12 => mon[13] -- doh 32408-04-30 misc/glob.c,reegex/regcomp.c: ~(R) => ~(O) to avoid pcre clash 32508-04-24 port/astconf.c: 'name = value' does assignment without system init 32608-04-15 port/astconf.c: SC#N treated like 'SC(N)' 32708-04-14 misc/optget.c: clean up nroff output 32808-04-01 port/astconf.c: add RELEASE => /proc/version fallback 32908-03-30 misc/optget.c: [-n]... to enable -number & +number options 33008-03-06 misc/optget.c: ---* and +++* are now operands 33108-03-06 misc/errorx.c: fix old error_info.translate workaround 33208-02-05 regex/regcomp.c: allow REG_SHELL {,n}... => {0,n}... 33308-02-27 misc/stk.c: top element during allocation relocated to top 33408-02-18 include/ip6.h,string/strtoip6.c,fmtip6.c: add ipv6 addr support 33508-02-14 regex/regsubexec.c: fix null match (tricky) 33608-02-14 regex/regsubcomp.c: fix SRE to match ksh 33708-02-11 comp/spawnveg.c: return proper errno on [v]fork() failure 33808-02-11 tm/tmxdate.c,tmdata.c: handle more ISO 8601:2000 forms 33908-02-02 regex/reglib.h: add REGMULTIREF to REG_COMP 34008-02-02 string/strmatch.c: fix str="" pat="" sub values 34108-01-31 comp/conf.sh,conf.tab: handle /bin/sh \ in read data, redir subshell 34208-01-18 misc/magic.tab: amd-x68, 64-bit => x86-64 34308-01-18 string/strnton.c,strntonll.c: add 34407-12-10 string/strelapsed.c: "0" is a valid elapsed time! 34507-12-02 sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0) 34607-11-21 comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation 34707-11-15 features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1 34807-11-14 features/float: favor sscanf() due to gnu strto[l]d() nan bugs 34907-10-31 regex/regcomp.c: fix REX_COLL_CLASS node allocation size 35007-10-31 sfio/sfcvt.c: use signbit() if available 35107-10-31 features/isoc99: _ISOC99_SOURCE tests 35207-10-31 port/astmath.c: add -DN=8 for signbit() 35307-10-31 sfio/sfstrtod.h: don't forget about -0.0 35407-10-26 features/map.c: add { optopt optarg optind opterr } 35507-10-26 features/stdio: add _filbuf => _ast__filbuf 35607-10-26 comp/getsubopt.c: fix #undef that interfered with <ast_map.h> 35707-10-26 regex/regcomp.c: fix bug that missed ')' in ~(F)... 35807-10-12 port/astconf.c: fix CONF_ALLOC 16 bit overflow 35907-10-12 misc/fts.c: fix fts_close() to free the handle -- doh 36007-10-11 comp/setlocale.c: second and subsequent setlocale(*,"") reverts to previous 36107-10-11 path/pathprobe.c: add vfs ST_NOSUID check 36207-10-10 comp/conf.tab: add a few more xpg6 deferrals 36307-09-28 astsa: update to share with mainline src via _PACKAGE_astsa 36407-09-25 sfio/sfgetr.c: no limit on string stream line size 36507-09-25 sfio/sfextern.c: increase _Sfmaxr to 256*1024 36607-09-18 misc/procopen.c: tighten up SIGCHLD logic between parent/child 36707-09-18 misc/signal.c: unblock SIG_DFL after setting handler, sig<0 => don't unblock 36807-09-13 misc/fs3d.c: no $LD_PRELOAD => no 3d and avoids invalid mount(2) call 36907-09-11 vmalloc: vmstat(0,0)==1 => region in use, drop VM_primary|VM_secondary 37007-09-05 misc/recstr.c: handle [lL] gobbled by strtol() -- ouch 37107-08-17 path/pathprobe.c: handle '\r' in VERSION string 37207-07-17 regex/regcache.c: regcache(0,n,0) extends cache to size n (no shrinking) 37307-07-16 tm/tmdata.c: add 2005-12-31, drop 1999-12-31 (where did that come from?) 37407-05-21 tm/tmxfmt.c,tmxscan.c: %F => %L (TM_DEFAULT); %F => %Y-%m-%d 37507-05-15 sfio/sfvprintf.c: %h? and SFFMT_SHORT => raw bytes 37607-05-09 features/signal.c,features/siglist: use kill -l & strsignal() 37707-04-25 misc/optctx.c: add for opt_info switching 37807-04-24 misc/cmdarg.c,include/cmdarg.h: add CMD_CHECKED, CMD_SILENT 37907-04-24 misc/procopen.c,include/proc.h: add PROC_CHECK 38007-04-24 misc/procrun.c: add flags arg (current use PROC_ARGMOD) 38107-04-24 misc/cmdarg.c,include/cmdarg.h: move from src/cmd/tw 38207-04-20 port/(lclang.h|lc.c|mc.c|lclib.h|lcgen.c): separate lctab.c 38307-04-20 comp/conf.sh: defer to systems without 'grep -q' -- sigh 38407-04-20 comp/conf.sh: probe for LL integer constant initializer suffix 38507-04-20 include/syslog.h: <namval.h> => <ast_namval.h> for win32 38607-04-20 ast_namval.h: add as copy of include/namval.h for win32 38707-04-19 comp/conf.tab: fix SVID SI entries to probe SI_* (not _SI_*) 38807-04-13 tm/tmxdate.c,tm/tmzone.c: handle [-+]0000 UTC zone offset 38907-04-11 sfio/sfvprintf.c: add %F, propagate SFFMT_UPPER 39007-04-11 sfio/sfcvt.c: handle SFFMT_UPPER => nan/inf vs. NAN/INF 39107-04-02 comp/conf.tab,comp/conf.sh: add C/POSIX <stdint.h> symbols 39207-03-28 misc/optget.c: fix l10n --?- 39307-03-25 features/common: fix { ast_std.h ast_map.h stdint.h } logic 39407-03-21 error.h: move from error_info to (*_error_data_) 39507-03-21 misc/error.c: add errorctx() for error_info switching 39607-03-21 option.h: move from opt_info to (*_opt_data_) 39707-03-19 regex/regdecomp.c: fix REX_ONECHAR escapes and add REX_KMP 39807-03-11 tm/tmxscan.c,regex/regnexec.c: fix strict-alias transgressions 39907-02-27 comp/conf.sh: handle native getconf invalid numeric values 40007-02-21 comp/conf.sh,comp/conf.tab: handle SSIZE_MAX vs _POSIX_SSIZE_MAX 40107-02-20 sfio/sfvprintf.c: handle SF_WCWIDTH justification 40207-02-14 features/common: cover <stdint.h>, move to int_(bits)_t 40307-02-14 include/int.h: drop 40407-02-14 include/sfio.h: add SF_WCWIDTH 40507-02-12 comp/conf.sh: fix CONF_LIMIT bug that missed ULONG_MAX etc. 40607-02-12 comp/conf.tab: *LONGLONG* => *LLONG* to match posix 40707-02-12 features/float: *LONGLONG* => *LLONG* to match posix 40807-02-12 port/astconf.c: handle CONF_LIMITS_DEF with no deferral 40907-02-12 stdio/vasprintf.c: add trailing '\0' -- doh 41007-02-04 string/fmtelapsed.c: fix naive multi month/year logic 41107-02-02 misc/optget.c: add --??posix for getopts(1)/getopt(3) 41207-01-26 string/chresc.c: use mbchar() 41307-01-26 misc/optget.c: handle "o:-:" usage for old-style long options 41407-01-22 sfio/sfdisc.c,sfpool.c: handle push on streams with pending peek 41507-01-22 include/sfio.h: mv Sfieee_t to sfio/sfhdr.h 41607-01-17 tm/tmxfmt.c: fix terminating nil logic which clobbered size-1 41707-01-11 misc/stk.c: a 2 day marathon bug fix (can we release now dr ek?) 41807-01-05 comp/spawnveg.c: posix_spawnattr_setflags(POSIX_SPAWN_SETPGROUP) 41907-01-05 misc/error.c: fix multibyte vs. printable logic 42007-01-01 comp/conf.sh: LC_ALL=C 42106-12-26 tm/tmxdate.c: handle nn*.nnnn* == sec.ns 42206-12-20 features/libpath.sh: generalize sol.* LIBPATH patterns 42306-12-18 comp/setlocale.c: include ast_standards.h and ast_wchar.h ! 42406-12-12 string/strperm.c: octal modes are absolute! 42506-12-11 comp/conf.tab: always defer ARG_MAX 42606-12-07 Makefile: fix conftab.c generation CCFLAGS to match build - doh 42706-12-04 sfio/sfcvt.c: fix (int) vs. (long) cast mismatches 42806-12-01 comp/conf.tab: add changes to cover solaris { bin xpg4 xpg6 } 42906-12-01 regex/reginit.c: adjust { SRE KRE } escaped (){}*? inside [...] 43006-12-01 sfio/sfcvt.c: add signbit/copysign tests 43106-11-22 comp/spawnveg.c: fix _real_vfork logic to work with 3d 43206-11-20 features/common: bias _ast_int8_t "long long" before "__int64" 43306-11-20 string/strperm.c: fix X to work with all ops (not just +) 43406-11-15 astconf.c,conf.tab: add CONF_DEFER_* for variable constants 43506-11-11 port/astconf.c: validate path arg w.r.t. underlying calls 43606-11-11 comp/conf.sh: fix S CONF_STANDARD bug, add D to defer to native 43706-11-11 comp/conf.tab: add D to defer to native 43806-11-01 include/vmalloc.h: avoid VM_FLAGS sys/v*.h clash 43906-11-01 include/ast.h: add FMT_PARAM for fmtquote() 44006-10-31 disc/sfdcseekable.c: add SFSK_DISCARD for seekable window control 44106-10-31 comp/spawnveg.c,features/lib: handle posix_spawn exit status 127 44206-10-30 features/lib: fix posix_spawn() fork() prototype conflicts 44306-10-30 string/fmtscale.c: fix 1024 rounding bugs 44406-10-27 disc/sfkeyprintf.c: handle 'i' (=='d') -- oops 44506-10-26 sfio/sfvprintf.c: %#d => fmtscale(1000), %#i => fmtscale(1024) 44606-10-26 features/map.c: _map_libc cleanup 44706-10-26 features/fcntl: add to the circle of trust 44806-10-26 features/sys: add <sys/socket.h> socklen_t 44906-10-26 include/regex.h: handle include before <ast_map.h> 45006-10-25 astconf "SHELL" => "SH" to avoid _POSIX_SHELL conflict 45106-10-25 comp/conf.*: drop no-op duplicate conftab.c entries 45206-10-18 string/fmtscale.c: 1000: n[.]n[n](kMGTPE), 1024: n[.]n[n](KMGTPE)i 45306-10-11 ast_std.h: now implies <sys/stat.h> (did on most before anyway) 45406-10-11 strtoi.h: ignore sign for 0, validate scale shift 45506-10-11 strdup.c,vmstrdup.c: handle 0 arg 45606-10-11 add sfstruse()/sfstropen() error checks 45706-10-10 misc/procopen.c: envv==environ => don't modify environ 45806-10-10 misc/procclose.c: return valid exit(1) status 45906-10-06 port/astconf.c,comp/conf.sh,comp/conf.tab: play nice with getconf(1) 46006-10-01 comp/conf.tab: SHELL default checks { _CS_PATH } X { ksh ksh93 sh } 46106-10-01 comp/conf.sh: export CONF_getconf to shell actions 46206-10-01 comp/putenv.c: always enable setenv() for procopen() 46306-10-01 misc/procopen.c: use pathshell() or astconf("SHELL",0,0) if PARANOID 46406-10-01 path/pathshell.c: localize the shell path patterns and accept ksh93 46506-09-28 Makefile: avoid ast <stdio.h> vix iffe -X ast -- doh 46606-09-27 regex/regdecomp.c: add 46706-09-26 regex/regcomp.c: handle KRE ~(...)<invalid-kre> 46806-09-25 reorganize to avoid native header intercepts 46906-09-15 uwin/crypt.c: _UWIN only! 47006-09-14 Makefile: tweak the ast_common.h bootstrap again (finally?) 47106-09-14 misc/optget.c: noncommercial => OPT_proprietary 47206-09-12 string/strelapsed.c: fix multi-char qualifier parse 47306-09-12 string/strtoi.h: drop [cClLqQwW] multipliers 47406-09-11 misc/optget.c: add numeric arg validity check 47506-09-07 misc/optget.c,tm/tmfix.c: fix uninitialzed var refs 47606-09-05 path/pathprobe.c: add version header verification 47706-08-01 Makefile: handle iffe vs FEATURE/common vs ast_common.h 47806-08-31 Makefile: add ast_map.h to the bootstrap list 47906-08-30 misc/glob.c: fix ~(E)re bug that stripped ~(E) before regcomp 48006-08-30 include/ast.h: add { integralof(x) pointerof(x) } 48106-08-27 string/strelapsed.c: fix off-by-one (too little) parse bug 48206-08-25 misc/optget.c: 0*<n>.* numeric option args => <n>.* 48306-08-22 misc/glob.c: handle ~(...) pattern options 48406-08-16 string/strelapsed.c: fix off-by-one (too far) parse bug 48506-08-16 regex/regcomp.c: accept but ignore ~(N) 48606-08-14 features/libpath.sh: add solaris LD_LIBRARY_PATH_64 check 48706-08-05 sfio/sfpool.c: pool SF_READ|SF_WRITE loop fix 48806-08-02 misc/fts.c: fix FTS_NOSTAT optimization to check for .. 48906-07-28 include/glob.h: add gl_extra for user globlist_t expansion 49006-07-27 features/common: #include "ast_map.h" 49106-07-26 comp/fnmatch.[ch]: allow <ast_map.h> to map fnmatch() 49206-07-22 cdt: snarf from kpv 49306-07-17 string/strperm.c: perm==-1 skips umask(1) 49406-07-17 sfio/sfvprintf.c: handle format invalid mb seq 49506-07-17 regex/regcomp.c: inline REG_SHELL => anchored, otherwise not 49606-07-17 regex/regcomp.c: inline B|G:basic E:REG_EXTENDED F|L:REG_LITERAL 49706-07-17 regex/regcomp.c: inline l:REG_LEFT r:REG_RIGHT 49806-07-17 regex/regcomp.c: inline a:REG_LEFT|REG_RIGHT p:~REG_LENIENT 49906-07-17 string/chresc.c: add \Uxxxxxxxx 50006-07-17 sfio/sfstrtof.h: ignore thousands sep after decimal 50106-07-17 string/tokline.c: splice() => spliceline() for bsd 50206-06-27 features/float,sfio/sfcvt.c: fix Nan logic 50306-06-27 port/astmath.c: fix long double isnan() test 50406-06-27 features/map.c: _map_libc for std => _ast_std 50506-06-25 string/strperm.c: handle posix = w.r.t. umask 50606-06-19 port/mnt.c,features/fs: handle netbsd getmntent api change 50706-06-18 regex/regstat.c: add REG_LITERAL check 50806-06-11 cdt/dtview.c: update from kpv 50906-05-31 sfio/sfhdr.h: fix _SFOPEN() typo 51006-05-09 comp/conf.sh: add native getconf -a names to the mix 51106-04-28 misc/optget.c: add solaris long option name compatibility 51206-03-09 string/strmatch.c: add REG_ADVANCE => REG_* flags 51306-02-14 comp/iconv.c: fix uwin iconv_list() /reg/ generator 51406-02-10 port/astconf.c: relax standard prefix filter 51506-02-08 sfrd.c,sfsync.c: lock logic bug fix 51606-02-01 port/astlicense.c: add { parent incorporation } 51706-01-26 port/astconf.c: fix { LIBPREFIX LIBSUFFIX } length 51806-01-06 features/lib: change _UNIV_DEFAULT probe to use cross{...} 51906-01-04 misc/stk.c: fix n**2 realloc behavior 52006-01-01 include/sfio.h: export { _Sfi _Sfmaxr } 52105-12-13 string/chresc.c: handle \C-X => control-X, \M- => ESC 52205-11-22 regex/regcache.c: add, convert string/strmatch.c to regcache() 52305-10-06 string/ccmap.c: update ebcdic-u to be idempotent 52405-09-28 vmalloc: snarf from kpv; fixes large block brk() thrashing 52505-09-26 misc/magic.c,misc/magic.tab: handle latest vcodex header 52605-09-12 misc/optget.c: reset opt_info.offset on error 527 string/strtoi.h: strton() '.' multiplier only if m>1 528 string/fmtesc.c: add unadvertized FMT_PARM for FMT_SHELL 52905-09-09 string/fmtesc.c: fix FMT_SHELL logic w.r.t. [$`] 53005-08-11 string/strerror.c: fix { sys_errlist sys_nerr } prototypes 53105-08-03 sfio: snarf sfvaprints sfaprints 53205-07-21 port/astconf.c: retain most recent synthesized lookup 53305-07-20 sfio/sfsetbuf.c: default file io size now 64K on all systems 53405-07-17 ccmap*: add microfocus cobol EBCDIC_U 53505-06-29 regex/regcomp.c: fix the A & B inline flag logic 53605-06-15 include/recfmt.h: add fs format flag to fmtrec() 53705-06-14 error.c: add ERROR_OPTIONS { break count match } 53805-06-07 features/stdio: drop FEATURE/limits to fix bootstrap circular dep 53905-06-02 features/*,Makefile: drop vestigel iffeio.h bootstrap workaround 54005-05-31 string/fmtbuf.c: unlock (spin) before each return -- doh 54105-05-30 sfio/sfpkrd.c: work around macos 10.4 recv(MSG_PEEK) bug 54205-05-27 regex: add REX_NEST (?%[S.][T.][OT]) 543 magic.tab: ammend bsd db magic 54405-05-23 regex: REX_NEST (?%[D.][E.][L.][Q.][oc]...) 54505-05-21 regex: state.fold[] is now locale specific -- doh 54605-05-19 regex: add REX_NEST (?%\\()<>[]""...) %(...) nested match 54705-05-15 recfmt.h: add recstr() reclen() fmtrec() 54805-05-13 optget.c: allow boolean options to take numeric values 54905-05-12 recfmt.c: add to recfmt.h, adjust Recfmt_t encodings 55005-04-30 sfio: add sfmaxr(), default 64K 55105-04-22 comp/omitted.c: fix magic() logic for files < 512 bytes 55205-04-20 cdt: snarf update from kpv; void* Dt_t.user added 553 misc/error.c: library => ERROR_LIBRARY 55405-04-19 regex/regcomp.c: handle REG_SHELL [^...] == [!...] 55505-04-11 tm/tmxscan.c: handle yyy.mm.dd[-+.]hh.mm.ss.nnnnnn 55605-04-07 regex/regnexec.c: fix out of bounds boundary check -- ouch 557 features/align.c: add jmp_buf to the alignment mix (ia64) 558 vmalloc/vmhdr.h: add jmp_buf to the alignment mix (ia64) 55905-03-31 misc/optget.c: fix option { - _ } separator matching 56005-03-30 misc/glob.c: eliminate superfluous GLOB_NOMATCH stat() calls 56105-03-24 port/astwinsize.c: include <sys/ioctl.h> if possible 56205-03-23 string/ccmap.c: add ebcdic-m mvs cobol table 56305-03-11 comp/omitted.c: handle utime[s](const,const) 564 comp/conf.tab: fix linux PID_MAX probe 56505-03-10 comp/setlocale.c: LC_* value "" => unset -- doh 566 misc/optget.c: reorder _PACKAGE_astsa code for msgcc 56705-03-08 misc/optget.c: delete leading space in STYLE_nroff output 56805-03-07 sfio/sfhdr.h: drop extern _sfdscan -- clashes with sfvscanf.c static 56905-03-01 tm/tminit.c: add tmlocaltime() for tzset() getenv() override workaround 57005-02-20 features/tvlib: tmsettimeofday only for systems that have settimeofday 571 features/float: fix mvs.s390 NaN tests 57205-02-18 tm/tmxmake.c: fix <0 west of GMT bug that warped to 1800's -- wow 57305-02-11 port/mnt.c: handle lynxos MOUNTED=/etc/fstab 57405-02-08 features/float,sfio.h,sfcvt.c,sftable.c: add INF and fix NAN 57505-02-04 features/lib: add _std_strtol (for lynxos) 576 include/ast_std.h: add _std_strtol tests 577 comp/strtod.c: #define S2F_function strtod 578 misc/signal.c: fix ancient bsd SV_INTERRUPT vs. SV_ABORT clash 57905-01-11 sfio/sfmove.c: try to seek(fr) when fw==0 580 comp/omitted.c: intercept utimes() too 581 comp/omitted.c: add DOSPATHVARS env var path value conversions 582 features/tvlib,tm/tvtouch.c: check for utimets() 583 misc/optget.c: handle '-' or '_' option word separators 584 sfio/_sfopen.c: allow stream mode changes after initialization 585 sfio: sync with kpv: SF_SYNCED fix for ksh input loss bug 58605-01-09 tm/tmxfmt.c: fix %6N for n<100000000 58705-01-08 regex/regcomp.c: conj() => con() to avoid C99 clash 58805-01-05 tm/*: fix { %U %V %W } logic -- my head hurts 58904-12-30 tm/tmxtime.c: fix tm_isdst<0 loop 59004-12-23 vmalloc/vmbest.c: fix vmresize bug that didn't 0 new data 59104-12-19 misc/optget.c: broaden - long option match 59204-12-09 string/strtoi.h: fix terabyte 't' suffix math 593 string/strmatch.c: flush cache on locale change 59404-12-01 tm/tmsleep.c: add 595 tv.h,tv*.c,tv.3: move from pax 596 tmx.h,tmx*.c,tmx.3: add high resolution tm(3) counterparts 597 features/lib: add *another* sgi linux.ia64 memccpy bug check 59804-10-31 Makefile: __OBSOLETE__ now computed <6 months ago year>0101 599 ccode.h,ccmapid.c: add ccmaplist(Ccmap_t*) iterator 600 option.h,optesc.c: add 3rd arg, 1 => quote '?' too 601 misc/magic.c: fix bug that terminated `string \0a' at \0 602 misc/magic.c: handle vcodex() via decompose() 603 misc/magic.tab: add vcodex magic 604 features/stdio: handle _LARGEFILE64_SOURCE -- oops 605 stdio/(fseek|ftell|fseeko|fsetpos|fgetpos|ftello).c: oops^2 60604-10-28 string/swapop.c: size==-4 => size=4 and extend op=3 to op=7 607 tm/tmfix.c: fix tm_mon<0 logic 60804-10-22 tm/tmdate.c: handle 'final day feb 2004' 609 port/astlicense.c: add query=all|id|${...}${...} 610 port/astlicense.c: "free" => "mit" 611 comp/omitted.c: revert to the open source license 612 string/stropt.c: drop siz==0 => tab is hash table 613 include/sfio.h: incorporate <sfstr.h> 614 include/sfstr.h: drop 615 disc/sfstrtmp.c: drop -- use sfstrbuf() 61604-10-20 misc/magic.tab: update tar magic 61704-10-18 ufc-crypt.h,crypt_util.c: drop GPL code 618 crypt.c: add BSD code 619 pathpath.c: disable { $0 $_ $PWD } related root search 62004-10-01 normalize ident stamps 621 port/astlicense.c: add type=cpl -- yeah 62204-09-25 string/swapop.c: return op < size -- duh 62304-09-23 comp/spawnveg.c: :NOOPTIMIZE: -- volatile sometimes ignored 62404-09-21 comp/spawnveg.c: exec_errno_ptr is volatile -- duh 62504-09-14 tm/tmscan.c: add %| alternation and %& => tmdate() 62604-09-08 misc/optget.c: add :!value: omitted optional arg value 627 misc/optget.c: fix --noNAME ambiguous option logic 62804-08-26 string/strperm.c: add who^mode to propagate least restrictive up 629 astmath.c: add { frexpl ldexpl } checks for ast.req 630 port/astlicense.c: ignore first option if non-assignment 631 include/ast_dir.h: move d_fileno map before struct defs -- duh 63204-08-24 vmalloc/vmbest.c: add {VM_region} VMCHECK=+r for region segment checks 633 misc/recfmt.c,include/recfmt.h: add 63404-08-23 vmalloc/vmbest.c: add {VM_primary VM_secondary} VMCHECK=-s for primary 635 features/common: punt to <stdarg.h> for unknown va_list 63604-08-11 vmalloc: sync _UWIN libposix hooks 63704-07-27 features/common,features/limits.c: ULL suffix for unsigned _ast_int8_t 63804-07-22 include/ast.h,comp/eaccess.c: add eaccess() for effective access() 63904-07-19 comp/open.c,sfio/_sfopen.c: { O_RDONLY O_WRONLY O_RDWR } are values 64004-06-28 misc/error.c: check level after error_info.auxilliary 64104-06-24 string/strmatch.c: strgrpmatch() match[] now variable size array 64204-06-17 features/common: change _DLL null define to (the standard ast) 1 64304-06-11 misc/optget.c: allow optional [-|+|--|++] optstr() option prefix 644 misc/optget.c: reset optstr() state on 0 return 645 misc/optget.c: text()=>textout() linux.ppc symbol hijack workaround 64604-05-31 sfio/sfreserve.c: no side buffer if user buffer is large enough 64704-05-27 string/fmtbuf.c: handle one concurrent buf > sizeof(buf) 64804-05-24 regcomp.c: fix no-advance initialization 64904-05-05 conf.tab,conf.sh: update to align with standards 650 magic.tab: ms suffix update 65104-05-04 port/lcgen.c: fix territory initialization 65204-04-15 tm/tmdate.c,include/tm.h: fix specific and ordinal days 65304-04-08 astconf: retain { HOSTTYPE LIBPATH LIBPREFIX LIBSUFFIX } strict vals 65404-04-07 vmalloc/vmbest.c: fix alpha tiny block bug 655 vmalloc/malloc.c: re-enable on alpha 65604-03-30 tm/tminit.c: GMT => UCT only if tz.daylight not defined 65704-03-25 vmalloc/malloc.c: _AST_std_malloc=1 for __alpha 658 path/pathprobe.c: per-user probe dir => $HOME/.probe/$HOSTTYPE 65904-03-23 regex/reglib.h: fix isw*() redefines 66004-03-17 features/stdio: no __FILE override for __CYGWIN_ (sys/reent.h clash) 661 sfio/sfhdr.h,sfio/sfsetbuf.c: lower sfmove() default buf size 4x 66204-02-29 comp/omitted.c: move env trace after PATH fixup 663 comp/omitted.c: cygwin spawn _P_DETACH => _P_NOWAIT+setpgid(pid,0) 664 misc/optget.c: fix html mailto: match 665 port/astlicense.c: add type=test for fixed 2001 date 666 features/float: check local NaNQ first 667 vmalloc/vmhdr.h: fix _vmextern_ vm_truncate return type 668 misc/magic.tab: add elf s390 index=22 66904-02-26 vmalloc: VMCHECK a:assertions c:arena-check w:warn-instead-of-abort 670 sfio/sfvscanf.c: fix extf arg selection 67104-02-24 features/dirent: set nodefine to avoid ast_std.h _typ_off64_t undef 672 disc/sfkeyprintf.c: only case pattern must be ()[] balanced 67304-02-14 include/sfio_t.h: add SF_DCDOWN, SFDCNEXT(), SFDCPREV() 67404-02-13 string/strmatch.c: fix bug that didn't save one-time sub[] size 675 vmalloc: -g: export VMCHECK=1 enable malloc/free checks 676 vmalloc: -g: free(0) to check and disable malloc/free checks 677 vmalloc: -g: free(1) to check and enable malloc/free checks 67804-02-11 Makefile: add :P=A: to conf and lcgen exec for cross-compile 679 regex: use MBSIZE() instead of mbsize() to grab 1 char on err 680 vmalloc/vmbest.c: updated to do more comprehensive DEBUG tests 68104-02-04 sfio/sfraise.c: add sfraise(0,a,b) to iterate over all streams 68204-02-01 vmalloc/vmbest.c: _BLD_DEBUG free(0) checks the arena 68304-01-31 features/vmalloc: fix typo that missed _mmap_zero 68404-01-23 string/strerror.c: handle real strerror() return value overwrite 68504-01-11 path/pathpath.c: fix size vs. sizeof(buf) typo 68603-12-22 misc/magic.tab: dos EXE tweaks 68703-12-05 vmalloc: sync with kpv, adding exceptf announcements 68803-12-04 port/astlicense.c: fix expand() loop sentinel bug 68903-12-02 include/ast.h: mbchar() advances by 1 on mbtowc() error 690 misc/fts.c: increase MINNAME to 32 69103-11-21 vmalloc/vmbest.c: export VMCHECK=1 to enable $(CC.DEBUG) vmcheck() 692 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT 693 misc/magic.c: add { cobol copybook pl1 } and suffix preference 69403-11-12 features/stdio: drop cuserid,getopt for SUSV3 69503-11-11 vmalloc/*: merge kpv update -- this should stomp the compaction bug 69603-10-23 comp/iconv.c: fix sfreserve lock fallback 69703-10-20 sfio/_sfopen.c: add to allow user sfopen() intercept 69803-10-17 regnexec.c: fix exec time REG_LEFT, \x.... => wctomb() 69903-10-12 string/strtoi.h: fix strton '.' overconsumption 70003-10-12 comp/iconv.c: identity is always (iconv_t)0 70103-10-09 string/fmtesc.c: fix FMT_SHELL to check for all shell magic chars 70203-10-01 port/astlicense.c: unknown authors copied verbatim (instead of ignored) 70303-09-30 string/chresc.c: handle \u..., \x... consumes all trailing hex digits 704 string/stresc.c: \u... and \x... > UCHAR_MAX => wctomb() 70503-09-29 fnv.h: add 70603-09-23 modedata.c: table is for external modes, so no arch specific hacks 707 optget.c: fix option prefix match translation bug 708 optget.c: add `<length> <name>=<value>\n' to optstr() 709 features/lib: add memcmp() test for sgi optimzation bug 71003-09-22 regex.h,regcomp.c: add regncomp() 711 regclass.c: fix for loop dangling ; in regaddclass() 71203-09-20 sftable.c,sfvprintf.c: fix SFFMT_CHAR handling to match extf api 71303-09-19 sfmode.c: update release to kpv's 71403-09-17 regcomp.c: add pedantic backref error checks 71503-09-16 regnexec.c: exec time REG_LEFT => don't advance past initial position 716 regclass.c: add regaddclass() for user defined [:class:] 717 regexec.h: REG_VERSION_N2X, add redisc_t {re_map} ccode map 718 regstat.c: add regstat_t 71903-09-11 optget.c: --n:=v sets opt_info.assign=':', opt_info.number enabled 72003-09-09 disc/sfkeyprintf.c: *pn on lookup is arg separator; lookup "" arg too 72103-09-05 optget.c: [f:l*?] preserves user long name past '*' in opt_info.name[] 72203-09-03 sfstr.h: add sfstrpend() for #pending bytes in read buffer 72303-08-25 regex: add REG_FIRST, optimize bm 724 features/lib: _AST_no_spawnveg==1 falls back to fork/exec 72503-08-22 features/stdio,stdio/asprintf.c,stdio/vasprintf.c: add 72603-08-21 path/pathnative.c,path/pathposix.c: interix updates 727 features/botched: add cygwin _stat => _stat64 72803-08-15 include/ast.h: map out bsd strmode() 729 features/common: add interix _ast_intmax_t workarounds 730 misc/fs3d.c: 3d mount test now uses "" instead of NiL (or cygwin dumps) 73103-08-11 string/fmtesc.c: fix optional quoting checks 732 tm/tmdate.c: fix > 1 year of seconds arithmetic 733 tm/tmfix.c: fix leap year adjustments 73403-08-01 features/lib: beef up sock_peek test for interix 73503-07-29 features/float: add -lm to frexp... test 736 Makefile: fix -lm astmath test sense 73703-07-26 features/mem.c: favor _mem_sbrk over _mem_mmap_* 73803-07-22 vmalloc/vmbest.c: fall back to sbrk() if mmap() fails 739 features/mem.c: _mem_sbrk means sbrk() and brk() work 74003-07-17 regex/regcomp.c: fix bug that treated KRE X{n,m} like {n,m}(X) 741 misc/magic.c: check MAGIC_VERBOSE for all load() messages 74203-07-14 misc/optget.c: handle [...]{[...]\f...\f...} 74303-06-21 misc/sigcrit.c: block SIGCHLD if _lib_sigprocmask || _lib_sigsetmask 744 comp/spawnveg.c,sfio/sfmode.c: use sigcritical() SIG_REG_* macros 745 comp/spawnveg.c: drop ENOEXEC logic 746 vmalloc/*: snarf kpv KPVCOMPACT() fix 747 vmalloc/vmbest.c: export VMCHECK=2 to disable KPVCOMPACT (just in case) 748 string/strdup.c: drop __strdup() etc. intercepts -- malloc gets it 749 features/mem: define _mem_method and _mem_* possible values 750 vmalloc/malloc.c: _AST_mem_method==_mem_* to force mem get method 751 sfio/sfputr.c: __ia64 memccpy is bogus -- how many tries do they get? 752 path/pathshell.c: verify abs path and access(path,X_OK) -- duh 753 vmalloc/vmhdr.h: add private _Vmessage() for non-sfio ASSERT() 754 port/astconf.c: fix bug that always returned the minmax value 75503-06-11 comp/*.c: reorder macro hding for mvs.390 and <ast_map.h> 756 features/vmalloc: add _lib_brk and _lib_sbrk verification 757 include/ast_std.h,etc.: add _map_malloc for malloc => _ast_malloc 758 comp/conf.sh: fix SI_* and *_SI_* macro redefs 759 ast.h: VMDEBUG or _BLD_DEBUG enable <vmalloc.h> and VMFL tracing 760 vmalloc/vmtrace.c: _PACKAGE_ast __FUNCTION__ is a string 761 vmalloc/vmtrace.c: set trace file fd FD_CLOEXEC 762 vmalloc/vmbest.c: set /dev/zero mmap fd FD_CLOEXEC 763 features/mmap: fix ancient read() vs. mmap() time arithmetic typo 764 vmalloc/malloc.c: _AST_std_malloc==1 to force standard malloc 76503-06-09 comp/omitted.c: add _imp__FUNCTION sybols for __CYGWIN__ static link 766 vmalloc/vmbest.c: handle systems with sbrk() but no brk() 76703-06-04 port/astconf.c: drop non-standard diagnostics 76803-06-03 comp/conf.sh: rework symbol collision logic 76903-05-30 conf.tab,conf.sh,astconf.c: add <sys/systeminfo.h> sysinfo() SI_* 77003-05-29 ccode.h: rework for extensibility, drop obsolete mematoe(), memetoa() 77103-05-28 regex/*: recode to use isw*() directly when needed, is*() otherwise 77203-05-27 features/vmalloc: fix _std_malloc test 77303-05-25 misc/optget.c: fix optstr() ???* internal options 77403-05-24 misc/optget.c: fix (ancient) argv null dereference 77503-05-23 comp/getcwd.c: don't intercept on _WINIX -- unreliable st_ino 77603-05-22 sfio/sfsprintf.c: n<0 => don't append '\0' 77703-05-18 misc/fts.c: re-stat FTS_DP to update nlink/times 778 misc/fts.c: add FTSENT.stack to eliminate getlist() recursion 779 regex/ucs_names.h: use "..." catenation to placate some cc's 78003-05-11 string/strtoi.h: handle "-" "+" "0x" "11#" 78103-05-09 vmalloc/vmbest.c: large memory allocation tweaks 78203-05-06 misc/optget.c: fix getopt_long() prefix==1 bug that missed short flags 78303-04-27 comp/system.c: handle <ast_map.h> 78403-04-24 vmalloc/vmmopen.c: drop dup <unistd.h> 78503-04-21 tm/tmdate.c: fix next hour/min logic 78603-04-15 vmalloc/malloc.c: intercept __malloc() along with __libc_malloc() 787 string/strdup.c: intercept __strdup() along with __libc_strdup() 788 features/mmap: consolidate from features/(lib|sfio|vmalloc) 789 add _NO_MMAP==1 to disable all mmap()/munmap() calls 790 path/pathposix.c: add 79103-04-14 comp/setlocale.c: fix debug_mbtowc() return value for *s==0 || n < 1 792 comp/iconv.c: fix error return errno values 79303-04-11 misc/stk.c: fix stkgrow() realloc bug 79403-04-05 string/tok.c: support readonly single token input strings 795 disc/sfdcdio.c: fix F_DIOINFO and FDIRECT #ifdef's 796 include/ast_std.h: allow _LARGEFILE64_SOURCE on __hppa 797 features/common: fix `tst _foo_' => `tst foo_' typo 798 features/float: fix `tst _foo_' => `tst foo_' typo 799 features/float: add FLTMAX_(UINTMAX_MAX,INTMAX_MAX,INTMAX_MIN) 800 comp/omitted.c: fix pathconf => _pathconf => _ast_pathconf loop 80103-04-03 features/float: add _ast_no_um2fm: no usinged intmax => floatmax cast 802 vmalloc/vmbest.c: add getenv("VMCHECK") to initialize Vmcheck 80303-03-28 include/ast_dir.h: add D_TYPE; { D_FILENO D_TYPE } must be #ifdef'd 804 misc/fts.c|getcwd.c|glob.c,preroot/getpreroot.c: add D_FILENO #ifdef's 805 Makefile: make sure _BLD_ast is defined for all compiles 80603-03-27 ast_vfork.h: generate from features/vfork to pick up headers/pragmas 80703-03-25 comp/omitted.c: drop free() of live environ 808 path/pathshell.c: allow trailing .exe -- pox on that 809 string/strtoi.h: fix bug leading 3 digits before thousands sep bug 810 string/(fmt|str)[gu]id.c: we know root when we see it 81103-03-24 misc/optget.c: handle : and ? in := default value 81203-03-21 ast_std.h: drop all spawn*() but spawnveg() 813 obsolete/spawn.c: add for dropped spawn*() 814 features/lib: _use_spawnveg if spawnveg() is a win over fork()/exec() 815 features/lib: drop NutForkExecve() and _map_spawnve 816 features/lib: fix memccpy test to clean up /tmp droppings 817 comp/spawnveg.c: call posix_spawn() if implemented 818 comp/omitted.c: add spawnve() intercept 819 comp/getoptl.c: set getopt_long() optind even if no options 820 tm/tmfmt.c: add %Q<delim>recent<delim>distant<delim> 821 misc/optget.c: fix trailing '*' for option and option args 822 sfio/sfmode.c: getenv("_AST_SFIO_OPTIONS") [,]SF_LINE[,] for fd {0,1,2} 823 vmalloc/*: kpv sync for uwin build independent of libast 82403-03-18 port/astconf.c: switch to dynamic string values (saves 7K data/bss) 825 string/strmatch.c: switch to dynamic regex cache (saves 3K data/bss) 826 regex/regcoll.c,ucs_names.h: initialize rw tables from smaller ro data 827 features/lib: add vfork test for passing SIG_IGN across exec 828 features/lib: add spawn test for passing SIG_IGN across spawn 82903-03-17 comp/omitted.c: unlink() renames to .deleted dir in case file open 830 sfio/sfpopen.c: handle mode "" for spawn with no pipe 831 features/float,comp/frexp.c,comp/frexpl.c: add pow2() table alternative 83203-03-12 features/lib: fix linux.ia64 memccpy() tests -- now its their turn 833 features/vmalloc: fix /dev/zero test 834 features/align: _ast_intmax_t and _ast_fltmax_t join the union 835 misc/stk.c: fix struct frame size to align data 836 disc/sfdcdos.c: change sfslen() => sfvalue(f) 83703-03-10 misc/optget.c: handle [f\f:x:lll\f?ddd] 83803-03-07 port/astconf.c: uninitialized CONFORMANCE + POSIXLY_CORRECT => standard 83903-03-05 comp/omitted.c: make sure at least /bin is in PATH to find cygwin dlls 84003-03-02 path/pathshell.c: write access to /bin is effectively root 84103-02-28 features/float: add (FLT|DBL|LDBL)_U?(LONG|LONGLONG|INTMAX)_(MIN|MAX) 84203-02-25 features/lib: change vfork() test to use _exit() instead of exit() 84303-02-23 include/error.h: update ERROR_VERSION for error_info.number space 84403-02-22 comp/conf.sh: wrap ksh check in eval to avoid premature exit 84503-02-21 misc/fts.c: verify chdir(..) to avoid malicious dir rename() 84603-02-19 string/strtoip4.c: isspace() instead of ' '||'\t' 84703-02-17 regex/regcomp.c: fix stats.l REX_REP logic that botched REX_BM 84803-02-13 string/base64.c: handle catenated encodings 84903-02-11 features/libpath.sh: change LIBPATH to <dir>[:<env>[:<pat>]][,...] 85003-02-07 path/pathfind.c: allow "/dev/null" to be PATH_REGULAR 85103-02-06 include/ast.h,fmtquote.c: add FMT_ALWAYS|FMT_ESCAPED|FMT_SHELL|FMT_WIDE 85203-02-05 tm/tmdate.c,tm/tmword.c,string/strelapsed.c: '_' treated like ' ' 85303-02-01 string/strelapsed.c: handle ps style [day-][hour:]min:sec 85403-01-31 port/astlicense.c: fix author=* match 85503-01-30 include/tm.h: add tmisleapyear() macro 85603-01-29 comp/getopt.h,comp/getoptl.c: add gnu getopt_long(), getopt_long_only() 857 include/ast_getopt.h: for non-gnu part of comp/getopt.h 858 include/ast_std.h: include <ast_getopt.h> instead of <getopt.h> 85903-01-28 ast.h,string/base64.c: add base64encode() and base64decode() 860 path/pathfind.c: verify S_ISREG() 86103-01-24 path/pathexists.c: fix abs dir bug and deal with case ignorance 86203-01-23 path/pathpath.c: honor PATH_ABSOLUTE for the easy case too 86303-01-22 path/pathprobe.c: fix search to find both the probe script and command 86403-01-17 misc/magic.tab: application/zip => appplication/(gzip|pzip|zip) 86503-01-14 misc/optget.c: change href="" to href="." 86603-01-10 include/ast_std.h: strtold() import hackery for static __CYGWIN__ 86703-01-03 include/regex.h,regex/regcomp.h: add REG_SHELL_GROUP 868 include/ast.h,string/strmatch.c: add STR_GROUP for REG_SHELL_GROUP 86902-12-15 include/error.h: errorcontext => Error_context_s (compatible til 2004) 87002-12-06 misc/sigdata.c: add NoF(sigdadata) -- why nmake was uninterruptable! 87102-12-03 comp/omitted.c,features/omitted: handle cygwin alarm() return botch 87202-11-27 misc/swapop.c: op=3,size=4 => op=7 873 string/strlcat.c,strlcpy.c: fix uwin decl clash 87402-11-26 sfio/sfvprintf.c: fix sfsprintf() '\0' termination bug 87502-11-22 misc/glob.c: move static struniq() to libast extern 876 string/fmtversion.c,include/ast.h: add fmtversion 87702-11-18 string/strncopy.c: add 878 misc/magic.tab: list size for magicid.h magic 87902-11-14 sfio/sfvprintf.c: add %#c for C escapes 880 include/error.h: add ERROR_NOTIFY context flag for builtin commands 88102-11-11 string/strtoi.h: add S2I_size for strnto*() size_t 2nd arg 882 sfio/sfstrtof.h: add S2I_size for strnto*() size_t 2nd arg 883 comp/putenv.c: add setenv() and unsetenv() wrappers for setenviron() 88402-10-31 path/pathfind.c: add dir of including file to the pathinclude() list 885 misc/optesc.c: add 88602-10-30 string/strtoip4.c: set next char pointer even on error 88702-10-29 comp/resolvepath.c: add (size_t version of realpath()) 888 misc/mime.c: fix mimehead() to ignore null content values 88902-10-28 misc/glob.c: add GLOB_STARSTAR for /**/ and GLOB_NOTDIR optimization 89002-10-27 string/struniq.c: add 89102-10-23 features/common: fix off-by-one loop check 89202-10-18 include/ast_std.h: avoid off_t,ftruncate,lseek,truncate redefinitions 89302-10-17 misc/mime.c: handle type/* match, fix bogus header parse 89402-10-04 sfio/sfstrtof.h: S2F_static <0:export =0:private >0:static 89502-10-02 features/common: don't define _WIN32; define _WINIX => unix on windows 896 features/tty: finally stomp the bsd _POSIX_VDISABLE redefinition 897 misc/fastfind.c: add more specific findwrite() error messages 898 comp/omitted.c: fix cygwin utime() to update st_ctime 899 comp/strtol.c,strtoul.c: __CYGWIN__ static link workaround XXX 900 string/fmtls.c,fmttime.c: tmform() => tmfmt() 90102-09-22 port/astconf.c: return values in fmtbuf() buffer instead of stack 902 port/mnt.c: don't set MNT_REMOTE for win32 ?:\* paths 903 sfio/sfvscanf.c: _sfdscan() is library global (not static) 90402-09-21 path/pathkey.c: add tool arg for mamake compatible hash 905 features/fcntl.c: handle iffe _hdr_lcl_* => _lcl_* change 90602-09-15 comp/conf.sh: fix enum vs. macro test 907 cdt: kpv sync 90802-09-11 ast.h,features/common: move _WIN32 macro init to features/common 909 features/common: enable __EXTERN__ and __DEFINE__ for _WIN32&!_UWIN 910 features/float: add -lm to _ast_*_nan_init tests 911 vmalloc: kpv sync with vmresizef => vmgetmem 912 features/iconv: must have both <iconv.h> and iconv_open()! 913 features/vmalloc: alloca test must compile *and* link 914 sfio/sfvscanf.c,sfstrtof.h: add flag arg to char get, fix NaN loop 91502-09-10 vmalloc/vmhdr.h: enable getpagesize() and sbrk() prototypes 916 features/fcntl.c: enable mmap64() prototype 917 include/ast_windows.h: windows.h wrapper with ast namespace workarounds 91802-09-07 misc/mime.c: fix quoted value parse bug that ate the whole line 91902-09-05 features/vmalloc: add free() to _std_malloc test 920 include/ast.h: NoF(x) now defines _DATA_x for !_BLD_DLL too 921 tm/tmlocale.c: { C POSIX en } == unix dadgummit 92202-08-29 path/pathfind.c: initialize Dir_t.next=0 92302-08-28 uwin/rint.c: update 924 features/libpath.sh: "bin" is now the default value 92502-08-22 vmtrace.h: add for debugging 92602-08-20 misc/magic.c: convert to use <cdt.h> 927 vmalloc/vmresizef.c: add for generic discipline resizef default 928 string/strelapsed.c: allow long time component names 92902-08-19 misc/optget.c: add `.fp 5 CW' to --nroff output 930 string/(fmtfs|fmtuid|fmtgid|strgid|struid).c: convert to use <cdt.h> 931 include/dt.h,cdt/dtnew.c: add for dtopen() in specific vm region 93202-08-13 comp/omitted.c: fix bzero logic for e.g. unixware.i386 933 include/ast.h: add fmtbase->fmtbasell; swap in 2003-09-01 93402-08-12 regex/regnexec.c: fix REG_MINIMAL REX_DOT mb bug 93502-08-08 features/iconv: <ast_common.h> instead of <sys/types.h> <ast_common.h> 93602-08-07 regex/regcomp.c: recognize anchors in BRE subexpressions 93702-08-06 comp/iconv.c: handle win32 cpNNNN == windows-NNNN aliases 93802-08-05 cdt/*: sync with kpv src 93902-08-02 features/iconv: include sys/types.h for ast_types.h 94002-08-01 misc/magic.c: magic file "." names the default 941 misc/magic.c: handle addr type (from irix string) 942 features/lib: move malloc tests to features/vmalloc 943 features/vmalloc: snarf tests from features/lib 944 vmalloc/*: sync with kpv src 945 comp/libc.c: dropped -- __libc_* intercepts moved to vmalloc/malloc.c 94602-07-30 features/lib: handle __libc_malloc() in _std_malloc test 947 vmalloc/malloc.c: add gnu pvalloc() 948 features/vmalloc: fix alloca check 94902-07-29 features/limits.c: handle netbsd guards 95002-07-27 sfio/sfpoll.c: handle rw pipes 95102-07-25 features/iconv: include ast_types.h for size_t in ast_iconv.h 95202-07-18 apply LARGEFILE64 header prototype clash patches 953 misc/optget.c: __EXTERN__ _opt_info_ instead of opt_info 95402-07-17 ast_std.h: memzero() now defaults to memset() instead of bzero() 95502-07-16 ast_std.h: add ast.env_serial 956 misc/setenviron.c: increment ast.env_serial 957 include/tm.h: tmset() now calls tminit() directly 958 tm/tminit.c: check ast.env_serial for env change 959 tm/tmfix.c: speed up for large values of tm_mday 96002-07-15 comp/fnmatch.c: fix memory leak caused by missing regfree() 961 comp/strstr.c: fix broken interpretation and implementation 962 comp/iconv.c: intercept (but no-op) null to and from buffer pointers 96302-06-27 ast_std.h: map _sysconf => _ast_sysconf for sun 96402-06-26 cdt,sfio,vmalloc: kpv sync -- is this ever easy? 96502-06-24 sfio: kpv sync, vfwscanf(),fputw() fix (wcslen(x)*sizeof(wchar_t)!!) 966 misc/fts.c: fix symlink chdir() optimzation bug 96702-06-11 sfio/sfwrite.c: string to file fix 968 Makefile: __OBSOLETE__==20020101 96902-06-01 regex/regcomp.c: REG_DELIMITED now consumes the delimiter 97002-05-31 regex/reglib.h,regcomp.c,regnexec.c: null subexpression fixes 97102-05-24 misc/fts.c: disable dir link counts in 3d 972 misc/magic.c: fix "*(mkfile)" sh pattern to "*@(mkfile)" 97302-05-20 regex.h,regex/regsubcomp.c,regex/regsubexec.c: add 974 regex/regsub.c: deprecate 97502-05-16 tm/tmfix.c: fix '60+n min/sec ago' bug for n min/sec after the hour 97602-05-14 regex/regsub.c: fix (^|x) null match early termination bug 97702-05-13 dir/dirlib.h: drop errant extern==__EXPORT__ 978 features/uwin: add uwin lib tests 979 uwin/*.c: check features/uwin for stubs 980 features/float: add nan representation generation 981 sfio/sftable.h: used _ast_*_nan_init for huge values 98202-05-09 misc/fts.c: fix virtual top to force ``child'' stat() 983 features/common: define va_copy() only if not in <stdarg.h> 98402-05-01 string/strtoip4.c: cisco inverted quad mask must have 4 parts 98502-04-30 misc/magic.tab: fix pzip version check 98602-04-19 string/strtoip4.c: handle cisco inverted quad mask n.n.n.n/i.i.i.i 98702-04-18 misc/fts.c: add chdir() verification stat() optimizations 988 path/pathkey.c: check PROBE_ATTRIBUTES for list of vars 98902-04-12 port/astlicense.c: type=open tweak, fix author list spacing 99002-04-11 regex/regcomp.c: check for pattern number overflow 99102-04-05 tm/tmfmt.c: add %u 99202-04-04 sfkeyprintf.c: fix %c numeric value 993 path/pathpath.c: check plain path first -- duh 99402-04-03 misc/fts.c: fix (FTS_PHYSICAL|FTS_NOSTAT) stat optimizations 995 ftwalk.c: only clear FTW_DELAY if FTW_CHILDREN 996 ftwalk.h: add FTW_NSOK for FTW_DELAY 99702-03-29 ast.h: drop strerror() prototype -- already in <ast_std.h> 998 features/stdio: check for _SFIO_H redundant _Sfstd* declarations 99902-03-26 misc/glob.c: fix GLOB_LIST gl_flags values 100002-03-24 port/mnt.c: update bsd fstype name and mount option logic 100102-03-23 Makefile: add ast_wchar.h to the .check.hdr list (for mamake) 100202-03-17 features/stdio: hack around g++ 3.* clashes 1003 Makefile: add ast_nl_types.h to the .check.hdr list (for mamake) 1004 string/strtoip4.c: fix validity check bug that only checked last part 100502-03-14 misc/optget.c: fix --keys to not expand inline \f...\f 100602-03-12 port/astlicense.c: add type=free 1007 path/pathaccess.c: sibling ".." search ignores relative dirs 1008 sfio/sfvscanf.c: sfstrtof get() must return 0 on eof 100902-03-11 path/pathexists.c: check path by pairs checking {ENOTDIR,ENOENT} 101002-02-14 features/float: copy local min/max macros to avoid printf roundoff 1011 features/wchar: include <ast_common.h>, not <ast_std.h> 1012 misc/magic.c: match[]=>matches[] to fix K&R match() macro conflict 1013 include/vmalloc.h: include <stdlib.h> for !_PACKAGE_ast 1014 uwin/mini.sym: add sprintf (now required by features/common) 1015 regex/regnexec.c: truncate wide chars for <ctype.h> functions 1016 Makefile: fix MAM ast_common.h sequencing bug by making it first 1017 cdt/dthash.c: fix DT_DELETE memory leak (DT_DETACH typo) 1018 cdt/dthash.c: fix DT_DELETE double free (dt->data->here typo) 1019 regex/regcomp.c: fix recomb() to reject RE with backref 1020 features/iffeio: explicitly generate stdio.lcl 1021 stdio: add {fcloseall,f(get|put)s_unlocked,fmemopen,getdelim,getline} 1022 tmmake,tmtime: allow negative time_t if native localtime/gmtime do 1023 tmdate: allow years before 1969 1024 fmtfmt: add 1025 include/ast.h: add { PATH_TOUCH_CREATE PATH_TOUCH_VERBATIM } 1026 Makefile: add std/*.h for std header iffe overrides 1027 comp/iconv.c: fix non-C win32 sfreserve() loop 102802-02-11 features/common: separate long long / long double tests 1029 features/common: verify printf handles long long / long double 103002-02-02 include/ast_std.h,sfio/sfhdr.h: drop _hdr_locale tests -- always on now 1031 include/ast_std.h: trust _UWIN <unistd.h> 103202-01-31 port/mnt.c: add aix options field 103302-01-30 comp/strstr.c: add for ancient s5 1034 stdio/_flsbuf.c: only on systems that transfer to native (e.g., uwin) 1035 string/strtoi.h: cat min/max error return values 103602-01-28 features/tty: add cf[gs]et[io]speed macros for <termio.h> 1037 comp/rename.c: punt to (ancient) /usr/lib/mv_dir on EISDIR 103802-01-24 sigcrit.c: fix SIGCLD!=SIGCHLD interrupt loop 1039 sfvprintf.c: convert fast io macros to functions for uts.390 cc 1040 string/strtoi.h: drop #pragma prototyped for standalone sfio 1041 sfdcsubstr.c: rename from sfdcsubstream.c for 14 char fs 104202-01-22 execlp,execvp,execvpe,spawnlp,spawnvp,spawnvpe: fix __EXPORT__ 1043 spawnlp,spawnve,spawnvp,spawnvpe: handle ms mode arg -- barf 1044 sftable.c: ifdef hacks for _WIN32&_ALPHA_ fp exception 1045 _stdfun.c: add _UWIN&_ALPHA_ iob map 104602-01-18 sfio/sfstrtof.h: drop #pragma prototyped for standalone sfio 104702-01-17 features/hdr: don't include <stddef.h> after it doesn't check out! 104802-01-16 misc/magic.c: add version type for YYYYMMDD or [a.][b.]c.d 1049 misc/magic.c: recode mime %s parse -- sensible and no buffer overflow 105002-01-15 misc/magic.tab,magicid.h: add generic binary magic number and header 105102-01-12 tm/tmlocale.c: override win32 default date for {C,POSIX,en} locales 1052 comp/omitted.c: fix cygwin workaround logic bugs 105302-01-09 stdio/fseeko.c,ftello.c: add from UNIX98 105402-01-08 comp/conf.sh: use $cc instead of cc 105502-01-07 string/strlcat.c,string/strlcpy.c: add bsd api 105601-12-18 comp/conf.tab: fix LFS_CFLAGS default for sun _CS_LFS_CFLAGS botch 1057 features/common: add hdr stdarg test 1058 tm/tmdate.c: handle YYYY/MM/DD 105901-12-10 misc/magic.tab: add generic 0x00010203 binary magic 106001-12-03 path/pathprobe.c: return HOME relative path if readonly/non-suid fs 106101-11-30 misc/optget.c: add simple cache for repeat offenders (like ksh read) 1062 sfio/sfhdr.h: preserve errno across SFMMSEQON-SFMMSEQOFF 106301-11-29 magic.tab: fix GIF version number listing 106401-11-28 string/fmtbase.c: p!=0 => base always included in output 106501-11-26 misc/fts.c: empty path is an error 106601-11-14 misc/optget.c: fix --?+SECTION queries to include paragraphs 106701-11-20 regex/regnexec.c: fix REG_MINIMAL character class match bug 106801-11-19 features/lib: retain _lib_confstr for all solaris releases 106901-11-16 comp/setlocale.c: fix !_lib_setlocale typo 107001-10-31 regex/ucs_names.h: add string catenation to keep line length low 1071 misc/fastfind.c: handle gnu slocate db read 1072 misc/optget.c: add --?+SECTION queries 1073 comp/fnmatch.h: add FNM_NOSYS 107401-10-30 tm/tmdate.c: fix cron specs when both wday and mday are specified 107501-10-20 misc/glob.c: fix bug that called \ trim() twice on same path 1076 misc/glob.c: fix \ trim() bug that restored / to wrong position 1077 string/fmtre.c: fix { ^ . $ } translations 1078 misc/optget.c: use original string if translation fails -- duh 1079 sfio/sfhdr.h: assume <errno.h> assigns proper atttibutes to errno 1080 comp/regcmp.c: __ia64 workaround fixed by proper CC.DLL probe 1081 comp/getdate.c: __ia64 workaround fixed by proper CC.DLL probe 1082 features/lib: add lib getdate 108301-10-18 features/lib: check for strtod static link collision 1084 features/float: add another signed cast for old bsd cc 1085 features/wchar: add <stdlib.h> <stdio.h> before <wchar.h> for old bsd 108601-10-17 sfio/sfcvt.c: limit max precision to { FLT_DIG DBL_DIG LDBL_DIG } 1087 sfio/sfcvt.c: fix %[aA] format to always have leading 0[xX]1. 1088 sfio/sfvprintf.c: handle %C %lc %S %ls for wchar_t args 1089 sfio/sfvscanf.c: handle %C %lc %S %ls for wchar_t args 1090 string/fmtmode.c: fix bug that omitted trailing '\0' 109101-10-12 misc/optget.c: . => \&. for --??nroff 1092 comp/wc.c: fix mbstate_t initialization typo 1093 features/float: fix max integer / float loop termiation 1094 features/float: fix LDBL_UINTMAX_MAX typo that did DBL_UINTMAX_MAX 109501-10-11 include/sfio.h: fix _Sfstd* import/export 1096 features/common: fix _UWIN __DYNAMIC__() definition 109701-10-06 features/fcntl.c: { O_BINARY O_TEXT } default to 0 1098 features/omitted: add for comp/omitted.c 1099 sfio/sfopen.c: O_BINARY default for _WIN32&&!_UWIN 110001-10-05 misc/glob.c: fix `\(x/*' GLOB_NOMATCH bug that returned `(x' 1101 misc/optget.c: fix localization lookup that didn't drop doubled : ? ] 110201-10-04 comp/setlocale.c: handle sizeof(wchar_t)!=4 in debug locale 1103 comp/conf.sh: handle sytems where _SC_* is both an enum and a macro 110401-09-25 astconf: add LIBPREFIX 110501-09-20 features/common: add __DYNAMIC__() for dll externs 110601-09-19 cdt: kpv update 1107 mb*() macros: update for ksh conversion, extend debug locale 110801-09-16 tm/tmlocale.c: add compiled in defaults for C locale 1109 misc/glob.c: add gl_nextdir callback for GLOB_COMPLETE 111001-08-14 clarify _WIN32 vs. _UWIN vs. __CYGWIN__ 1111 tminit: fix standard & daylight initialization 111201-09-11 pathnative.c: add for native fs representation 1113 regex.h: fix regerror_t prototype 111401-09-04 regex/regnexec.c: fix REG_ICASE for multi-char collating elements 1115 tm/tmlocale.c: fix old ascii LC_TIME load 1116 locale*: add new LC_* categories 1117 comp/omitted.c: add CYGWIN workarounds 1118 features/lib: add CYGWIN workarounds 111901-08-11 features/common: some compilers have long long but no LL constants! 1120 features/lib: add mmap64 implementation test (for linux.s390) 1121 regex/regcomp.c: fix \ in [...] parse 1122 setlocale: retain user locale spelling in setlocale() return value 1123 features/limits.c: don't include ./limits.h -- duh 1124 fmtesc: don't escape multibyte chars 1125 tm/tmlocale.c: fix native C locale default 112601-08-08 features/float: some compilers (msdev) forget long long vs. double 112701-07-31 misc/optget.c: handle suboptions 112801-07-27 cdt.h: add DTDISC() 112901-07-17 iffeio.h: move to include for stdio bootstrap iffe workarounds 113001-06-25 regex: perl extensions added and tested 113101-06-21 misc/error: add ERROR_OPTIONS=prefix=string for message processing 113201-06-15 string/chresc: only 2 hex digits max for \xxx 1133 regex/regsub: handle REG_SHELL ~(nnn) rhs backrefs 113401-06-11 regex: handle embedded \0 in pattern and subject string 1135 regex: add (?nnn) for backrefs > 9 1136 comp/fnmatch: add FNM_LEADING_DIR for gnu compatibility 1137 features/float: _ast_flt_unsigned_max_t for bsd.i386 omission 113801-06-06 misc/optget.c: add o option for old ps,ar,tar with optional leading - 1139 regex/regcomp.c: REG_LENIENT|REG_DELIMITED \<newline> => <newline> 1140 regex/regcomp.c: REG_LENIENT \000 => NUL 114101-06-04 features/dirent: replace Makefile hack with iffe semi-hack 1142 regex/regnexec.c: negation must also check REG_SHELL_DOT 114301-06-03 sprintf.c: change buf size from SF_BUFSIZE to INT_MAX 114401-05-31 glob: fix gl_fignore to ignore leading . by default 1145 features/lib: add botch_d_ino_dirent64 for linux botch 114601-05-25 port/lc.tab: add a few missing language_territory's 114701-05-23 string/chresc: \C[.collation-element.] 1148 fmtmatch,fmtre: update for <regex.h> syntax extensions 114901-05-21 regex: add perl extensions, unicode names for collation elements 115001-05-11 string/chresc: \e == \E == escape, \cX == control X, \x{..} == \x.. 115101-05-09 path/pathtemp.c: pathtemp(0,0,0,"/private",0) for mode S_IRUSR|S_IWUSR 1152 port/touch.c: handle utime(2) EPERM to fix bug that truncated 1153 regex: change REG_MINIMAL to avoid negation -- much faster now 115401-05-08 *.h: add some off_t macro guards for suse linux 115501-05-03 regcomp.c: optimize ((x)!)* to ((x)!) 1156 wchar: add <wchar.h> and stdio wchar routines 115701-05-02 feaures/wchar: add <wchar.h> intercept, add stdio wchar functions 115801-05-01 string/strtoi.h: signed strtoi accepts qualified unsigned constants 115901-04-30 comp/setlocale.c: fix code that relied on 2 simultaneous getenv()'s 1160 tm/tmlocale.c: check for UTF-8 encoded LC_TIME files 1161 misc/magic.tab: add utf-8 and utf-16 U+FEFF magic 116201-04-26 features/common: some cc's have _ast_int8_t but not LL constants 116301-04-24 features/lib: add _std_strtod for mac os X 116401-04-23 ccode: add CC_sub for ms embedded EOF char on ebcdic -- no joke 116501-04-20 iconv: handle ebcdic<=>utf 1166 mc.h,mc.c: add mcindex() 1167 ast_std.h: add AST_MESSAGE_SET 116801-04-18 features/libpath.sh: fix mvs probe 1169 *: sundry mvs fixes 1170 glob: fix GLOB_NOCHECK to avoid stat() and properly trim patterns 117101-04-01 strtod,strtold: add 1172 strtol,strtoul,strtoll,strtoull,strton,strtonl: handle locale & ERANGE 1173 sfvprintf,sfvscanf: handle locale decimal_point,thousands_sep 1174 sfvprintf,sfvscanf: handle %a,%A 1175 setlocale: add LC_NUMERIC decimal_point,thousands_sep init 1176 ast_std.h: __OPTIMIZE_SIZE__==1 to disable non-std __GNUC__ inlines 1177 pathexists: path cache to cut down pathpath() access(2) calls 1178 features/stdio: __FILE_TAG == _sfio_s for solaris 117901-03-23 iconv: fix iconv_move buffer boundary bug that stopped at 1 block 118001-03-19 glob: add GLOB_AUGMENTED 1181 regex: REG_SHELL syntax error implies REG_LITERAL match 1182 strto[ln][ll]: add overflow checks 118301-03-17 locale: reimplemented to provide canonical locale namespace 1184 locale: add LC_ALL=local for local system user default 1185 tm.h: TM_*_3 => TM_*_ABBREV 1186 tmfmt: handle standard E and O format modifiers 1187 tmlocale: consult nl_langinfo() if defined 1188 fmtquote("\"",1) => shell quote 118901-03-08 regex: handle multibyte chars and collation classes 1190 strmatch,strgrpmatch: now a wrapper on regex 1191 ast_std.h: add mb*() multibyte and collation support 1192 sfvscanf: handle locale decimal and thousand 1193 proc*,system: handle ignored SIGCHLD 1194 sfkeyprintf: handle %*C 119501-03-06 locale: add locale data cache for efficient multiple locale switching 1196 optget: fix LC_MESSAGES!=C --man bug 119701-03-01 Makefile: HEADEROPT is not optional for win32.* 1198 comp/syslog.h: comply with the de factos 1199 optget(): fix \f...\f stack bug that referenced data after pop 120001-02-27 *locale*: a batch of fixes for native LC_MESSAGE&LC_TIME hooks 120101-02-22 pathprobe: reprobe test now checks probe.ini too 1202 sfio_s.h: advertize public Sfio_t members with _ prefix 1203 sfio.h,features/stdio: add <sfio_s.h> reference 1204 sfhdr.h: map <sfio_s.h> _foo to foo 1205 sfio.h: SF_APPEND=>SF_APPENDWR, SF_CLOSE=>SF_CLOSING 120601-02-14 comp/conf.sh: probe <unistd.h> for _(CS|PC|SC)_* getconf symbols 1207 stdio/*: update for uwin stdio.dll binary compatibility 1208 sfread: finally fixed premature pipe read EOF bug 1209 fmtscale: format tenths for number > 0 && number < 10 121001-02-09 _sfmode(),_sftype(),_Sfextern: UWIN binary stdio compatibility exports 121101-02-08 sfgetm,sfputm,_sfputm: fix max clash with k&r max() macro 1212 setlocale: undef valid for sun4 k&r valid() macro 121301-02-07 catopen.c: don't do native catopen for the debug locale 121401-02-06 sfraise.c: add SF_FINAL check to avoid (posibly) freed disciplines 121501-01-01 features/common: fix uwin __DEFINE__ 1216 sftable: initialize decimal and thousand 1217 magic.tab: add corel wordperfect document 1218 syslog: add LOG_LEVEL, add '\n' only if needed 1219 include/tm.h: #undef daylight for _WIN32 1220 sfio.h: add _SF_APPEND and _SF_CLOSE for native namespace incursion 1221 ast_std.h: add AST_LC_multibyte for MB_CUR_MAX>1 1222 setlocale: set AST_LC_multibyte 1223 strmatch: check AST_LC_multibyte 1224 features/limits.c: add _BITS_POSIX1_LIM_H guard for linux 1225 features/libpath.sh: fix for aix LIBPATH 1226 procopen,procclose: block SIGCHLD if PROC_FOREGROUND (e.g., system(3)) 1227 optget.c: add enumerated option argument values 1228 optget.c: add <!--INTERNAL--> for private --html 1229 optget.c: fix memory leak that hit shell builtins hard 1230 sfio: drop sfread small chunk logic 123100-12-25 mnt.c: handle " and ' quoting for fstab 1232 sftmp.c: let pathtemp() open the fd O_EXCL 123300-12-15 conf.sh: add -v for verbose trace 1234 features/(limits|unistd).c: no FEATURE/types because of _POSIX_SOURCE 1235 features/time: add default for CLOCKS_PER_SEC 1236 features/lib: std_malloc now handles NeXT 123700-12-13 strton: recognize qualifier only if preceded by a digit 1238 features/lib: change return in vfork() test to exit() for linux sparc 1239 fmtquote: fix $'...' quote logic 124000-12-11 tmdate: fix cron format bug that mishandled months 124100-12-01 optget: handle $Id: ... $ in --?-version 1242 features/fcntl.c: fix _STDPP_ mmap munmap 124300-11-27 magic: drop dup sfclose() in load() 1244 optget: handle error_info.id==0 124500-11-22 features/stdio: add _FILEDEFED for sol9.sun4 1246 strton,stronll: handle [u|U][l|L][ll|LL] qualifiers 124700-10-31 tmdate: add TM_DATESTYLE and mmddHHMM[cc]yy 1248 astlicense.c: #include <hashkey.h> MAM workaround 1249 astlicense.c: check for non-empty CONTRIBUTORS 125000-10-26 features/stdio: add _FILE and __FILE for gnu 1251 misc/stk.c: fix stack pointer check off-by-one (dgk does it too!) 125200-10-23 syslog.h: sync with bsd values 125300-10-18 _STUB_* now functions instead of common symbols 1254 all extern data declared with definition to eliminate common symbols 1255 fastfind: add mac/bsd /var/db/locate.database 125600-10-17 features/lib: add apple osX (darwin.ppc) workarounds 125700-10-12 add: fmtbuf(), fmtclock(), fmtip4(), strtoip4() 1258 fmt*() now use fmtbuf() for tmp fmt buf allocation 125900-10-05 regex: add REG_DISCIPLINE and regdisc_t for alloc/error disc 126000-09-29 features/lib: pipe_rw==0 for sgi: boot rw == bin incompatibility 126100-09-21 astlicense: handle \' and \" in license values 126200-09-20 sfwrite: fix write() error in sfprintf() loop 126300-08-11 hdr,vmhdr.h: check/hide { getpagesize sbrk } prototypes 1264 astlicense: add noncommercial 126500-07-31 fflush: don't seek on pipes 1266 sfresize: add 1267 setlocale: fix bad newof() call 126800-06-01 strmatch: initialize match.current.beg[0] to avoid dump at line 670 1269 sfio/stdio: a few more errno tweaks 1270 astquery: sfstdin/sfstderr by default 127100-05-26 sfmode: errno=EBADF for invalid stream use 127200-05-22 rewind: fix for xopen test 127300-05-18 mcfind: returns absolute path 127400-05-16 optget: --keys must catch \f...\f too 1275 translate,mc: errno cleanup 127600-05-09 magic: add netbsd binary magic 1277 fts: PATH_RESOLVE!=logical => FTS_SEEDOTDIR 1278 ftwflags: call fts_flags() 1279 astconf: astconf(0,0,0) re-syncs with _AST_FEATURES 128000-05-08 optget: --usage & --keys for last -catalog group only 128100-05-02 iconv.c: add; use codes[] in ccmapid() and ccmapname(); "" for native 128200-05-01 pathtmp: copy env values (libshell or putenv may change) 128300-04-01 optget: drop bar from [-foo?bar] for --??keys 1284 sfvscanf: add %X -- duh 1285 features/common: fix va_listval() for power pc 1286 findopen: fix FIND_GENERATE codes file search 1287 magic: add ERROR_translate() and msgcat.key 1288 tmlocale: add for LC_TIME locale info 1289 tmlex: check tm_info.format and tm_data.format 1290 tmfix: fix for tm_wday special case (via nl_langinfo on LC_TIME fields) 1291 strftime: fix for nl_langinfo special case 1292 ast_std.h: provide LC_* defauls if not defined 1293 sfnew: check ${_AST_sfio_bufsize} -- don't tell kpv 1294 catopen,nl_types.h: add intercept to mc* routines 1295 magic.tab: add ast message catalog 1296 strerror: add _ast_strerror intercept with ERROR_translate("errno") 1297 fmtquote: escapes >0177 only if (flags&2) 129800-03-17 feof: stdio macro functions only for _UWIN 1299 optget: proper ERROR_translate() calls 1300 astgetconf: add for thread safe error message control 1301 astlicense: fix type=special but with non-null notice 1302 errorx: add for ERROR_translate() support 1303 ERROR_translate: add locale id args for alternate dictionary 1304 option.h: move _OPT_PRIVATE_ to pointer to avoid dll size mismatch 1305 ftwalk: fix FTW_CHILDREN bug that hit top level non-dirs twice 1306 translate.c: default error_info.translate 1307 astconf: fix dup loop thrash that never returns, add _AST_VERSION 130800-03-10 ast_std.h: do _LARGEFILE_SOURCE initialization before std headers 1309 fmtquote: handle $'...' quotes 131000-03-07 optget: fix numeric option support test 1311 sfkeyprintf: add %q for '...' quoting with ansi escapes 131200-03-06 features/stdio: fix _sfflsbuf prototype (dingold@gte.net) 131300-02-14 pathtmp: fix pid cache bug that sometimes repeated after ~10 attempts 1314 optget: "..." attribute quote 1315 pathfind: eliminate *: prefix in lib, not type 1316 proc: PROC_FOREGROUND for system(3) semantics (wait status return) 1317 pathtmp: fix mktemp() logic 1318 fts: fix FTS_NOSEEDOTDIR bug that botched ./* in top list 1319 include/ast/prototyped.h includes include/prototyped.h 1320 pathpath: fix strdup(0) bug 1321 optget: --html <foo@bar> => ...mailto:foo@bar... 1322 sscanf: fix sfsscanf => sfvsscanf typo 1323 magic.tab: strengthen tar recognition 132400-02-08 conf.sh: fix ifdef for systems that think sysconf(FOO) is const 132500-02-04 glob: fix globlist_t.gl_flags 132600-02-02 vm*: add NoF() for data only files 132700-01-27 fts: fix top level .==.. statp bug (thanks to dr. ek) 132800-01-25 conf.tab: fix LFS*_*LAGS typo 132900-01-24 astlicense: handle type=verbose, license.notice, author=* 133000-01-11 pathprobe: generate info for first probe script on PATH - duh 1331 ast.h: add NoF(x) for files that define no functions 1332 tmpfile: fix implementation 1333 global change for string ERROR_translate() dictionary names 1334 optget: fix new way but no long names off by one 1335 optget: handle [--dictionary?name] 133699-11-19 comp/conf.sh: `expr length XXX` is not universal 1337 drop sfstdio; stdio via functions everywhere 1338 drop Makefile conditionals (and follow our own advice for once) 1339 sfio: new stream after atexit() bug fix 1340 tm: Tm_zone_t.daylight=0 for standard time within zone 1341 stdio: fopen => _ast_fopen: only way short of binary compatibility 1342 Makefile: atmain.C falls back to atmain.c 1343 optget: add --keys, s<section> option 1344 stdio: _UWIN check for foreign stdio 134599-11-11 astlicense: add 134699-10-31 glob: fix regexec pattern; add PATH_ATTRIBUTES case check 1347 pathpath: path==0 means malloc space 134899-10-22 tmfmt: %C=2-digit-century, %k=date(1), %y=2-digit-year-in-century 134999-10-18 fastfind: expanded default db lookup 135099-08-11 magic: fix off by one registry malloc 1351 features/fs: add __RENAME checks for stat familiy (netbsd) 1352 features/fs: major()/minor() fixes for s5 1353 features/libpath.sh: netbsd fix -- ld.so not in std places 1354 misc/fastfind: fix codes path generation bug 1355 optget: beef up --?* description, fix <TR>...</TR> nesting 1356 pathprobe: check for override (writable key file) first 1357 features/time: int tmtimeofday(struct timeval*); 1358 optget: fix opt_info.num, even if opt_info.arg!=0 1359 fts: FTS_PHYSICAL => FTS_SEEDOTDIR, add FTS_CHOP 1360 fastfind: init dir tab with logical and physical name 1361 glob: add gnu GLOB_ALTDIRFUNC 136299-07-17 sfio: kpv update and sfhdr.h sync! 136399-06-24 stdio: fix fflush() to ignore sfseek(0) return value 136499-06-23 magic: '\r' is text not control to placate m$ 136599-06-08 stdio: fix fseek,ftell semantics 1366 uwin stdio: fflush() => _doflsh() to avoid __cplusplus clash 1367 getopt: call liberror() to avoid error() conflict 1368 tmfmt,tmscan: %N zone type (nation code), %z zone minutes west offset 1369 tmfmt: - no pad _ space pad 0 leading 0 pad 137099-05-28 magic: fix 'x' == '*' for any number, magic.tab tweaks 1371 features/lib: verify that stat64 really works 137299-05-21 tm*: add TM_WINDOW==69 for consistent century windowing guard year 137399-05-18 tmtime: add century leap year calc anticipating unsigned time_t 137499-05-17 sfkeyprintf: handle %o and %x!! 137599-05-09 pathprobe: $HOME/.probe if not suid and st_uid!=geteuid() 137699-04-28 magic,magic.tab: add registry() 137799-04-24 regcomp: fix ksh pattern +! parse 1378 regfatalpat: add 1379 optget: make : ? ] double escape consistent in all contexts 138099-04-01 features: drop iffeio.h and stdio.h when only printf() used 1381 regex: fix stats() .l and .k count 1382 fmtquote: added; most general fmtesc() form 138399-03-22 fmtesc.c,ast.h: add fmtnesq() 1384 optget: --?x works for -x option flag 138599-03-17 features/limits.c: workaround solaris __EXTENSIONS__ _timespec bug 1386 workaround limits.h circular prereq with ignore stdio.h 1387 sfvprintf: %04e left-pad zero fixed 138899-03-03 fts: uncle already: add FTS_SEEDOTDIR to retain leading ./ 1389 regex: REG_MULTIPLE, BM for fixed string alternation 1390 optget: embedded `-' optional in long options, prefix={0,1,2} 139199-02-14 fastfind: fix dir format bug that emitted wrong paths 1392 astconf: fix redef off by one bug 139399-02-11 pathcanon(): don't cache astconf("PATH_LEADING_SLASHES", NiL, NiL) 139499-01-23 optget: move <old_opt.h> back into <option.h>, no open-close 1395 optget: add "[index:long-name:description]" for --long-name 1396 comp/gross: add weak __libc_attr for irix < 6.5 compatibility 1397 features/limits.c: tweak the guards again 139899-01-11 fastfind: handle old format count byte order 1399 magic.tab: fix elf to use real phdr offset 1400 magic.c,magic.tab: fix | to act like switch/case 1401 comp/fross.c,features/hack: for gross hacks 1402 features/stdio: avoid sfio namespace pollution 140398-12-25 tmdate: yyyy.mm.dd 1404 pathprobe: fix procrun() cmd path bug 1405 fmtesq: add 1406 features/common: win32.alpha va_list 1407 magic: add pc alpha object 140898-11-11 strmatch: add STR_ICASE 1409 pathprobe: punt to $HOME/.probe/<key+HOSTTYPE> if not S_ISUID 1410 tmzone,tmdate: handle +-minutes, nn/MMM/yyyy 1411 stropt: fix nested quote pop 1412 tmfmt: add %K => %Y-%m-%d/%H:%M:%S 1413 sfio/stdio: fix fseek() SF_PUBLIC omissions 1414 fmtesc: catch '\\' (duh) 1415 vmalloc: vmbest round bug fix 141698-11-01 fts.c: no pathcanon() if (fts_flags & FTS_PHYSICAL) 141798-10-01 features/stdio prototype fixes 1418 optget: strton() instead of strtol() for # 141998-09-22 regcomp: add REG_DELIMITED and REG_ESCAPE delimited re support 142098-09-15 fix _LARGEFILE64_SOURCE stuff 1421 ast_std.h: provide mmap() prototype 142298-08-11 fix sfpopen() to ignore SIGPIPE by ignoresig() for sfio but not stdio 1423 fix procopen() to ignore SIGPIPE by ignoresig() for PROC_IGNORE 1424 sfio sfpopen/popen update 1425 magic.src: fix ustar entry 142698-07-17 fix ftwalk() short by one malloc() 1427 add fts_notify() 142898-06-25 sfdcmore,sfdcprefix: add 142998-06-19 tokscan: add %f %g 143098-06-01 disc/sf*.c: memset(0) after disc malloc() 143198-05-11 strelapsed: y==Y 1432 fts: pathcanon() top list 143398-04-01 error: error_info.time for all msgs, just after cmd id 1434 error: no sfsync(sfstdin) 1435 sfio: sfpool, Sffmt_t update 1436 magic.tab: sgi core dumps -- why aren't these elf? 1437 stropt: (v+n) for unknown option is option value if n!=0 1438 procopen: fix setsid() for spawnveg() only 143998-03-19 malloc: add realloc foreign region check 1440 sfdisc.h: rename to match kpv disciplines 1441 fastfind: fix strcasecmp/strcmp directory prefix mixup 144298-03-17 features/fcntl.c,pathtmp,sftmp: add O_TEMPORARY 144398-03-01 pathcanon: fix PATH_LEADING_SLASHES to stat() both slashes 1444 pathcanon: add PATH_VERIFIED 1445 tmdate: add skip[] to expand separator char set 1446 fastfind: FIND_OLD for old 7 bit db, FIND_TYPE for new 8 bit typed db 1447 fastfind: default generates gnu LOCATE02 8 bit db 1448 magic: handle %s in mime description 1449 cdt: kpv update 1450 sfio: kpv update 1451 stdio: fpos64_t fseek64(), ftell64(), fgetpos64(), fsetpos64() 1452 stdio: fseek() => sfseek(SF_PUBLIC) to avoid locking 1453 fts: initialize parent stat[bp] from top level *after* statf done 1454 astmath: add -lm requirement test 1455 *: Astlong_t => _ast_*_t 1456 regex: simplify regcollate() (from doug) 1457 tmtime: preserve Tm_t*tm when calling tminit() 1458 astconf: add readonly PATH_ATTRIBUTES=[cirw] 145998-02-14 fastfind: add FIND_ICASE to ignore case 1460 tmdate,tmgoff: handle (+|-)hh[[:]mm[[:]ss]] absolute timezone 1461 tmdate: `<n> <part>' now assumes `next <n> <part>' instead of `this' 1462 tmfix: fix leap year bug that forgot to add 1900 1463 proc: add PROC_ZOMBIE 146498-02-06 strmatch() char class range bug fix 1465 regex char class range bug fix 146698-01-23 _WIN32: changed the #if logic again to accomodate _GNUC_ 1467 mnt: grab the mount options too 1468 ast_std.h: hide getopt,getsubopt from stdlib.h 1469 features/limits.c: add gnu guard macros to avoid limits.h recursion 1470 features/mode.c: include "limits.h" instead of "FEATURE/limits.lcl" 147198-01-11 sfio.h: use Astlong_t, move Sfio_t Sfdisc_t typedef to top for stdio.h 1472 sfhdr.h: #undef SETLOCAL for hpux 1473 sfvprintf,sfvscanf: %I*x for sizeof(int_arg) 1474 handle ftruncate64 and truncate64 1475 dtopen.c: __hppa dll needs Dtset Dtlist Dttree refs here 147697-12-18 fmtnum: add 147797-12-11 magic: handle sgi 64 bit core dumps 147897-12-07 pathtmp: add override for TMPPATH,TMPDIR and cycling 147997-11-11 tm: handle 0 return from gmtime(),localtime() (dos negative time_t) 1480 features/stdio: fix fflush() macro to do physical sync 148197-10-31 astconf PATH_RESOLVE is logical if 3d&&!std, metaphysical otherwise 1482 magic: fix #! mime bug 1483 tm: tmtime() now calls tmfix() and adjusts tm_isdst too=>mtime() works 148497-10-11 dllfind,dlfcn: move to separate -ldll so -last can link static, duh 1485 Makefile,state.c: move forced header generation state.c => Makefile 1486 sfio: update including SF_WHOLE 148797-10-01 sfdostext: add \r\n => \n sfio discipline 1488 stropt: NiL table => p=name for all name=value 148997-08-11 pathtmp: check pid to note forks 1490 procopen: FD_CLOEXEC rfd && wfd 1491 fts: fts_close() after fts_children() with no fts_read() now works 149297-07-17 error: sfsync(sfstdin,sfstdout,sfstderr) instead of sfsync(NiL) 1493 _sfcvinit: add sfio internal interface to base conversion tables 1494 strton: use _Sfcv* base conversion tables instead of sfsscanf() 1495 sfvscanf: use _Sfcv* base conversion tables 1496 mime: x- permutations now matched if exact fails 1497 mime: original- stripped from content-* headers 1498 tmdate: add yyyy-jjj, yyyy-mm-dd 1499 dllfind: add 1500 ccmapid: fix buf copy loop limit 1501 ccmapname,ccmapcpy: add 1502 sfstrtmp: add 150397-05-09 streval: fix up casts for pseudo-ansi cc 1504 features/types: use _ast_int_8 vars to verify support 1505 string/modedata: check for mvs.390 S_IFMT 1506 include/ast(_std).h: add #define __FILE_typedef 1507 magic: add ccode text check 1508 include/ftwalk.h: FTW_PATH=>FTS_NOCHDIR to avoid FTS_AGAIN (duh) 1509 fts: clear status for FTS_AGAIN (fixes rm -r bug) 1510 mnt: add mvs openedition w_getmntent() 1511 sfhdr: _hdr_float && <float.h> for correct MAXDOUBLE 1512 vmalloc/vmbest: if _std_malloc then use malloc()/free() not sbrk() 1513 remove: check _std_remove 1514 procopen: handle pio[{0,1}]=={0,1} 1515 setenviron,features/uinstd: test for mvs.390 dll environ hacks 151696-12-25 <sfio_p.h> -> <ast_common.h> 1517 __EXTERN__(type,object) 1518 __DEFINE__(type,object,value) 1519 magic: check strings in !CC_NATIVE code set too 1520 system: cmd==0 means check for shell access (xopen) 1521 sfhdr.h: fix sfrsrv prototype 1522 add __libc_malloc etc for gnu/linux 1523 astconf(NiL,path,name) == astconf(name,path,NiL) + no liberror 1524 fts_open: if toplist() stat fails return 0 1525 ftwalk: handle fts_open()==0 via one phony userf() call 1526 sfmode: S_ISFIFO default is SF_SHARE=0 1527 features/lib: _WIN32 _lib_vfork=1 by default 1528 unsigned<0 comparison and other fixes via sgi.mips4 cc 1529 stk.c: use <align.h> ALIGN_BOUND for stkalloc() 1530 features/lib,vfork: uwin fix 1531 ast_std.h: fix strto[u]ll prototypes with features/types _ast_int_8 1532 getsubopt: add for xopen 4.2 compatibility 1533 drop function __IMPORT__ 1534 magic: more magic 1535 change #define FILE from Sfio_t to struct _sfio_s 1536 state.c: add generated includes that may be hit by std for MAM 1537 bytesex: forgot about sizeof(long)=>7; could we fix the name too? 1538 vmalloc.h: fix vmnewof() definition 1539 sfio.h,stdio.h,ast_common.h: pollution cleanup 1540 magic.c: add | op for switch 1541 Makefile: stdio.h was on both HEADERSRC and HEADERGEN -- don't do that 1542 drop pp:notice to get <sfio.h> ... <ast.h> to work 1543 regex: add [[:<:]]==\< and [[:>:]]==\> for bsd compat 1544 mime.c: ignore X-* headers while scanning for Content-* 1545 magic.c: check for negative indirect offsets 1546 magic.tab: fix dos entry that generated negative indirect offsets 1547 vmalloc.h: add vmstrdup() prototype 1548 hash.h: add hashgetbucket() macro 1549 magic.c: MAGIFILE is now a : file list 1550 mnt.c: another 4.4 bsd fix -- users must include <sys/crap.h> 1551 common: fix _WIN32 chicken&egg with va_copy 1552 sfio: forgot to set f->val along with _Sfi in sfexcept() 1553 Makefile: add mini target for uwin libmini.a 1554 sfcvt.c: workaround for flaky long double optimizers 1555 features/common: fix to work with va_list==void* 1556 regexec.c: fix REG_STARTEND subexpression offsets 1557 strmatch.c: don't forget <wctype.h> 1558 regrexec.c: fix REG_INVERT end boundary bug that missed last record 1559 astconf.c: notify(0,0,"a=b") called for each setenviron("a=b") 1560 pathcanon.c: check astconf(PATH_LEADING_SLASHES) to preserve //* 156196-11-28 _LARGEFILE64_SOURCE by default if possible: NOTE: assumes xopen 1562 regerror: fix for xopen 1563 getopt: fix for xopen 1564 magic: add ciao virtual database 1565 astconf: posix/strict/xopen implies "standard" conformance 1566 fs3d.h: hide mount prototype 1567 ast_std.h,mnt.c,features/fs: ncr port tweaks 156896-10-31 version 5.0 1569 add strtoll() strtoull() 1570 sfkeyprintf: upgrade to int_max args 1571 ast.h: add ssizeof() to work around unsigned botch 1572 conf.sh: add shell actions to conf.tab 1573 _DLL*: drop for _BLD_<lib> + __EXPORT__ + __IMPORT__ 1574 sfio,cdt,vmalloc: kpv update 157596-10-11 <ccode.h>: add character code map support 1576 procclose: return shell style exit status 1577 features/fs: pun statvfs.f_basetype to statvfs.f_reserved7 for mvs 1578 uwin: add subdir for uwin additions 1579 ast_std.h: swab() is from <stdlib.h> 1580 sfio.h: <ast_std.h> if _PACKAGE_ast 1581 magic.tab: add mips[1-4], 64-bit 1582 port tweaks for sol.sun4 and sun4 158396-09-06 strerror: add 1584 fmterror: uses strerror 1585 str*search: use sfiso646() order 1586 strpsearch: add 1587 magic: add Magic_t.mime mime type return for magictype() 1588 mime.h: add 1589 strton: use sfsscanf() 1590 strperm: factor in umask() if no who 1591 pathtmp: add TMPPATH check 1592 libevent: add 1593 magic: add discipline to magicopen() 1594 mime: add discipline to mimeopen() 159596-08-31 regex: fix BM fail table generator 159696-08-11 mntread: fix mnt.type for SCO variant 1597 conf.tab: add SCO KERNEL_* sysconf() vars 1598 fastfind: add findwrite(), fix findread() FF_OFF omission 1599 ftwalk: reimplement on top of fts 1600 fnmatch,re_comp,regexp: reimplement on top of regex 1601 basename,dirname,fmtmsg,fts,ftw,getdate,getsubopt,glob: add 1602 hsearch,nftw,realpath,strftime,strptime,swab,tempnam: add 1603 tsearch,wordexp: add 1604 getcwd: cache last path for easy test 160596-07-17 error: sfsync(NiL) ... write ... sfsync(sfstderr) 1606 astconf: handle readonly *(DEV|DIR) vars 160796-04-01 swapop: fix stupid return value bug 1608 features/int.c: fix int_swap generation bug 1609 regnexec,regrexec: fix unsigned underflow init error 1610 ls.h: fix iblocks() to be in units of LS_BLOCKSIZE 161196-02-29 magic: space before function is definition with no call 1612 hash: drop hash_info from public interface 1613 hash: OBSOLETE hashlast() 1614 hash: add Hash_root_t.Hash_last_t to public interface 1615 add strsearch() and strnsearch() to complement strlook() 1616 add hashkey.h for keyword->long hash 1617 pathpath: pathpath(0,0,"",0) disables $0 $_ $PWD relative search 1618 sfio: sfstrtod+sfhdr update 1619 regex: fix REG_LENIENT to map BRE \[+?|] to ERE [+?|] 1620 change _std_malloc iffe test so it doesn't hang on alpha 1621 sfhdr.h: features/sfio generates _lib_cvt instead of _i386_cvt 1622 ast_hdr.h: add va_copy(a,b) to copy va_list b to a 1623 getopt: fix stupid getopt() -> optget() bug 1624 sfvprintf: %h? now downcasts 1625 regex: handle strto?l() errno in regcomp() 1626 sfstrtod: _Sfstrtod_already_defined -> _STUB_sfstrtod 1627 ast_std.h: hide valloc() and ignore <strings.h> 1628 sfkeyprintf: pass phony va_list for '2' 1629 regex: change HIT var type from int to size_t in special() 1630 ast.h: add EXIT_STATUS(x) to convert wait() status to sh exit status 163196-02-14 regex: add _ to \<...\> isalnum test 1632 regex: fix BM inner loop breakout 1633 features/types: size_t is signed on some systems! => _ast_size_t 1634 sfio: sfrd discipline peek optimization 1635 vmalloc: vmalloc.h malloc family macro upgrade 1636 tokopen: fix newline bug for non-restore open 1637 sfio: no inline for gcc until it emits for -g too 163896-02-12 sfio: internal upgrade 163996-02-09 regex: Boyer-Moore boundary fix 1640 vmalloc: snarf latest 164196-02-06 regex: add regrecord() and regrexec() for Boyer-Moore record filtering 1642 regex: rearrange regnexec() args to match buffer,count arg style 164396-01-31 stk: add STK_NULL to stk.h and stk.c 1644 regex: privatize regex.h and fix min re length computation 1645 workaround lazy strdup() implementations in features/lib _std_malloc 1646 fix stkclose() to free(stream) -- purify missed because of sfio links 1647 unused var cleanup 1648 port/mnt.c must include <ls.h> to get <ast_fs.h> 1649 add SF_FINAL to sfio and stk 1650 sfio reads now on natural block boundaries 1651 add #!!! <level> <message> !!! to tokline() 1652 add REX_BM pre-filter to regcomp/regnexec 165396-01-22 add regcomp env.paren overflow checks 165496-01-11 add Doug McIlroy's regex (converted to C from C++ by gsf) 1655 AT&T Research now 1656 sfgetr optimization 1657 regex buglets 165896-01-05 tweak magic.tab for win32 165995-12-25 add !(...) -> (...)! to fmtre() 1660 nt tweaks -- functions with no header proto must be defined extern 166195-11-24 version 4.1 1662 add mnt.h mntopen mntread mntclose 1663 convert fmtfs to mnt.h 1664 add RE_LEFTANCHOR and RE_RIGHTANCHOR 1665 gcc inlines must also have global library function instantiation! 1666 add hashview() 1667 fix strtape() internal buffer flow 1668 fix mntread() fs/dir transposition for uts mnttab 166995-10-31 change features/unistd.c includes to break limits-param cycle 1670 add cdt from kpv 1671 sfio snarf from kpv 1672 add [ht]search for _WIN32 167395-10-11 clarify PARANOID pathcheck() warning 1674 fix procopen() LIB_SPAWN environ bug with setenviron() cache 1675 fix setenviron() bug that forgot to reset environ if == 0 1676 add %Z '\0' output format to sfkeyprintf() 1677 sfio snarf for sfvprintf fix 1678 allow multiple hashscan() with scope caveat 1679 add comp/fakelink.h to synthesize a few symlink text patterns 1680 add !<xxx> magic to misc/magic.tab 1681 add FTW_TOP to inhibit recursion (for ftw side effects on top level) 1682 add memfatal() common malloc fatal exception message 1683 add dos \r\n test to misc/magic.c/cklang() 1684 sftmp() O_EXCL+random to avoid collisions 1685 pathtemp() uses sftmp() randomizing 1686 features/fs uses SF_APPENDWR 1687 sftmp() uses pathtemp() -- don't worry, its not circular 1688 a few more _WIN32 compatibility additions 1689 realloc fixed to use VM_RSCOPY|VM_RSMOVE instead of obsolete 1 1690 add hashlook(tab, oldname, HASH_RENAME, newname) 1691 a few more tweaks to satisfy port warnings 1692 add _SFIO_INLINE_PRIVATE to provide real function too 1693 fix <dirent.h> installation test 1694 oops object / shared library compat with _sfgetl2 _sfgetu2 169595-09-11 add getopt() compatibility 1696 add fstat,lstat,mknod,stat fixes for _x versions in sys/stat.h 1697 add getconf CONFORMANCE - posix for things that aren't ast default 1698 sfio_t.h: #ifndef _SFIO_H #include "sfio.h" #endif 1699 snarf vmalloc from kpv 170095-08-11 fix malloc bug in magic 1701 update linux and bsd 386 magic entries 1702 error_info.auxilliary returns new level, |=ERROR_OUTPUT if msg done 1703 drop fnmatch from strmatch for sparc (solaris) until it collates 170495-07-17 fix port/astconf universe initialization 1705 fix misc/optget opt_info.nopt initialization 1706 drop tmset() TZ=... because it only worked when TZ=... was ignored 170795-05-09 mongo <ast.h> namespace cleanup 1708 drop > 2 year old obsolete interfaces 1709 sfvprintf.c fix for (char:8 short:16 int:32 long:64) architectures 1710 TMP_MAX back into conf.tab 1711 pathbin() and pathshell() now use astconf() 1712 fix pathtemp() to not cache getenv("TMPDIR") 1713 fix ftwalk() metaphysical to handle non-dirs too 1714 initialize *_info = { 0 }; for ancient ld semantics (NeXT) 1715 fix magic() to do vmfree() 1716 astconf(X_OK) must prefix lines with "getconf" 1717 use <wchar.h> and wctype in strmatch() if available 1718 _lib_utime_now checks utime(path,0) 1719 _lib_poll_notimer checks poll(x,0,timeout) 1720 add another _lib_utime_now check to port/touch.c 1721 fix dd_buf cast in dir/opendir.c 1722 split getconf.h into conftab.h and conftab.c for :READONLY: 1723 use mbtowc() only if MB_LEN_MAX>1 1724 sfio char* -> Void_t* cleanup 1725 handle old syntax in misc/magic.c 1726 sigdata.c holds readonly signal strings 1727 pathcheck() does AT&T checks for tools matching PARANOID - yuk 1728 unused var cleanup 1729 deprecate hash_info in favor of hashlast() 1730 fix bad conf.sh ksh integer interactions 1731 dll cleanup 1732 magic.c falls back to malloc for now 1733 add environ to <ast.h> -- C library global data syms are *RESERVED* 1734 sfhdr.h memccpy(1,2,3,size_t) prototype 173595-04-01 version 4.0 1736 convert to vmalloc 1737 allow sigcritical() nesting mismatch to work around vfork() bug 1738 add strexpr() primitive for streval() with user handle (like ftwalk) 1739 add <magic.h> and magic.c file command magic interface 1740 update magic mail message entry 1741 fix keyprintf() invisible char count nesting bug 1742 add sfstrnew(SF_READ|SF_WRITE) for alternate sfstropen() modes 1743 sfstrnew(SF_READ) but reading requires sfseek(), sfreserve() 1744 add conf.tab and conf.sh to nail C/POSIX limits/unistd macros 1745 add getconf() string interface to *conf* 1746 _DLL_INTERMEDIATE_DATA for systems that require indirect globals 1747 _DLL for building shared libraries with _DLL_INTERMEDIATE_DATA 1748 vecfile() restricted to S_ISREG() 1749 add spawnveg() for job control 1750 convert procopen() PROC_PGRP(id) to spawnveg() 1751 fmterror() returns error text given errno (strerror() does same) 1752 fmtsignal() returns signal text given errno (strsignal() does same) 1753 {sig_name,sig_text,SIG_MAX} -> sig_info.{name,text,sigmax} 1754 liberror("",...) omits [%s library] prefix 1755 update features/signal.c table 1756 add vmdisc() and change vmnewof() to use vmresize() 1757 fix conf.sh to allow refs to previously defined limits 1758 fix undefined entries in getconf() 1759 magic data in magic.tab 1760 fix stropt() pointer cast 1761 vmalloc() exception handler replaces nomalloc() 1762 merge sigdata.c into fmtsignal.c -- sun link needs function w/ data! 1763 sftmp() bug fix 1764 drop local <unistd.h> even with _POSIX_SOURCE 1765 fix vmstrdup() macro arg miscount 1766 fix conf.sh to handle enum'd symbolic constants in unistd.h 1767 drop malloc() et.al. prototypes from vmalloc.h 1768 fix sfvprintf() %d argument reference 1769 add OSF/1 AES symbol(s) to conf.tab 1770 determine standards prefix from conf.tab 1771 add _CS_SHELL to conf.tab 1772 getpath() default is confstr(_CS_PATH) 1773 getshell() default is confstr(_CS_SHELL) 1774 unify keyprintf user function args (should have learned by now!) 1775 add quad type to magic 1776 add astfeature() to unify universe style dynamic features 1777 add ftwflags() to determine FTW_* flags from astfeature() 177895-03-11 fix stropt() to not modify its *const* arg 1779 handle "'\ quotes and chresc() in stropt() values 1780 , treated like :space: between stropt() options 1781 fix procopen() fd dup to ignore self-dups 1782 add library id[] to misc/state.c 1783 add ftwalk(FTW_METAPHYSICAL) for posix -H 1784 sfvprintf() now handles balanced () in %() 1785 add tmfmt() with buffer size check to replace tmform() 1786 add fmttime() calling tmfmt() to fit fmt*() mold 1787 add <keyprintf.h> and keyprintf() to support %(...)? in commands 1788 add Hash_table_t for size==0 in stropt() 1789 add EXTTYPE extended header to tar.h 179095-02-14 sfmove() buffer size overflow fix 1791 add _SFSTDIO_H to sfio.h 1792 rename setenv() to setenviron() -- posix finally decided 1793 rename <option.h> opt_* to opt_info.* 1794 update features/unistd.c for _SC_* and _PC_* posix additions 179595-01-19 (char*)uchar cast in fmtesc() 1796 fix hash bucket memory leak in hashlook() [via John Mocenigo] 1797 update strings/strtape() 1798 fix optget()/optjoin() to handle leading + 1799 add ALIGN_ prefix to <align.h> identifiers 180095-01-11 change tm/*.c tmset(0) to tmset(tm_info.zone) to keep user setting 1801 fix tmform() %Z null pointer dereference 180295-01-01 add this RELEASE file 1803 fix strperm() to properly handle "644 file" 1804 fix tokline() to return last '\0' terminated line in string 1805 fix tokscan() to properly handle \\n splice 1806 add fmtesc() to complement stresc() 1807 add LS_NUMBER to fmtls() 1808 drop spurious optusage() ' ' 1809