12-06-25 change strcpy() within buffer to strcopy() 12-06-22 sys.tab,utimensat3d.c: add utimensat() 12-05-25 sys.tab: handle missing getdents64 on linux+gcc-4.4 12-05-25 syscall3d.c: tweak _exit() logic (really?) to dumped core on recent solaris 11-12-01 fix fcntl 3rd arg int vs void* 10-06-01 sync with ast api 20100601 10-04-10 mkdir3d.c: fix mkdir() intermediate dir logic 10-01-19 3d.h: increase some path buffer sizes -- these need to be dynamic! 09-05-15 dll_3d.h: handle dllopen => dlopen 08-12-04 fs.c: change open(/dev/fd/NN,...) try open(2) first, then dup(2) 08-06-20 ast_3d.h,ast.c: add libast/misc/setenviron.c 07-03-26 Makefile: drop -L* from IFFEREFS -- handled by .IFFE.REF. 07-03-21 lib_3d.h,error.c: handle error_info => *_error_data_ 06-12-04 3d.h: strmode() bsd conflict tweak 06-11-23 finally get linux to pass regression tests 06-11-21 fchdir3d: let chdir do the work if fd matches cached path 06-09-28 3d.sh: used getconf LIBPATH|LIBPREFIX|LIBSUFFIX -- how novel 06-09-26 3d.h,dir3d.c,dll3d.c: fix strtou*l*l maps for __int64 vs. long long 06-09-18 strmatch.c,touch.c: add private obsolete api copies 06-08-27 mkdir3d.c: foloow mkdir -p mode rules for missing intermediates 05-02-01 3d.sh: IFS may be unset and { ash bsh } don't on startup -- wow 05-01-01 sys.tab,utimets3d.c: add utimets() intercept 04-12-15 pathreal.c: "..." should fail if no lower view -- doh 04-10-01 features/syslib: _exit test now uses SIGKILL (openbsd abort() hangs) 04-07-26 3d.sh: update runtime docs 3d.1: drop in deference to the 3d.sh runtime docs 04-07-20 3d.h: undef _BLD_DEBUG to avoid raw libast symbols 04-07-19 fs.c,lib.c,open3d.c,vcs_3d.h: { O_RDONLY O_WRONLY O_RDWR } are values 04-07-19 dir3d.c: rewinddir643d() must call seekdir643d() (not seekdir64()) 04-07-01 3d.tst: TMP => TWD to match regress(1) 04-06-16 3d.tst: coordinate $TMP with regress(1) 04-06-14 lib.c: fix fs3d() 2d return value 04-06-11 3d.tst: fix test and error counts 04-05-04 open3d.c: create missing lower level dirs for O_CREAT ... file paths 03-08-15 mount3d.c: change 3d intercept test to handle NiL || "" 03-06-11 ast.c: add _map_malloc checks for _ast_malloc => malloc 03-06-05 pathreal.c: fix ancient multiple relative|.. symlink bug 03-06-04 3d.sh: change `shift $OPTIND-1' to `set x "@"; shift $OPTIND' 03-03-28 dir3d.c,rmdir3d.c,syscall3d.c: add D_FILENO and D_TYPE ifdefs 03-03-25 dup3d.c: fix bug that cleared Dir_t pointer just after allocation 03-03-07 ftruncate3d.c,lseek3d.c,truncate3d.c: check _typ_off64_t 02-10-18 features/syscall.sh: handle pseudo files in cc -E line syncs 02-07-17 syscall3d.c: clean up user level intercept code 02-06-25 open3d.c: fix bug that created 0 mode file with only O_RDWR 02-06-14 ast_3d.h,cs.c: move fmttime() macro override to cs.c 02-06-06 dir3d.c: fix rewinddir() bug that did not decrement intercepted count 02-04-01 Makefile,cs.c,cs_3d.h,ast_3d.h: _WIN32 tweaks 01-11-26 pathreal.c: empty path is an error 01-11-16 ftruncate3d.c,truncate3d.c: use lseek3d indirection via sysfunc() 01-10-31 fchdir3d: add along with state.file[].dir to cache open dir paths dir3d.c: add recursive call intercepts error.c: add recursive call intercepts pathreal.c: add buffer size check features/syscall.sh: add bsd syscall __RENAME() checks syscall3d.c: check _lib_syscall before using it! 01-10-30 features/syscall.sh,syscall3d.c: handle -ldl calls back into 3d 01-09-20 3d.sh: drop extra } in USAGE that emitted -} for --? 01-07-17 Makefile: don't link 3d dll against ast dll 01-02-19 close3d: dup reserved fd's higher 01-02-14 add :VARIANT: to build dll's for CC.DLL.VARIANTS 01-01-01 dir_3d.h: real readdir must be struct dirent, not dirent64 00-12-14 3d.sh: fix -c 00-10-31 ast.c add pathtemp.c 00-10-19 init.c: initialize _3d_2d 00-07-17 fix fchown to call MSG_fchown (not MSG_fchown); fixes vim dump! 00-02-14 3d command long options (finally) 99-01-01 --- release 4.0 --- 99-04-01 dll: sfsprintf => _3d_sfsprintf check for __*_nc (osf.alpha) 99-02-14 pathreal: copy to state.path.name if not already there rewinddir3d: just call seekdir(p,0); fixes `top' core dump 99-01-11 lseek3d,syscall3d: add sysfunc() for off_t!=long 99-01-01 --- release 3.0 --- 98-02-14 3d.sh: fix _RLD32_LIST => _RLDN32_LIST typo pathreal: fix (P_LSTAT|P_READLINK) under pwd bug that did phys on . features/syscall.sh: tighten up version __call header grep unlink: trap remove() too features/syscall.sh: favor strong (_ prefix) name for some arch's 98-02-06 syscall3d: handle longjmp with cp->active 98-01-23 features/syscall.sh: check for _xstat vs __xstat 98-01-01 add readdir64 rewinddir64 seekdir64 telldir64 97-10-11 fix lefty's virtual dir touch bug -- recursive doubling on stbuf 97-07-17 CS_INTERFACE=2 97-04-01 features/syscall.sh: fix __exit() test for new sgi 96-12-25 handle stat64() implementations on top of _xstat() 3d.tst must be run under 3d! _SCO_STAT_VER tweaks sgi _RLD_NEXT_PATHNAME fix for -32 -n32 -64 differentiation _*xstat() hacks around proto in *stat3d.c add constant casts for long shift counts fix pathnext() to report version instance level in state.path.level 96-11-28 fix rename() to do physical stat on subject path! 96-02-29 handle syscall loops caused by botched libs like solaris libsocket.so generalize name service interface to handle ifs+vcs catch acl,facl even if not on local sys fix features/syscall.sh bug that set $stdc incorrectly use alloca() in execve() if possible add 3d.tst and test makefile action fix a few important virtual dir / create / append bugs fix null dereference in open3d() for state.in_2d 96-02-14 add NFS acl,facl 96-02-08 fix 2d bug in link,rename,symlink that generated empty arg 1 96-01-30 fix features/syscall.sh for compilers that ignore prototypes 96-01-22 P_TOP only takes effect for files in virtual dir! 95-11-24 optimize exec $shell to eval in 3d.sh 95-11-11 don't fs3d_copy opaqued files 95-10-11 fs3d_mkdir virtual dir fix fix 2d virtual dir test in pathreal() solaris _rename() != weak rename() solaris exit() doesn't call _exit() all static data in state test state.in_2d in link3d() fix opaque.sh that was broken sometime after 91 linux LD_BIND_NOW not needed with ld.so-1.7.9 95-07-17 handle irix-5.3 struct stat64 and off64_t dlsym(__exit) before dlsym(_exit) 95-05-09 fix pathcanon() bug that incremented state.path.level too far on ... percolate inode metadata changes to the top level too (no more EROFS) add P_TOP to truncate() too! feature/syscall.sh does not generate #include, up to *3d.c spawnveg.c must come after spawnve.c in ast.c cspoll.c must come after cs*.c in cs.c fix 3d to work like $SHELL if no shared 3d lib found fix chdir .. symlink bug that set state.pwd to physical path add %n.n.nd to bvprintf ignore a few more non-initialization setcwd() errors 95-01-19 fix undefined var ref for _VER_ hack calls in features/syscall.sh 95-01-11 access W_OK succeeds if on lower view 94-12-01 add /#fs/NAME/load to load shared lib fs add user system call trap() stack VPATH=*::* or VPATH=*:-:* to separate disjoint views change trap() to intercept() 94-07-17 add /#fs/safe 94-06-01 fix symlink() and link() bug that didn't instantiate virtual dir fix [f]statvfs() infinite loop for att hybrids 94-05-11 merge with the real vcs add char*_3d_2d: if _3d_2d!=0&&getenv(_3d_2d)==0 then 2d trailing slash in pathreal() interpreted as slash dot (off/w test=010) 93-05-28 add /#option/limit=n to limit view depth 93-04-01 --- release 2.0 --- 93-03-11 change /dev/3d/* to /#* remove anno and rpl specific hooks add name,monitor,active fs mounts 92-04-01 --- release 1.1 --- 92-02-11 change retained mounts to /dev/3d/dev 92-01-11 add $SHELL and /bin/sh exec() checks to force 3d sh fix checklink() to concatenate relative links with original prefix 91-11-11 --- release 1.0 --- add feature/syscall.sh to handle att s5r4, hp snake, sun 4.1 change umask() 3d state toggle to mount(-,/dev/3d/option/{2d,3d}) fix creat() virtual dir bug for umteenth time link() and rename() now migrate to top instead of EROFS