xref: /onnv-gate/usr/src/lib/libcmd/common/RELEASE (revision 8462:6e341f5569ba)
1*8462SApril.Chin@Sun.COM08-10-15 rm.c: handle 'rm -f x x' => exit 0
2*8462SApril.Chin@Sun.COM08-09-08 stty.c: #ifdef guard TAB[012] -- freebsd: damn the posix, full speed ahead
3*8462SApril.Chin@Sun.COM08-06-17 shcmd.h: move to libast
4*8462SApril.Chin@Sun.COM08-04-24 uniq.c: add optget() 'n' option for -1 => -f1
5*8462SApril.Chin@Sun.COM08-04-24 getconf.c: clarify diffs between "name - value" and "name = value"
6*8462SApril.Chin@Sun.COM08-04-01 cut.c: add write error check
7*8462SApril.Chin@Sun.COM08-04-01 paste.c: fix --noserial stream vector access bug
8*8462SApril.Chin@Sun.COM08-04-01 pids.c: add ls/ps style --format=format
9*8462SApril.Chin@Sun.COM08-04-01 stty.c: fix off2 unitialized reference
10*8462SApril.Chin@Sun.COM08-03-28 chgrp.c: add --before=file
11*8462SApril.Chin@Sun.COM08-03-14 pids.c: add
12*8462SApril.Chin@Sun.COM08-03-11 chgrp.c: fix -m to use uid:gid as lookup key
13*8462SApril.Chin@Sun.COM08-02-11 Makefile: add -lmd possibly required by sumlib.o -- hack alert
14*8462SApril.Chin@Sun.COM08-01-30 expr.c: fix <=0 type that broke substr * 1 * -- wow
15*8462SApril.Chin@Sun.COM07-12-13 cp.c: fix builtin state reinitialization
16*8462SApril.Chin@Sun.COM07-11-29 rev.c: honor multibyte locales
17*8462SApril.Chin@Sun.COM07-11-27 cp.c: open non-existent destination with O_EXCL
18*8462SApril.Chin@Sun.COM07-11-27 stty.c: add -t,--terminal-group to list tty pgrp
19*8462SApril.Chin@Sun.COM07-11-27 cksum.c: --silent -s => -S, -s == -x sys5 for gnu compatibility
20*8462SApril.Chin@Sun.COM07-11-11 tee.c: drop ancient bsd compatibility "-" operand => SIGINT
21*8462SApril.Chin@Sun.COM07-10-29 cksum.c: add SUM_LEGACY for -r
22*8462SApril.Chin@Sun.COM07-10-12 cp.c: plug usage string memory leak by using per-builtin state
23*8462SApril.Chin@Sun.COM07-09-21 cksum.c: add sumprint() default scale arg, --scale, --bsd for solaris
24*8462SApril.Chin@Sun.COM07-09-10 chmod.c: add --show,-n
25*8462SApril.Chin@Sun.COM07-07-27 wclib.c: bias <wchar.h> checks for modern unix
26*8462SApril.Chin@Sun.COM07-07-17 cat.c: fix --squeeze-blank to reduce multiple blank lines to *one*
27*8462SApril.Chin@Sun.COM07-05-20 cmd.h: handle msvc's balk at if(0)0=0;
28*8462SApril.Chin@Sun.COM07-05-20 cksum.c: #include <modex.h>
29*8462SApril.Chin@Sun.COM07-05-11 cmd.h: add _CMD_CONTEXT_OK() to verify >= 20070511 context
30*8462SApril.Chin@Sun.COM07-05-09 fds.c: handle ipv6 sockets
31*8462SApril.Chin@Sun.COM07-05-09 cmd.h: <shbltin.h> : cmdquit() => sh_checksig(context)
32*8462SApril.Chin@Sun.COM07-04-25 mkdir.c: force (S_ISVTX|S_ISUID|S_ISGID) after mkdir(2)
33*8462SApril.Chin@Sun.COM07-04-24 procrun.c: add -last intercept => sh_run() and whence -q
34*8462SApril.Chin@Sun.COM07-04-19 uname.c: name operands first checked for CS_NAME, then NAME
35*8462SApril.Chin@Sun.COM07-03-28 date.c: add --unelapsed=scale, -U: fmtelapsed() => strelapsed()
364887Schin07-03-25 wclib.h: iswspace() requires <wctype.h>!
374887Schin07-03-11 tty.c: add sysV --line-number, -l
384887Schin07-02-26 Makefile: sumlib.o: direct extract from +lsum (vcodex someday)
394887Schin07-02-24 Makefile: tweak cmdext.h action for --mam bootstrap
404887Schin07-02-09 Makefile: { cmdext.h cmdlist.h } depend on *.c list!
414887Schin07-02-09 Makefile: +lsum to bring in static -lsum (no dynamic right now)
424887Schin07-02-07 cksum.c: move from src/cmd/std with ftwalk => fts
434887Schin07-02-07 getconf.c: handle /bin == /usr/bin in defer logic
444887Schin07-01-26 chmod.c: don't FTS_FOLLOW if !FTS_PHYSICAL
454887Schin07-01-23 cut.c: Cut_t variable dimension list[] must be last member
464887Schin07-01-22 uname.c: fix -h typo that clobbered astconf() state -- ouch
474887Schin07-01-02 fmt.c: fix buffer splice off by one bug -- what else
484887Schin06-11-23 cmd.h: because of proto cmdinit cannot be a function like macro
494887Schin06-11-21 cp.c: fix 06-10-31 const dot[] readonly assignment
504887Schin06-11-15 cp.c: fix 06-10-31 ln -s enoent bug
514887Schin06-11-11 getconf.c: let astconf() handle "undefined" vs. ""
524887Schin06-11-11 getconf.c: fix deferred getconf path search
534887Schin06-11-11 fmt.c: handle two char { \t \n } in --usage ouput
544887Schin06-10-31 global edit to eliminate most non-const static data0
554887Schin06-10-31 use <cmd.h> for all b_*() implementations; drop <cmdlib.h>
564887Schin06-10-31 cmd.h: add CMD_ prefix to { BUILTIN DYNAMIC STANDALONE }
574887Schin06-10-31 join.c: tone down /tmp usage vi SFSK_DISCARD
584887Schin06-10-31 cp.c,rm.c: update to <fts.h> to accomodate non-static data
594887Schin06-10-29 date.c: "...%H%..." => "...%H" "%..." to avoid SCCS conflict
604887Schin06-10-26 fds.c: handle sctp
614887Schin06-10-18 tail.c: fix invalid suffix infinite loop
624887Schin06-10-11 chgrp.c,cp.c: add sfstruse() error checks
634887Schin06-10-10 tee.c: add --linebuffer, -l
644887Schin06-10-06 getconf.c: preserve native getconf(1) known variable behavior
654887Schin06-10-04 sync.c: add (thanks to Roland Mainz)
664887Schin06-10-04 getconf.c: add -v specification => run native getconf(1)
674887Schin06-09-28 stty.c: static setmode() => set() for darwin.i386
684887Schin06-09-27 head.c: handle -1c => -c1
694887Schin06-09-19 pathchk.c: pathconf() => astconf()
704887Schin06-09-11 tail.c: handle compatibility corner cases
714887Schin06-09-08 date.c: add output write error diagnostic
724887Schin06-09-04 tail.c: fix initial position for -n0, no args => no -f
734887Schin06-08-28 uniq.c: add -D,--all-repeated
744887Schin06-08-25 wc.c,wclib.c: add -L,--longest-line,WC_LONGEST
754887Schin06-08-24 wc.c,wclib.c: implement -m and WC_MBYTE
764887Schin06-08-24 rmdir.c: -sp applies to every message, add gnu -e
774887Schin06-08-23 rmdir.c: add solaris --suppress, -s
784887Schin06-08-23 mkdir.c: don't add 0300 to -p final dir mode
794887Schin06-07-17 cut.c: handle last line with no newline
804887Schin06-07-17 cut.c: --output-delimiter == --line-delimiter
814887Schin06-06-25 chmod.c: mask -c output with S_IPERM
824887Schin06-05-09 uname.c: add -o; change -a to match linux
834887Schin06-05-03 date.c: add --last -L to list last of multiple time args
844887Schin06-02-14 tail.c: fix -f bug that lost fast stream data
854887Schin06-02-11 getconf.c: exit 1 if name invalid -- duh
864887Schin06-01-28 cp.c,rm.c: fix astquery() 'q' to return and not exit()
874887Schin05-08-11 fmt.c: fix -o to handle raw --usage strings
884887Schin05-05-17 cat.c,head.c: disable EPIPE error messages
894887Schin05-04-14 chgrp.c: -f means all non-syntax error messages
904887Schin05-04-11 fds.c: add from old internal open(1)
914887Schin05-04-09 cmdext.h,cmdlist.h: generate from source -- about time
924887Schin05-03-24 features/symlink: verify { lchmod lchown } implementations
934887Schin05-03-07 date.c: add --listzones to list the time zone table
944887Schin05-02-14 chmod.c: add --reference=file
954887Schin05-01-11 cat.c: restore output stream to binary mode on exit
964887Schin04-12-15 cp.c: add --preserve high resolution time support
974887Schin04-12-08 date.c: add high resolution time support
984887Schin04-12-01 cmp.c: fix %6I*ld => %6I*d -- doh
994887Schin	 fmt.c: handle "\n\n operands \n\n"
1004887Schin	 head.c: handle -cN -nN, N > 4Gb
1014887Schin04-11-22 cmp.c: handle >2G chars/lines
1024887Schin04-11-18 fold.c: add --prepend=text, --append=text
1034887Schin04-10-31 tail.c: use SF_LOCKR macro
1044887Schin04-10-28 tail.c: use strtol() for old stype [+-]number[suffix] -- doh
1054887Schin04-10-22 cp.c: check rename() errno==ENOENT to retain destination
1064887Schin04-10-11 fmt.c: fix -o,--optget sublist bugs
1074887Schin	 tail.c: use strton() for number conversion
1084887Schin04-10-08 pathchk.c: add empty path and -p - first component char
1094887Schin04-10-01 fmt.c: add -o,--optget concatenated usage string format
1104887Schin	 stty.c: context is ERROR_INTERCATIVE
1114887Schin	 rm.c: restore 3d before exit
1124887Schin04-09-24 pathchk.c: fix docs
1134887Schin04-09-14 date.c: add %| and %& --parse docs
1144887Schin04-08-27 cp.c: add FTW_DC check -- duh
1154887Schin04-08-01 fmt.c: handle last char != '\n'
1164887Schin04-07-22 date.c,uname.c: access() => eaccess()
1174887Schin04-07-01 fmt.c: handle large input lines -- ouch
1184887Schin04-06-11 id.c: fix -r to output something!
1194887Schin04-05-27 expr.c: fix `:' op subexpression output
1204887Schin04-04-15 chmod.c: follow symlink for relative mode
1214887Schin04-04-12 Makefile: add STDCHMOD (for osf.alpha)
1224887Schin04-03-19 tail.c: handle -f sfreserve() large chunk failure
1234887Schin04-02-29 cp.c: decouple -f and -i for standard CONFORMANCE
1244887Schin	 cp.c: mv now attempts rename() before remove()+rename()
1254887Schin	 date.c: -f format or +format disables system clock set
1264887Schin04-02-14 cp.c: add -F --fsync to call fsync(2) for each copied file
1274887Schin04-01-05 head.c: -s now uses opt_info.number for >2Gb skip
1284887Schin03-09-18 tail.c: add --log
1294887Schin03-09-11 rm.c: add --unconditional
1304887Schin03-08-11 fold.c: add --delimiter=c to break at c
1314887Schin03-07-28 features/time: change settimeofday() test to 2nd arg of (void*)0
1324887Schin	 expr.c: add {match,substr,index,length,quote}
1334887Schin03-07-15 fmt.c: fix trailing space bug
1344887Schin03-06-20 uname.c: fix -p constant string overwrite
1354887Schin03-06-04 stty.c: add undef to control assignment docs
1364887Schin03-05-31 uname.c: add -f and sysinfo()/confstr() compatibility via astconf()
1374887Schin03-05-27 rm.c: fix inappropriate "/.." append path overflow
1384887Schin	 cut.c: snarf from dgk
1394887Schin03-05-18 rm.c: check st_nlink to verify progress w.r.t. ftwalk/fts
1404887Schin03-05-15 join.c: fix stealth -v2 bug (thanks ahs)
1414887Schin03-05-04 wc.c: drop trailing space for `wc -l < file'
1424887Schin03-03-21 date.c: add %Q/recent/distant/ docs
1434887Schin03-02-19 date.c: fix %+|!flag docs
1444887Schin02-11-14 update for cmdinit() 4th arg and ERROR_NOTIFY for interrupt cleanup
1454887Schin02-10-02 date.c: tmform() => tmfmt()
1464887Schin02-09-30 date.c,uname.c: change execv() calls to procrun(): exec|exit => bad
1474887Schin02-09-06 wclib.c: fix 1 char-at-a-time miscount bug
1484887Schin02-08-19 chgrp.c: convert to use <cdt.h>
1494887Schin02-07-23 join.c: fix comm snarf typo
1504887Schin02-04-05 date.c: add %u
1514887Schin02-01-24 stty.c: ifdef a few more macros for uts (yes, its still running)
1524887Schin01-12-14 date.c: clarify %z doc
1534887Schin01-10-31 mkdir.c: mkdir() on existing dir could fail with errno!=EEXIST
1544887Schin	 uname.c: add execve() loop check for unknown options
1554887Schin01-10-29 tail.c: SF_SHARE on only if not reading through EOF
1564887Schin01-10-11 getconf.c: fix usage typos
1574887Schin01-09-11 cp.c,cmd.h: handle . in argv[0]
1584887Schin	 cp.c: add O_BINARY to all open() calls
1594887Schin01-09-06 tail: input streams must be SF_SHARE -- duh
1604887Schin01-07-16 stty: fix cntl() macro for CC_NATIVE!=CC_ASCII
1614887Schin01-05-31 date: fix /bin/date fallback logic
1624887Schin	 stty: fix a few mismatched flags, -a and -g option logic
1634887Schin	 stty: tone down sane to modify current settings rather than from zero
1644887Schin01-05-01 uname: -i => -h, add sol.sun4 -i, add sgi -R, punt to /usr/bin/uname
1654887Schin01-04-17 date,rm: add
1664887Schin01-03-07 cp: fix readonly string mod on "."
1674887Schin01-01-23 cp: `cp foo' => `cp foo .' only for CONFORMANCE!=standard
1684887Schin00-12-01 cut: multibyte support
1694887Schin00-10-31 mkdir: handle races by checking EEXIST
1704887Schin00-09-20 cp: copy argv to stack before modifying in place
1714887Schin00-05-18 add setlocale(LC_ALL,"")
1724887Schin00-04-30 join: drop wierd opt_info.argv reference
1734887Schin00-03-17 expr: add == operator -- duh
1744887Schin	 cp,ln,mv: delay pathcanon() on destination to verify `cp a b/.'
1754887Schin	 getconf: use astgetconf for proper message control
1764887Schin	 ERROR_translate: dictionary update
1774887Schin00-03-08 tail: handle multiple -f files
1784887Schin00-03-07 fmt: add
1794887Schin00-03-07 dirname: handle PATH_LEADING_SLASHES as documented
1804887Schin	 tail: accept + options
1814887Schin00-02-14 chmod: --ignore-umask to ignore umask(2) in symbolic expressions
1824887Schin	 chmod,chgrp,cp: use FTS_NOSEEDOTDIR for correct path construction
1834887Schin	 cat: fix -n (was ignored, wow)
1844887Schin00-01-27 getconf: add "-a" and "-v spec" for sol7.* compatibility
1854887Schin99-09-09 join: fix -j1 vs. -j 1, add --ignorecase
1864887Schin99-06-22 paste: defualt delim in writable string
1874887Schin99-06-16 cat: fix --dos-ouput typo
1884887Schin99-06-11 cp: tighten chown() diagnostics
1894887Schin99-06-08 expr: nothing for NULL string bug fix
1904887Schin99-05-21 paste: fix missing newline columnize bug
1914887Schin99-05-20 mv: do not check for `mv foo foo' since rename() handles it
1924887Schin99-05-01 cmp,comm,cp/mv/ln,expr,fold,getconf,head: long options
1934887Schin	 join,logname,paste,pathchk,tail,tee: long options
1944887Schin99-04-10 uname: long options, stdize -a
1954887Schin	 chmod,head,tail,rev: long options
1964887Schin	 cut: long options, pass regression test 02
1974887Schin99-04-07 cat: long options, fix O_TEXT modes
1984887Schin99-01-11 tail: fix +n
1994887Schin	 join: another ggs/psm bug
2004887Schin	 join: all 1 and/or 2 to be unseekable
2014887Schin99-01-01 cp: fix -p
2024887Schin	 chmod: drop -l option because of clash with l (lock) mode
2034887Schin98-12-25 cat: add -T to sfopen(,,"rt")
2044887Schin98-11-11 chgrp,chmod: cannot open file stream => not found
2054887Schin	 join: fix another ggs/psm bug; thanks guys
2064887Schin98-10-20 cp: fix cp -rp to update dir times too
2074887Schin98-09-22 join: fix ggs null field bug
2084887Schin98-08-11 join: fix last regression test bug
2094887Schin98-05-29 join: add jp->common to handle boundary conditions
2104887Schin98-03-11 cat,cp,rev,tee: fix sfmove() error checks
2114887Schin98-03-01 join: fix bug that emitted records more than once after eof
2124887Schin	 cp: fix sfmove() error check
2134887Schin98-02-14 cp: -R physical, -[HLP], -r getconf(PATH_RESOLVE)
2144887Schin98-01-11 cp: check sfclose() return value
2154887Schin98-01-07 chown,chgrp,chmod: use fts for -R
2164887Schin	 mkdir: fix -p default mode
2174887Schin97-12-07 mkdir: fix umask() reset
2184887Schin97-11-11 chown,chgrp: proper interpretation of -h,-l for lchown()
2194887Schin	 chown,chgrp: only chown() if uid or gid change
2204887Schin97-10-31 mkdir: do umask right
2214887Schin97-08-11 cmdinit: clear opt_info.index to allow multiple calls
2224887Schin	 cp,ln,mv: add
2234887Schin97-07-17 join: fix a few more -a bugs
2244887Schin97-05-31 expr: optget() only if CONFORMANCE==standard
2254887Schin97-04-01 join: fix a few bugs that make it work!
2264887Schin96-12-25 head: sfset(sfstdin,SF_SHARE,1)
2274887Schin	 Makefile: add -last to cmd lib list
2284887Schin	 drop function __IMPORT__
2294887Schin96-08-11 tail: check for truncated file and rewind for -f
2304887Schin96-04-08 update <cmd.h>
2314887Schin96-02-29 uname: -a like std, -l for everything
2324887Schin	 id: add -a (default)
2334887Schin96-02-14 wc: speed up inner loop newline breakout
2344887Schin96-01-30 unused var cleanup
2354887Schin96-01-01 AT&T Research now
2364887Schin	 pathchk: handle getcwd(0,0) error
2374887Schin	 expr: switch to <regex.h>
2384887Schin95-11-11 add expr.c
2394887Schin	 fix cut exit code and -s optimization
2404887Schin95-10-11 add extern b_* to cmd.h
2414887Schin	 add void* context 3rd arg to b_main()
2424887Schin95-05-09 add getconf
2434887Schin	 cat -u avoids mmap
2444887Schin	 add chown|chgrp -m uid|gid map file
2454887Schin	 add chown|chgrp -P for systems with lchown(2)
2464887Schin	 chown|chgrp -P => lstat() too!
2474887Schin	 chmod|chown|chgrp -HLP
2484887Schin95-04-01 version 1.2
2494887Schin	 add rmdir
2504887Schin95-02-14 fix mkdir -p symlink bug
2514887Schin	 fix mkdir '/' skip bug that went one too far
252