1*b4dd7d09SAndy Fiddaman12-06-25 getconf.c: don't defer to native getconf if we are it -- doh 2*b4dd7d09SAndy Fiddaman12-06-19 tail.c: be nice and use sh_sigcheck() and tvsleep() to verify interrupts 3*b4dd7d09SAndy Fiddaman12-05-31 cat,head,tee: use errno==EPIPE => ERROR_PIPE(errno) 4*b4dd7d09SAndy Fiddaman12-05-25 vmstate.c: #include <sfdisc.h> for sfkeyprintf() prototype 5*b4dd7d09SAndy Fiddaman12-04-20 chgrp.c,chmod.c,cksum.c,cp.c: default fts_flags()|FTS_META (to disable pure FTS_PHYSICAL) 6*b4dd7d09SAndy Fiddaman12-03-26 cp.c: fix --interactive astquery() logic that ignored no&quit! 7*b4dd7d09SAndy Fiddaman12-02-14 rm.c: --force ignores no file operands specified 8*b4dd7d09SAndy Fiddaman12-01-10 b_* (int, char**, void*) => (int, char**, Shbltin_t*) 9*b4dd7d09SAndy Fiddaman11-08-27 pids.c: add getsid() iffe test 10*b4dd7d09SAndy Fiddaman10-08-16 chmod.c: add -l alias for { -h --symlink } 11*b4dd7d09SAndy Fiddaman11-08-16 chgrp.c: change lchmod() ref to lchown() 12*b4dd7d09SAndy Fiddaman11-05-03 cp.c: do not delete src if mv to dest fails -- doh 13*b4dd7d09SAndy Fiddaman11-03-28 chmod.c,chgrp.c: fix --symlink logic 14*b4dd7d09SAndy Fiddaman11-03-26 rm.c: don't eaccess() check symlinks! 15*b4dd7d09SAndy Fiddaman11-01-27 date: add { -R, --rfc-2822, -T, --rfc-3339=type } 16*b4dd7d09SAndy Fiddaman11-01-03 chgrp.c: --symlink => --physical 17*b4dd7d09SAndy Fiddaman10-12-10 rm.c: fix not-writable logic 18*b4dd7d09SAndy Fiddaman10-12-01 tee.c: add iterrupt logic for slow open(1) -- needs to be generalized 19*b4dd7d09SAndy Fiddaman10-11-30 chgrp.c: add -N,--numeric to bypass name lookup 20*b4dd7d09SAndy Fiddaman10-10-20 cp: add --timestamps (preserv timestamps and permissions) 21*b4dd7d09SAndy Fiddaman10-10-20 ln: fix 'cannot replace existing file' logic 22*b4dd7d09SAndy Fiddaman10-10-10 cp,mv: add --remove-destination 23*b4dd7d09SAndy Fiddaman10-08-11 cp.c,expr.c: use conformance("standard",0) test 24*b4dd7d09SAndy Fiddaman10-08-11 cut.c: use mbnsize() instead of mblen() (for ast C.UTF-8) 25*b4dd7d09SAndy Fiddaman10-07-28 chgrp.c,chmod.c,cksum.c: fts_path for diagnostics, not fts_accpath! 26*b4dd7d09SAndy Fiddaman10-06-14 rm.c: fix -rfu logic 27*b4dd7d09SAndy Fiddaman10-06-12 paste.c: repeat after me: do not modify argv[i] 28*b4dd7d09SAndy Fiddaman10-06-01 sync with ast api 20100601 29*b4dd7d09SAndy Fiddaman10-05-09 tail.c: fix -0f bug that inially listed the entire file 30*b4dd7d09SAndy Fiddaman10-05-06 basename.c: add { -a,--all -s,--suffux=suffix } from BSD 31*b4dd7d09SAndy Fiddaman10-04-12 cat.c: fix -v bug that dumped core and make consistent with cmp --print-chars 32*b4dd7d09SAndy Fiddaman10-04-11 cmp.c: add --print-bytes, --count=n, --differences=n 33*b4dd7d09SAndy Fiddaman10-04-08 vmstate.c: add { method flags } vars for Vmstat_t.mode 34*b4dd7d09SAndy Fiddaman10-04-08 mkdir.c: fix check for { S_ISUID S_ISGID S_ISVTX } after successful mkdir(2) 35*b4dd7d09SAndy Fiddaman10-04-01 stty.c: add --fd=fd option 36*b4dd7d09SAndy Fiddaman10-03-23 tail.c: fix -f large initial offset bug that didn't copy all data 37*b4dd7d09SAndy Fiddaman10-03-07 tail.c: sfsync(sfstdout) after all -f done, fix -f partial line 38*b4dd7d09SAndy Fiddaman10-03-05 mktemp.c: add --regress=seed for testing 39*b4dd7d09SAndy Fiddaman10-03-05 vmstate.c: add 40*b4dd7d09SAndy Fiddaman10-01-26 tail.c: -f sleep(1) only if no progress from last round of checks 41*b4dd7d09SAndy Fiddaman10-01-20 fts_fix.[ch]: use <fts_fix.h> instead of <fts.h> (see fts_fix.c) 42*b4dd7d09SAndy Fiddaman10-01-20 cp.c: free(state) if called from old shell 43*b4dd7d09SAndy Fiddaman09-12-10 join.c: <wctype.h> for iswspace()! 44*b4dd7d09SAndy Fiddaman09-12-04 cmd.h: fix CMD_DYNAMIC logic 45*b4dd7d09SAndy Fiddaman09-12-04 cut.c: handle -d mb 46*b4dd7d09SAndy Fiddaman09-12-03 mkdir.c: add --verbose 47*b4dd7d09SAndy Fiddaman09-11-30 cat.c,date.c,cksum.c: drop setlocale() call already done by optget() 48*b4dd7d09SAndy Fiddaman09-11-30 join.c: handle -t mb 49*b4dd7d09SAndy Fiddaman09-11-28 wclib.c: { -w -L } mb independent of -m 50*b4dd7d09SAndy Fiddaman09-11-28 paste.c: handle -d mb 51*b4dd7d09SAndy Fiddaman09-11-28 uniq.c: handle -s mb 52*b4dd7d09SAndy Fiddaman09-11-28 cksum.c: FTS_SEEDOTDIR by default 53*b4dd7d09SAndy Fiddaman09-09-09 fds.c: add --unit=fd 54*b4dd7d09SAndy Fiddaman09-08-25 tail.c: initialize Tail_t.fifo=0 !! 55*b4dd7d09SAndy Fiddaman09-08-15 tail.c: fix fifo logic 56*b4dd7d09SAndy Fiddaman09-08-11 wc.c: add setlocale(LC_CTYPE,"C") cleanup, add utf8 optimzations 57*b4dd7d09SAndy Fiddaman09-08-10 uniq.c: replace -c 1..9999 sfsprintf() with inline conversion 58*b4dd7d09SAndy Fiddaman09-08-01 join.c: fix empty field null pointer deref 59*b4dd7d09SAndy Fiddaman09-07-23 pathchk.c: add -P,--path and -a,--all 60*b4dd7d09SAndy Fiddaman09-07-02 chgrp.c,chmod.c,cksum.c: fts_flags() default only if not --recursive 61*b4dd7d09SAndy Fiddaman09-06-19 cmd.h,cmdinit.c: add ERROR_CALLBACK for ERROR_NOTIFY main() callback 62*b4dd7d09SAndy Fiddaman09-06-19 mktemp.c: --unsafe now checks and prints path but does create 63*b4dd7d09SAndy Fiddaman09-06-19 tee.c: add ERROR_CALLBACK for tee_cleanup() sfio discipline pop 64*b4dd7d09SAndy Fiddaman09-06-18 rm.c: handle interrupts during interactive query 65*b4dd7d09SAndy Fiddaman09-06-18 cp.c: handle interrupts during interactive query 66*b4dd7d09SAndy Fiddaman09-05-25 tail.c: fix old style option logic to handle --invalid-long-option 67*b4dd7d09SAndy Fiddaman09-05-24 tail.c: -r == +1r 68*b4dd7d09SAndy Fiddaman09-05-01 mktemp.c: handle foo/prefix, add -p dir and -u 69*b4dd7d09SAndy Fiddaman09-03-31 cat.c: handle --no* options 70*b4dd7d09SAndy Fiddaman09-03-15 tail.c: fix --timeout termination logic 71*b4dd7d09SAndy Fiddaman09-03-03 tee.c: clean up sfio disciplines on error 72*b4dd7d09SAndy Fiddaman09-03-03 cat.c: fix -v|-e|-n|-B interaction bugs 73*b4dd7d09SAndy Fiddaman09-02-14 tail.c: fix VSC failures 74*b4dd7d09SAndy Fiddaman09-02-14 join.c: fix VSC failure 75*b4dd7d09SAndy Fiddaman09-02-02 uniq.c: document -number == -fnumber, +number == -snumber 76*b4dd7d09SAndy Fiddaman09-02-02 tail.c: fix usage[] for negative offsets, add sun -b 77*b4dd7d09SAndy Fiddaman09-02-02 mktemp.c: add 78*b4dd7d09SAndy Fiddaman09-02-02 features/utsname: UWIN _UNAME_os_DEFAULT => UWIN 79*b4dd7d09SAndy Fiddaman09-01-31 dirname.c: add experimental { -f -r -x } for pathpath(3) 80*b4dd7d09SAndy Fiddaman09-01-05 cmp.c: fix EOF diagnostic to conform to posix 81*b4dd7d09SAndy Fiddaman09-01-03 mkfifo.c: fix --mode=mode logic 82*b4dd7d09SAndy Fiddaman08-12-07 date.c: add %[_][EO]K for [space pad] [full|long] iso docs 83*b4dd7d09SAndy Fiddaman08-11-10 stty.c: check for -t grouping so -tostop != -t -ostop 84*b4dd7d09SAndy Fiddaman08-10-15 rm.c: handle 'rm -f x x' => exit 0 85*b4dd7d09SAndy Fiddaman08-09-08 stty.c: #ifdef guard TAB[012] -- freebsd: damn the posix, full speed ahead 86*b4dd7d09SAndy Fiddaman08-06-17 shcmd.h: move to libast 87*b4dd7d09SAndy Fiddaman08-04-24 uniq.c: add optget() 'n' option for -1 => -f1 88*b4dd7d09SAndy Fiddaman08-04-24 getconf.c: clarify diffs between "name - value" and "name = value" 89*b4dd7d09SAndy Fiddaman08-04-01 cut.c: add write error check 90*b4dd7d09SAndy Fiddaman08-04-01 paste.c: fix --noserial stream vector access bug 91*b4dd7d09SAndy Fiddaman08-04-01 pids.c: add ls/ps style --format=format 92*b4dd7d09SAndy Fiddaman08-04-01 stty.c: fix off2 unitialized reference 93*b4dd7d09SAndy Fiddaman08-03-28 chgrp.c: add --before=file 94*b4dd7d09SAndy Fiddaman08-03-14 pids.c: add 95*b4dd7d09SAndy Fiddaman08-03-11 chgrp.c: fix -m to use uid:gid as lookup key 96*b4dd7d09SAndy Fiddaman08-02-11 Makefile: add -lmd possibly required by sumlib.o -- hack alert 97*b4dd7d09SAndy Fiddaman08-01-30 expr.c: fix <=0 type that broke substr * 1 * -- wow 98*b4dd7d09SAndy Fiddaman07-12-13 cp.c: fix builtin state reinitialization 99*b4dd7d09SAndy Fiddaman07-11-29 rev.c: honor multibyte locales 100*b4dd7d09SAndy Fiddaman07-11-27 cp.c: open non-existent destination with O_EXCL 101*b4dd7d09SAndy Fiddaman07-11-27 stty.c: add -t,--terminal-group to list tty pgrp 102*b4dd7d09SAndy Fiddaman07-11-27 cksum.c: --silent -s => -S, -s == -x sys5 for gnu compatibility 103*b4dd7d09SAndy Fiddaman07-11-11 tee.c: drop ancient bsd compatibility "-" operand => SIGINT 104*b4dd7d09SAndy Fiddaman07-10-29 cksum.c: add SUM_LEGACY for -r 105*b4dd7d09SAndy Fiddaman07-10-12 cp.c: plug usage string memory leak by using per-builtin state 106*b4dd7d09SAndy Fiddaman07-09-21 cksum.c: add sumprint() default scale arg, --scale, --bsd for solaris 107*b4dd7d09SAndy Fiddaman07-09-10 chmod.c: add --show,-n 108*b4dd7d09SAndy Fiddaman07-07-27 wclib.c: bias <wchar.h> checks for modern unix 109*b4dd7d09SAndy Fiddaman07-07-17 cat.c: fix --squeeze-blank to reduce multiple blank lines to *one* 110*b4dd7d09SAndy Fiddaman07-05-20 cmd.h: handle msvc's balk at if(0)0=0; 111*b4dd7d09SAndy Fiddaman07-05-20 cksum.c: #include <modex.h> 112*b4dd7d09SAndy Fiddaman07-05-11 cmd.h: add _CMD_CONTEXT_OK() to verify >= 20070511 context 113*b4dd7d09SAndy Fiddaman07-05-09 fds.c: handle ipv6 sockets 114*b4dd7d09SAndy Fiddaman07-05-09 cmd.h: <shbltin.h> : cmdquit() => sh_checksig(context) 115*b4dd7d09SAndy Fiddaman07-04-25 mkdir.c: force (S_ISVTX|S_ISUID|S_ISGID) after mkdir(2) 116*b4dd7d09SAndy Fiddaman07-04-24 procrun.c: add -last intercept => sh_run() and whence -q 117*b4dd7d09SAndy Fiddaman07-04-19 uname.c: name operands first checked for CS_NAME, then NAME 118*b4dd7d09SAndy Fiddaman07-03-28 date.c: add --unelapsed=scale, -U: fmtelapsed() => strelapsed() 119*b4dd7d09SAndy Fiddaman07-03-25 wclib.h: iswspace() requires <wctype.h>! 120*b4dd7d09SAndy Fiddaman07-03-11 tty.c: add sysV --line-number, -l 121*b4dd7d09SAndy Fiddaman07-02-26 Makefile: sumlib.o: direct extract from +lsum (vcodex someday) 122*b4dd7d09SAndy Fiddaman07-02-24 Makefile: tweak cmdext.h action for --mam bootstrap 123*b4dd7d09SAndy Fiddaman07-02-09 Makefile: { cmdext.h cmdlist.h } depend on *.c list! 124*b4dd7d09SAndy Fiddaman07-02-09 Makefile: +lsum to bring in static -lsum (no dynamic right now) 125*b4dd7d09SAndy Fiddaman07-02-07 cksum.c: move from src/cmd/std with ftwalk => fts 126*b4dd7d09SAndy Fiddaman07-02-07 getconf.c: handle /bin == /usr/bin in defer logic 127*b4dd7d09SAndy Fiddaman07-01-26 chmod.c: don't FTS_FOLLOW if !FTS_PHYSICAL 128*b4dd7d09SAndy Fiddaman07-01-23 cut.c: Cut_t variable dimension list[] must be last member 129*b4dd7d09SAndy Fiddaman07-01-22 uname.c: fix -h typo that clobbered astconf() state -- ouch 130*b4dd7d09SAndy Fiddaman07-01-02 fmt.c: fix buffer splice off by one bug -- what else 131*b4dd7d09SAndy Fiddaman06-11-23 cmd.h: because of proto cmdinit cannot be a function like macro 132*b4dd7d09SAndy Fiddaman06-11-21 cp.c: fix 06-10-31 const dot[] readonly assignment 133*b4dd7d09SAndy Fiddaman06-11-15 cp.c: fix 06-10-31 ln -s enoent bug 134*b4dd7d09SAndy Fiddaman06-11-11 getconf.c: let astconf() handle "undefined" vs. "" 135*b4dd7d09SAndy Fiddaman06-11-11 getconf.c: fix deferred getconf path search 136*b4dd7d09SAndy Fiddaman06-11-11 fmt.c: handle two char { \t \n } in --usage ouput 137*b4dd7d09SAndy Fiddaman06-10-31 global edit to eliminate most non-const static data0 138*b4dd7d09SAndy Fiddaman06-10-31 use <cmd.h> for all b_*() implementations; drop <cmdlib.h> 139*b4dd7d09SAndy Fiddaman06-10-31 cmd.h: add CMD_ prefix to { BUILTIN DYNAMIC STANDALONE } 140*b4dd7d09SAndy Fiddaman06-10-31 join.c: tone down /tmp usage vi SFSK_DISCARD 141*b4dd7d09SAndy Fiddaman06-10-31 cp.c,rm.c: update to <fts.h> to accomodate non-static data 142*b4dd7d09SAndy Fiddaman06-10-29 date.c: "...%H%..." => "...%H" "%..." to avoid SCCS conflict 143*b4dd7d09SAndy Fiddaman06-10-26 fds.c: handle sctp 144*b4dd7d09SAndy Fiddaman06-10-18 tail.c: fix invalid suffix infinite loop 145*b4dd7d09SAndy Fiddaman06-10-11 chgrp.c,cp.c: add sfstruse() error checks 146*b4dd7d09SAndy Fiddaman06-10-10 tee.c: add --linebuffer, -l 147*b4dd7d09SAndy Fiddaman06-10-06 getconf.c: preserve native getconf(1) known variable behavior 148*b4dd7d09SAndy Fiddaman06-10-04 sync.c: add (thanks to Roland Mainz) 149*b4dd7d09SAndy Fiddaman06-10-04 getconf.c: add -v specification => run native getconf(1) 150*b4dd7d09SAndy Fiddaman06-09-28 stty.c: static setmode() => set() for darwin.i386 151*b4dd7d09SAndy Fiddaman06-09-27 head.c: handle -1c => -c1 152*b4dd7d09SAndy Fiddaman06-09-19 pathchk.c: pathconf() => astconf() 153*b4dd7d09SAndy Fiddaman06-09-11 tail.c: handle compatibility corner cases 154*b4dd7d09SAndy Fiddaman06-09-08 date.c: add output write error diagnostic 155*b4dd7d09SAndy Fiddaman06-09-04 tail.c: fix initial position for -n0, no args => no -f 156*b4dd7d09SAndy Fiddaman06-08-28 uniq.c: add -D,--all-repeated 157*b4dd7d09SAndy Fiddaman06-08-25 wc.c,wclib.c: add -L,--longest-line,WC_LONGEST 158*b4dd7d09SAndy Fiddaman06-08-24 wc.c,wclib.c: implement -m and WC_MBYTE 159*b4dd7d09SAndy Fiddaman06-08-24 rmdir.c: -sp applies to every message, add gnu -e 160*b4dd7d09SAndy Fiddaman06-08-23 rmdir.c: add solaris --suppress, -s 161*b4dd7d09SAndy Fiddaman06-08-23 mkdir.c: don't add 0300 to -p final dir mode 162*b4dd7d09SAndy Fiddaman06-07-17 cut.c: handle last line with no newline 163*b4dd7d09SAndy Fiddaman06-07-17 cut.c: --output-delimiter == --line-delimiter 164*b4dd7d09SAndy Fiddaman06-06-25 chmod.c: mask -c output with S_IPERM 165*b4dd7d09SAndy Fiddaman06-05-09 uname.c: add -o; change -a to match linux 166*b4dd7d09SAndy Fiddaman06-05-03 date.c: add --last -L to list last of multiple time args 167*b4dd7d09SAndy Fiddaman06-02-14 tail.c: fix -f bug that lost fast stream data 168*b4dd7d09SAndy Fiddaman06-02-11 getconf.c: exit 1 if name invalid -- duh 169*b4dd7d09SAndy Fiddaman06-01-28 cp.c,rm.c: fix astquery() 'q' to return and not exit() 170*b4dd7d09SAndy Fiddaman05-08-11 fmt.c: fix -o to handle raw --usage strings 171*b4dd7d09SAndy Fiddaman05-05-17 cat.c,head.c: disable EPIPE error messages 172*b4dd7d09SAndy Fiddaman05-04-14 chgrp.c: -f means all non-syntax error messages 173*b4dd7d09SAndy Fiddaman05-04-11 fds.c: add from old internal open(1) 174*b4dd7d09SAndy Fiddaman05-04-09 cmdext.h,cmdlist.h: generate from source -- about time 175*b4dd7d09SAndy Fiddaman05-03-24 features/symlink: verify { lchmod lchown } implementations 176*b4dd7d09SAndy Fiddaman05-03-07 date.c: add --listzones to list the time zone table 177*b4dd7d09SAndy Fiddaman05-02-14 chmod.c: add --reference=file 178*b4dd7d09SAndy Fiddaman05-01-11 cat.c: restore output stream to binary mode on exit 179*b4dd7d09SAndy Fiddaman04-12-15 cp.c: add --preserve high resolution time support 180*b4dd7d09SAndy Fiddaman04-12-08 date.c: add high resolution time support 181*b4dd7d09SAndy Fiddaman04-12-01 cmp.c: fix %6I*ld => %6I*d -- doh 182*b4dd7d09SAndy Fiddaman fmt.c: handle "\n\n operands \n\n" 183*b4dd7d09SAndy Fiddaman head.c: handle -cN -nN, N > 4Gb 184*b4dd7d09SAndy Fiddaman04-11-22 cmp.c: handle >2G chars/lines 185*b4dd7d09SAndy Fiddaman04-11-18 fold.c: add --prepend=text, --append=text 186*b4dd7d09SAndy Fiddaman04-10-31 tail.c: use SF_LOCKR macro 187*b4dd7d09SAndy Fiddaman04-10-28 tail.c: use strtol() for old stype [+-]number[suffix] -- doh 188*b4dd7d09SAndy Fiddaman04-10-22 cp.c: check rename() errno==ENOENT to retain destination 189*b4dd7d09SAndy Fiddaman04-10-11 fmt.c: fix -o,--optget sublist bugs 190*b4dd7d09SAndy Fiddaman tail.c: use strton() for number conversion 191*b4dd7d09SAndy Fiddaman04-10-08 pathchk.c: add empty path and -p - first component char 192*b4dd7d09SAndy Fiddaman04-10-01 fmt.c: add -o,--optget concatenated usage string format 193*b4dd7d09SAndy Fiddaman stty.c: context is ERROR_INTERCATIVE 194*b4dd7d09SAndy Fiddaman rm.c: restore 3d before exit 195*b4dd7d09SAndy Fiddaman04-09-24 pathchk.c: fix docs 196*b4dd7d09SAndy Fiddaman04-09-14 date.c: add %| and %& --parse docs 197*b4dd7d09SAndy Fiddaman04-08-27 cp.c: add FTW_DC check -- duh 198*b4dd7d09SAndy Fiddaman04-08-01 fmt.c: handle last char != '\n' 199*b4dd7d09SAndy Fiddaman04-07-22 date.c,uname.c: access() => eaccess() 200*b4dd7d09SAndy Fiddaman04-07-01 fmt.c: handle large input lines -- ouch 201*b4dd7d09SAndy Fiddaman04-06-11 id.c: fix -r to output something! 202*b4dd7d09SAndy Fiddaman04-05-27 expr.c: fix `:' op subexpression output 203*b4dd7d09SAndy Fiddaman04-04-15 chmod.c: follow symlink for relative mode 204*b4dd7d09SAndy Fiddaman04-04-12 Makefile: add STDCHMOD (for osf.alpha) 205*b4dd7d09SAndy Fiddaman04-03-19 tail.c: handle -f sfreserve() large chunk failure 206*b4dd7d09SAndy Fiddaman04-02-29 cp.c: decouple -f and -i for standard CONFORMANCE 207*b4dd7d09SAndy Fiddaman cp.c: mv now attempts rename() before remove()+rename() 208*b4dd7d09SAndy Fiddaman date.c: -f format or +format disables system clock set 209*b4dd7d09SAndy Fiddaman04-02-14 cp.c: add -F --fsync to call fsync(2) for each copied file 210*b4dd7d09SAndy Fiddaman04-01-05 head.c: -s now uses opt_info.number for >2Gb skip 211*b4dd7d09SAndy Fiddaman03-09-18 tail.c: add --log 212*b4dd7d09SAndy Fiddaman03-09-11 rm.c: add --unconditional 213*b4dd7d09SAndy Fiddaman03-08-11 fold.c: add --delimiter=c to break at c 214*b4dd7d09SAndy Fiddaman03-07-28 features/time: change settimeofday() test to 2nd arg of (void*)0 215*b4dd7d09SAndy Fiddaman expr.c: add {match,substr,index,length,quote} 216*b4dd7d09SAndy Fiddaman03-07-15 fmt.c: fix trailing space bug 217*b4dd7d09SAndy Fiddaman03-06-20 uname.c: fix -p constant string overwrite 218*b4dd7d09SAndy Fiddaman03-06-04 stty.c: add undef to control assignment docs 219*b4dd7d09SAndy Fiddaman03-05-31 uname.c: add -f and sysinfo()/confstr() compatibility via astconf() 220*b4dd7d09SAndy Fiddaman03-05-27 rm.c: fix inappropriate "/.." append path overflow 221*b4dd7d09SAndy Fiddaman cut.c: snarf from dgk 222*b4dd7d09SAndy Fiddaman03-05-18 rm.c: check st_nlink to verify progress w.r.t. ftwalk/fts 223*b4dd7d09SAndy Fiddaman03-05-15 join.c: fix stealth -v2 bug (thanks ahs) 224*b4dd7d09SAndy Fiddaman03-05-04 wc.c: drop trailing space for `wc -l < file' 225*b4dd7d09SAndy Fiddaman03-03-21 date.c: add %Q/recent/distant/ docs 226*b4dd7d09SAndy Fiddaman03-02-19 date.c: fix %+|!flag docs 227*b4dd7d09SAndy Fiddaman02-11-14 update for cmdinit() 4th arg and ERROR_NOTIFY for interrupt cleanup 228*b4dd7d09SAndy Fiddaman02-10-02 date.c: tmform() => tmfmt() 229*b4dd7d09SAndy Fiddaman02-09-30 date.c,uname.c: change execv() calls to procrun(): exec|exit => bad 230*b4dd7d09SAndy Fiddaman02-09-06 wclib.c: fix 1 char-at-a-time miscount bug 231*b4dd7d09SAndy Fiddaman02-08-19 chgrp.c: convert to use <cdt.h> 232*b4dd7d09SAndy Fiddaman02-07-23 join.c: fix comm snarf typo 233*b4dd7d09SAndy Fiddaman02-04-05 date.c: add %u 234*b4dd7d09SAndy Fiddaman02-01-24 stty.c: ifdef a few more macros for uts (yes, its still running) 235*b4dd7d09SAndy Fiddaman01-12-14 date.c: clarify %z doc 236*b4dd7d09SAndy Fiddaman01-10-31 mkdir.c: mkdir() on existing dir could fail with errno!=EEXIST 237*b4dd7d09SAndy Fiddaman uname.c: add execve() loop check for unknown options 238*b4dd7d09SAndy Fiddaman01-10-29 tail.c: SF_SHARE on only if not reading through EOF 239*b4dd7d09SAndy Fiddaman01-10-11 getconf.c: fix usage typos 240*b4dd7d09SAndy Fiddaman01-09-11 cp.c,cmd.h: handle . in argv[0] 241*b4dd7d09SAndy Fiddaman cp.c: add O_BINARY to all open() calls 242*b4dd7d09SAndy Fiddaman01-09-06 tail: input streams must be SF_SHARE -- duh 243*b4dd7d09SAndy Fiddaman01-07-16 stty: fix cntl() macro for CC_NATIVE!=CC_ASCII 244*b4dd7d09SAndy Fiddaman01-05-31 date: fix /bin/date fallback logic 245*b4dd7d09SAndy Fiddaman stty: fix a few mismatched flags, -a and -g option logic 246*b4dd7d09SAndy Fiddaman stty: tone down sane to modify current settings rather than from zero 247*b4dd7d09SAndy Fiddaman01-05-01 uname: -i => -h, add sol.sun4 -i, add sgi -R, punt to /usr/bin/uname 248*b4dd7d09SAndy Fiddaman01-04-17 date,rm: add 249*b4dd7d09SAndy Fiddaman01-03-07 cp: fix readonly string mod on "." 250*b4dd7d09SAndy Fiddaman01-01-23 cp: `cp foo' => `cp foo .' only for CONFORMANCE!=standard 251*b4dd7d09SAndy Fiddaman00-12-01 cut: multibyte support 252*b4dd7d09SAndy Fiddaman00-10-31 mkdir: handle races by checking EEXIST 253*b4dd7d09SAndy Fiddaman00-09-20 cp: copy argv to stack before modifying in place 254*b4dd7d09SAndy Fiddaman00-05-18 add setlocale(LC_ALL,"") 255*b4dd7d09SAndy Fiddaman00-04-30 join: drop weird opt_info.argv reference 256*b4dd7d09SAndy Fiddaman00-03-17 expr: add == operator -- duh 257*b4dd7d09SAndy Fiddaman cp,ln,mv: delay pathcanon() on destination to verify `cp a b/.' 258*b4dd7d09SAndy Fiddaman getconf: use astgetconf for proper message control 259*b4dd7d09SAndy Fiddaman ERROR_translate: dictionary update 260*b4dd7d09SAndy Fiddaman00-03-08 tail: handle multiple -f files 261*b4dd7d09SAndy Fiddaman00-03-07 fmt: add 262*b4dd7d09SAndy Fiddaman00-03-07 dirname: handle PATH_LEADING_SLASHES as documented 263*b4dd7d09SAndy Fiddaman tail: accept + options 264*b4dd7d09SAndy Fiddaman00-02-14 chmod: --ignore-umask to ignore umask(2) in symbolic expressions 265*b4dd7d09SAndy Fiddaman chmod,chgrp,cp: use FTS_NOSEEDOTDIR for correct path construction 266*b4dd7d09SAndy Fiddaman cat: fix -n (was ignored, wow) 267*b4dd7d09SAndy Fiddaman00-01-27 getconf: add "-a" and "-v spec" for sol7.* compatibility 268*b4dd7d09SAndy Fiddaman99-09-09 join: fix -j1 vs. -j 1, add --ignorecase 269*b4dd7d09SAndy Fiddaman99-06-22 paste: defualt delim in writable string 270*b4dd7d09SAndy Fiddaman99-06-16 cat: fix --dos-ouput typo 271*b4dd7d09SAndy Fiddaman99-06-11 cp: tighten chown() diagnostics 272*b4dd7d09SAndy Fiddaman99-06-08 expr: nothing for NULL string bug fix 273*b4dd7d09SAndy Fiddaman99-05-21 paste: fix missing newline columnize bug 274*b4dd7d09SAndy Fiddaman99-05-20 mv: do not check for `mv foo foo' since rename() handles it 275*b4dd7d09SAndy Fiddaman99-05-01 cmp,comm,cp/mv/ln,expr,fold,getconf,head: long options 276*b4dd7d09SAndy Fiddaman join,logname,paste,pathchk,tail,tee: long options 277*b4dd7d09SAndy Fiddaman99-04-10 uname: long options, stdize -a 278*b4dd7d09SAndy Fiddaman chmod,head,tail,rev: long options 279*b4dd7d09SAndy Fiddaman cut: long options, pass regression test 02 280*b4dd7d09SAndy Fiddaman99-04-07 cat: long options, fix O_TEXT modes 281*b4dd7d09SAndy Fiddaman99-01-11 tail: fix +n 282*b4dd7d09SAndy Fiddaman join: another ggs/psm bug 283*b4dd7d09SAndy Fiddaman join: all 1 and/or 2 to be unseekable 284*b4dd7d09SAndy Fiddaman99-01-01 cp: fix -p 285*b4dd7d09SAndy Fiddaman chmod: drop -l option because of clash with l (lock) mode 286*b4dd7d09SAndy Fiddaman98-12-25 cat: add -T to sfopen(,,"rt") 287*b4dd7d09SAndy Fiddaman98-11-11 chgrp,chmod: cannot open file stream => not found 288*b4dd7d09SAndy Fiddaman join: fix another ggs/psm bug; thanks guys 289*b4dd7d09SAndy Fiddaman98-10-20 cp: fix cp -rp to update dir times too 290*b4dd7d09SAndy Fiddaman98-09-22 join: fix ggs null field bug 291*b4dd7d09SAndy Fiddaman98-08-11 join: fix last regression test bug 292*b4dd7d09SAndy Fiddaman98-05-29 join: add jp->common to handle boundary conditions 293*b4dd7d09SAndy Fiddaman98-03-11 cat,cp,rev,tee: fix sfmove() error checks 294*b4dd7d09SAndy Fiddaman98-03-01 join: fix bug that emitted records more than once after eof 295*b4dd7d09SAndy Fiddaman cp: fix sfmove() error check 296*b4dd7d09SAndy Fiddaman98-02-14 cp: -R physical, -[HLP], -r getconf(PATH_RESOLVE) 297*b4dd7d09SAndy Fiddaman98-01-11 cp: check sfclose() return value 298*b4dd7d09SAndy Fiddaman98-01-07 chown,chgrp,chmod: use fts for -R 299*b4dd7d09SAndy Fiddaman mkdir: fix -p default mode 300*b4dd7d09SAndy Fiddaman97-12-07 mkdir: fix umask() reset 301*b4dd7d09SAndy Fiddaman97-11-11 chown,chgrp: proper interpretation of -h,-l for lchown() 302*b4dd7d09SAndy Fiddaman chown,chgrp: only chown() if uid or gid change 303*b4dd7d09SAndy Fiddaman97-10-31 mkdir: do umask right 304*b4dd7d09SAndy Fiddaman97-08-11 cmdinit: clear opt_info.index to allow multiple calls 305*b4dd7d09SAndy Fiddaman cp,ln,mv: add 306*b4dd7d09SAndy Fiddaman97-07-17 join: fix a few more -a bugs 307*b4dd7d09SAndy Fiddaman97-05-31 expr: optget() only if CONFORMANCE==standard 308*b4dd7d09SAndy Fiddaman97-04-01 join: fix a few bugs that make it work! 309*b4dd7d09SAndy Fiddaman96-12-25 head: sfset(sfstdin,SF_SHARE,1) 310*b4dd7d09SAndy Fiddaman Makefile: add -last to cmd lib list 311*b4dd7d09SAndy Fiddaman drop function __IMPORT__ 312*b4dd7d09SAndy Fiddaman96-08-11 tail: check for truncated file and rewind for -f 313*b4dd7d09SAndy Fiddaman96-04-08 update <cmd.h> 314*b4dd7d09SAndy Fiddaman96-02-29 uname: -a like std, -l for everything 315*b4dd7d09SAndy Fiddaman id: add -a (default) 316*b4dd7d09SAndy Fiddaman96-02-14 wc: speed up inner loop newline breakout 317*b4dd7d09SAndy Fiddaman96-01-30 unused var cleanup 318*b4dd7d09SAndy Fiddaman96-01-01 AT&T Research now 319*b4dd7d09SAndy Fiddaman pathchk: handle getcwd(0,0) error 320*b4dd7d09SAndy Fiddaman expr: switch to <regex.h> 321*b4dd7d09SAndy Fiddaman95-11-11 add expr.c 322*b4dd7d09SAndy Fiddaman fix cut exit code and -s optimization 323*b4dd7d09SAndy Fiddaman95-10-11 add extern b_* to cmd.h 324*b4dd7d09SAndy Fiddaman add void* context 3rd arg to b_main() 325*b4dd7d09SAndy Fiddaman95-05-09 add getconf 326*b4dd7d09SAndy Fiddaman cat -u avoids mmap 327*b4dd7d09SAndy Fiddaman add chown|chgrp -m uid|gid map file 328*b4dd7d09SAndy Fiddaman add chown|chgrp -P for systems with lchown(2) 329*b4dd7d09SAndy Fiddaman chown|chgrp -P => lstat() too! 330*b4dd7d09SAndy Fiddaman chmod|chown|chgrp -HLP 331*b4dd7d09SAndy Fiddaman95-04-01 version 1.2 332*b4dd7d09SAndy Fiddaman add rmdir 333*b4dd7d09SAndy Fiddaman95-02-14 fix mkdir -p symlink bug 334*b4dd7d09SAndy Fiddaman fix mkdir '/' skip bug that went one too far 335