1 Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com)
3 * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
6 Sun Oct 10 14:05:23 1993 Jim Meyering meyering@comco.com
8 * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version.
9 * src/Makefile.in (false, groups, nohup, true): Substitute the string
10 from version.c for @VERSION@ in *.sh.
12 Sat Oct 9 23:12:53 1993 Jim Meyering meyering@comco.com
14 * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
16 Tue Oct 5 22:18:05 1993 Jim Meyering meyering@comco.com
18 * tty.c (main): Detect write error. Use isatty (rather than
19 testing whether ttyname() is NULL) to determine exit status
20 because ttyname may return NULL when stdin is a terminal device.
22 * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a
23 spurious `function returns without a value' warning.
25 * printenv.c (main), tty.c (main): Detect and report write errors.
27 * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c,
28 tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version
31 * long-options.c: New file. To let echo, expr, printf, test, and
32 yes accept --help and --version as unobtrusively as possible.
33 * src/Makefile.in [SORUCES]: Add it.
35 * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN.
37 * nice.c (main) [NICE_PRIORITY]: When given an argument, don't
38 try to get current priority. nice() requires only the delta;
39 we don't need to compute the absolute priority as for setpriority.
41 Mon Oct 04 22:15:07 1993 Jim Meyering (meyering@comco.com)
43 * who.c (print_entry, print_heading, who_am_i):
44 Cast printf field width arguments to int to avoid warnings.
45 (idle_string): Cast idle seconds and minutes to int.
46 Declare functions read_utmp and idle_string to be static.
47 Don't declare ttyname as static.
49 * echo.c (just_echo): Use putchar instead of printf.
51 * expr.c (parse_long_options): New function.
52 (main): Use it to handle --version and --help properly.
54 * tee.c (main): Put entire #ifdef inside if-braces to make structure
56 (main, tee): Compare close() != 0 rather than close () == -1.
58 * pathchk.c (portable_chars_only, dir_ok): Make a couple variables
61 Wed Sep 08 00:07:36 1993 Jim Meyering (meyering@comco.com)
63 * test.c [advance, unary_advance]: Rewrite using do{...}while(0)
64 paradigm instead of comma expressions that make Alpha OSFv1.3
67 * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c:
68 Add --help and --version options.
70 Sat Jul 24 08:52:18 1993 Jim Meyering (meyering@comco.com)
72 * configure.in: Check for -lshadow. Linux needs it when using shadow
73 passwords. Reported by Mattias Olofsson <mattias@lysator.liu.se>.
75 Thu May 27 20:05:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
77 * configure.in (c_line test): Add missing `fi'.
79 Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com)
81 * mkinstalldirs: New file.
82 * Makefile.in (installdirs): Use it.
84 Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com)
86 * Makefile.in (installdirs): New rules for creating installation
87 directories. (install): depend on it.
89 Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com)
91 * configure.in: Add AC_GETGROUPS_T.
92 * id.c, test.c: Don't define GETGROUPS_T. Now configure does it.
94 Sun May 2 00:21:05 1993 Jim Meyering (meyering@comco.com)
96 * expr.c (eval6): Terminate result with a zero byte.
97 The command `expr substr xx 1 2' would fail on systems with
98 tight malloc. From Steve James <smj@cats.COM>.
100 * expr.c (null): Recognize the string `0' as zero.
101 (divide, mod): Upon request to divide by zero, give an error
102 message instead of dumping core.
103 From J.T. Conklin <jtc@wimsey.com>.
105 * configure.in: Check for sys/time.h; getdate.y needs it for
106 structs timeval and timezone on some systems.
107 * Check for gettimeofday and for `struct tm'.
108 * Add existence tests for memcpy and bcopy.
110 * configure.in: Find a parser generator.
112 * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined.
113 Many vendor-supplied <stdlib.h> have a declaration of putenv that
116 Tue Apr 20 02:33:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
118 * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine
119 whether sys/ioctl.h is needed to support `stty size'.
121 Thu Apr 1 18:03:47 1993 Jim Meyering (meyering@comco.com)
123 * printf.c, expr.c [isascii]: Undefine before redefining.
125 Sun Mar 28 00:07:45 1993 Jim Meyering (meyering@comco.com)
127 * stty.c: Accept `flush' option. From Arne H. Juul arnej@lise.unit.no
128 * system.h: Don't define r?index, bcopy... if they're already defined.
130 Thu Mar 25 22:41:01 1993 Jim Meyering (meyering@comco.com)
132 * configure.in: Add AC_IRIX_SUN to get -lsun because
133 Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints.
134 From Kjetil Wiekhorst J|rgensen <jorgens@pvv.unit.no>.
136 Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com)
138 * date.c: Add long-named options.
140 Sun Dec 6 23:17:09 1992 Jim Meyering (meyering@comco.com)
142 * date.c: Remove unused definition of isdigit.
143 * expr.c (toarith): Change single use of isdigit to ISDIGIT.
144 * printf.c (print_formatted, print_esc): Define ISDIGIT and
145 ISXDIGIT and use them instead of isdigit and isxdigit.
147 Wed Dec 2 12:49:11 1992 Jim Meyering (meyering@comco.com)
149 * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c,
150 uname.c, who.c: Convert static declarations of struct option
151 to use new macros from getopt.h: no_argument, required_argument,
152 and optional_argument.
154 Tue Nov 24 09:46:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
156 * echo.c: Use V9_DEFAULT instead of USG. Define it always.
158 * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG.
160 Wed Nov 11 18:19:10 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu)
162 * All files in src: Make all functions and extern variables static.
163 Make all longopts arrays const as well as static.
164 Make a couple statically initialized aggregates `const.'
166 * pathchk.c (portable_chars_only): Cast char used as array index.
168 * echo.c (main), su.c (restricted_shell): Add parentheses to
169 assignment statements used in boolean context.
171 * stty.c (set_mode): Parenthesize expressions with bit operations
172 to correctly set/reset modes bits.
174 Wed Oct 28 14:16:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
178 * stty.c: Accept Irix VRPRNT for VREPRINT.
181 * stty.c: Fix some type mismatches. From Bruce Evans, bde@runx.oz.au.
183 * who.c (read_utmp): Close file on error.
186 * su.c, test.c: Add some decls. From Bruce Evans.
188 * sleep.c (main): Arg to sleep is unsigned, not long.
191 Fri Sep 11 00:25:52 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
193 * echo.c, echo.1: New files.
195 Thu Sep 10 18:42:44 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
197 * pathchk.c (main): Don't strip trailing slashes from args;
198 they might make a path invalid.
199 (portable_chars_only, dir_ok): New functions.
200 (validate_path): Renamed from validate_new_path.
201 Call them. Don't complain if a leading
202 dir doesn't exist. Don't replace `parent' with a dir that
203 doesn't exist. Don't print a message when falling back
204 from pathconf to constant values.
206 * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead
207 of /etc/utmp. From Marc Boucher <marc@cam.org>.
209 Tue Aug 25 17:02:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
213 * groups.sh, nohup.sh: Add $(bindir) to front of path.
215 Mon Aug 24 16:39:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
217 * stty.c: make sane value for "min" 1, not 0.
218 From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible).
220 Sun Aug 23 03:02:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
222 * id.c, test.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun.
224 Sat Aug 22 03:16:41 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
226 * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT
227 ACIS sys/param.h conflict.
229 * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the
230 encrypted correct password from the shadow password file.
232 Fri Jul 17 15:25:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
234 * su.c, getusershell.c: New files.
236 Fri Jul 3 15:08:43 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
238 * stty.c, who.c: Change FOO_MISSING to HAVE_FOO.
240 Fri Jun 5 01:49:29 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
242 * strcspn.c: New file.
244 * expr.c: Misc. cleanups.
246 * expr.c (eval7): Renamed from eval6.
247 Give syntax error if no more args. Don't coerce all values to numbers.
248 (eval6): New function.
249 (eval5): Accept == as a synonym for =.
250 (eval2): Coerce values to numbers for comparisons.
251 Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu).
253 Thu Jun 4 19:32:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
255 * printf.c (print_formatted): Move main loop into new function.
256 (main): Add an outer loop to use the format multiple times.
257 (verify): Don't reject a completely empty string.
258 Check errno (for overflow).
260 * false.sh, true.sh: New programs. Oh, boy.
262 Thu May 14 01:17:22 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
264 * stty.c (set_mode): Support crt and dec modes partially if
265 necessary, so they work on, for example, Ultrix . . . .
267 Wed May 13 14:47:45 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
269 * stty.c (set_mode): Swap nl and -nl. Have them also affect
270 output as well as input.
272 Tue May 12 00:07:28 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
274 * date.c (show_date): Use strftime for the whole conversion.
276 Tue May 5 15:20:24 1992 David J. MacKenzie (djm@hal)
278 * stty.c (wrapf): Print the formatted buffer; don't redo the
279 formatting using vprintf.
281 Thu Apr 30 01:17:08 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
283 * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions.
284 (main, print_direc): Use them. Make error messages more specific.
286 * tee.c (tee): Only malloc and free the table of file descriptors
287 if >0 files are given.
289 Fri Apr 17 11:56:48 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
291 * pathchk.c (validate_new_path): Print the name of the component that
292 failed the length test, not the whole path.
293 From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de).
295 Mon Apr 6 15:11:36 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
297 * who.c (read_utmp): Check close return for error.
298 (print_heading): Align columns based on sizes of utmp members.
299 (who_am_i): Skip past /dev/ instead of skipping leading path.
301 Mon Mar 16 23:47:03 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
303 * date.c (show_date): Don't call strftime if FORMAT is the
306 * date.c (main): Reorganize to reduce duplicated code.
308 (usage): Document -d.
309 (set_date): Function removed.
311 Tue Feb 11 16:12:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
313 * printf.c (print_esc): When a numeric escape is given,
314 don't call print_esc_char, and return 1 less.
317 Mon Jan 20 02:17:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
321 * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11.
323 Fri Jan 17 15:46:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
325 * expr.c (docolon): Use re_nsub to find the number of
326 subexpressions . . . From Karl Berry, who knows.
328 Wed Dec 25 23:27:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
330 * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find
331 out if there were any subexpressions, instead of the old way
332 (re_regs.start[1] >= 0), which can cause random memory
333 accesses with regex 0.1. From Brian Matthews.
335 Tue Dec 24 02:12:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
337 * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to
338 HAVE_UNISTD_H and _POSIX_VERSION.
340 Wed Dec 11 13:15:09 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
344 * expr.c (main): Set obscure_syntax to tell re_match to
345 allocate memory for the group registers.
347 Mon Dec 9 16:03:14 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu)
349 * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV.
351 Sat Dec 7 00:32:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
355 * env, id, nice, pathchk, stty, tee, tty, uname: Change usage
356 messages and documentation to list long-named options starting
357 with `--' rather than `+'.
359 * env.c (main), nice.c (main): Simplify test for which exit
360 status to use if exec fails.
362 Fri Dec 6 23:49:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
364 * tee.c (main) [POSIX]: Use sigaction instead of signal, which
367 Fri Oct 18 00:31:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
369 * test.c (two_arguments): Fix from Chet.
371 * expr.c: Include regex.h after sys/types.h, not before, so
374 * test.c: New version, adapted from bash 1.10.
376 * id.c: GID_T -> GETGROUPS_T, for clarity.
378 Sat Oct 12 14:38:34 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
380 * configure: Define uid_t and gid_t as int if they're not
381 defined in sys/types.h. That's probably right for old Unixes
382 and avoids trying to find the C preprocessor.
384 Sat Sep 28 13:01:23 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
386 * stty.c (set_mode): Make `raw' and `cooked' not change parity
387 and character size, which would probably make them useless on
389 Make `raw' set the `time' character to 0, not 1.
392 * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX.
394 Fri Sep 13 14:59:51 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
396 * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX.
398 Thu Aug 29 14:43:07 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
400 * test.c: Don't include sys/file.h if POSIX.
401 Use gid_t for getgroups.
403 * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them.
404 (display_speed): Fix a printf string type mismatch.
407 Mon Aug 26 16:52:51 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu)
409 * configure, src/Makefile.in, lib/Makefile.in: Only put $< in
410 Makefiles if VPATH is being used, because older makes don't
413 Mon Aug 19 01:57:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
417 Sat Aug 17 22:48:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
419 * src/Makefile.in (install): Install a link to test called '['.
421 Wed Aug 14 12:22:57 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
423 * test.c (unary_operator): Check first char of string, not its address.
425 Sun Aug 11 18:10:30 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
429 * system.h: Define S_IFMT if needed, for test.c.
431 * test.c: New file, from bash.
433 * nice.c: Change +priority to +adjustment (more accurate).
435 Sat Aug 10 13:09:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
437 * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h.
439 * nice.c, configure: Use nice if available and setpriority is missing.
441 Thu Aug 8 01:34:05 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
443 * date.c: USG needs TZ=GMT0 for UCT timezone, also.
445 * stty.c: Add pass8 and litout modes.
447 Sun Aug 4 22:45:51 1991 David J. MacKenzie (djm at wheat-chex)
451 Fri Aug 2 13:22:31 1991 David J. MacKenzie (djm at apple-gunkies)
453 * configure: Implement +srcdir. Don't check for bison.
455 * stty.c: Don't change ixon in "sane" mode.
457 * configure: Use 1 instead of 255 for checking tzname,
458 because of signedness.
460 Thu Aug 1 13:40:58 1991 David J. MacKenzie (djm at apple-gunkies)
462 * printenv.c (main): Don't print the variable names when given
463 args, as people seem to use printenv in scripts after all . . . .
465 * stty.c: Don't change parity or character size settings in
466 "sane" mode. The right values for those depend on the hardware.
468 Wed Jul 31 01:19:01 1991 David J. MacKenzie (djm at hal)
470 * stty.c [_AIX]: Include sys/ioctl.h -- needed on
471 AIX to get window size.
473 Tue Jul 30 00:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
475 * getdate.y: New file.
476 * date.c: Add -s option to set date in English.
477 * configure: Check for ftime.
479 * date.c: Remove COMPUTE_TM_ZONE code, which didn't work.
480 * configure: Instead of checking whether tzname is declared,
481 check whether it exists.
483 * logname.c (main): Go back to just printing an error message
484 if getlogin fails, as required by POSIX.
486 * stty.c (screen_columns, wrapf): New functions to implement
490 * configure: Define uid_t and gid_t if sys/types.h doesn't.
491 * system.h: Define F_OK et al. if nothing else does.
493 Mon Jul 29 21:11:16 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu)
495 * pathchk.c (validate_new_path): Rearrange tests so that
496 pathconf is only called on existing directories. Use access
497 instead of stat to determine directory searchability.
500 * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO.
502 Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
504 * stty.c (sane_mode): Always set control chars to sane values.
505 Set min and time if they're different from eof and eol.
507 * whoami.c: Print UID as unsigned.
508 * logname.c: Do "whoami" if getlogin fails.
510 * logname.c (main): fprintf was missing an arg.
512 Tue Jul 23 02:20:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
514 * id.c: GID_T is int if ultrix as well as if sun.
516 * stty.c: Implement raw and cooked modes.
518 Mon Jul 22 15:21:21 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
520 * tee.c (main): close stdin and stdout to check for errors.
522 * stty.c: Use tcflag_t for termios bitmasks.
523 Use speed_t for speeds. Use unsigned long for baud rates to
524 accomodate large values, and support 57600 and 115200 if available.
526 * date.c, configure: Instead of SIZE_T_MISSING,
527 define size_t if it's missing.
529 * id.c, whoami.c: Use uid_t and gid_t.
531 * id.c: If POSIX and not sun (bogus!), pass getgroups and
532 getugroups an array of gid_t instead of int.
534 * system.h: New file.
535 * Most programs: include it.
537 Fri Jul 19 12:04:58 1991 David J. MacKenzie (djm at apple-gunkies)
539 * env.c [!STDC_HEADERS]: Declare errno.
540 * printf.c, pathchk.c: Don't include errno.h; not needed.
542 * version.c: New file.
543 * All C programs: Link with it, to get version number in the
544 binary where at least `strings -' and grep can find it.
546 * pathchk.c (strip_trailing_slashes): Function removed; use
549 Mon Jul 15 11:34:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
553 * pathchk.c: Always check whether _POSIX_PATH_MAX and
554 _POSIX_NAME_MAX need to be defined.
555 [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path
556 returns -1 (some systems do this if the path does not exist),
557 use pathconf for "/".
559 Sun Jul 14 21:17:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
561 * date.c (date_seconds): Function removed, replaced with
563 (set_date): Change caller.
564 * configure: Check for bison.
566 * stty.c [!C_LINE_MISSING]: Add support for setting and
567 printing the line discipline.
568 * configure: Check for C_LINE_MISSING.
570 * configure: Check for Minix.
572 Sat Jul 13 01:33:59 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
574 * Add `man' directory and manual pages.
575 * configure: Set INSTALLDATA and MAN.
577 * id.c: Add #ifdefs for POSIX ways of getting max groups list size.
578 (print_group_list, print_full_info): Allocate list of groups
579 with malloc since its size might not be constant.
581 * nice.c (main): Don't adjust priority if printing it.
582 Default adjustment of 10, not 0.
584 * printf.c: Add \c escape and %b conversion.
585 Implement '*' for field width and precision.
586 Make all errors fatal.
587 (print_esc_string, print_esc): New functions.
589 * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME.
590 * configure: Always check where to find struct tm.
592 * yes.c: Rewrite to accept multiple arguments.
596 Fri Jul 12 10:57:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
598 * dirname.c: Move code from dirname function into main,
599 simplifying things quite a bit. From Jim Meyering.
600 * Omit strdup from lib; no longer used.
601 * configure: Don't check for strdup.
603 * printenv.c (main): If args given, print the values in the order
604 given on the command line rather than the order given in the
607 * tee.c, tty.c (struct longopts): Revise to make short-option
610 Thu Jul 11 12:46:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
612 * nice.c: Add long options.
614 * Add date command and libraries it needs.
615 * configure: Updated.
617 * env.c: Add long options. Use GNU putenv instead of custom
620 * id.c: Add long options.
622 * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX
625 * nice.c: Use exit status required for nohup by POSIX.2
628 * sleep.c: Don't bother with hex and octal.
630 * env.c: Fix exit status for POSIX.2 draft 11.1.
632 * Many files: Remove private copies of xmalloc, error, xstrdup,
633 etc. to use shared versions.
634 Fix #includes for USG, STDC_HEADERS, POSIX.
636 Mon Jul 8 18:56:24 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
638 * date.c (main): For -u, set TZ to "" instead of "GMT0",
639 unless on HP-UX or Ultrix.
641 * Rename some feature-test macros.
642 * stime.c: Created from code in date.c.
643 * date.c (compute_tm_zone): New function.
644 (date_seconds, show_date): Use it.
645 (xmalloc, xrealloc): Functions removed; use xmalloc.c instead.
647 Tue Jul 2 02:28:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
649 * tee.c (tee): Report errors in closing files.
651 Mon Mar 18 10:13:59 1991 Jeffrey A. Law (law at geech.ai.mit.edu)
653 * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then
654 compute the proper value to place in tm->tm_zone from
655 information returned by localtime and gettimeofday.
657 Fri Apr 26 11:38:09 1991 David J. MacKenzie (djm at mole.gnu.ai.mit.edu)
659 * stty.c: Define default values for control chars if necessary.
660 Complain about invalid options if no other options follow.
661 Use POSIX functions instead of ioctl, for manipulating termios.
663 * expr.c (main): Exit status was backwards.
665 Thu Dec 20 00:36:01 1990 David J. MacKenzie (djm at apple-gunkies)
667 * id.c: Reorganization and many changes to fix bugs and POSIX
670 Mon Dec 10 03:09:13 1990 David J. MacKenzie (djm at apple-gunkies)
672 * stty.c: Don't declare printf and some other functions that
673 might have variable numbers of args in system header file decls.
675 Tue Nov 14 23:37:22 1990 Roland McGrath (roland at geech.ai.mit.edu)
677 * id.c (print_groups): Put spaces after commas.
678 (print_group): New fn, to print a group id. Uses numeric fmt
679 unless -n, in which case it uses group names.
680 (print_groups): Call it. Find the rgid and egid, and print them as
681 well as the supplementary groups. Make sure we print each group only
684 Sun Sep 16 01:49:14 1990 David J. MacKenzie (djm at apple-gunkies)
686 * id.c (main): Add -G option for POSIX.2 draft 10.
687 Allow a username to be given.
688 (print_groups): New function from code in main.
689 (getugroups): New function.
691 Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
693 * env.c (main): Instead of setting _POSIX_OPTION_ORDER,
694 tell getopt to not permute, with `+'.
696 Sat Aug 11 01:32:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
698 * expr.c: Use regex.c library instead of private regex routines.
700 * nice.c (main): Add -n option for POSIX.2a.
701 (usage): New function.
703 Fri Aug 10 23:58:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
705 * who.c: Add -m, -i, -w options for POSIX.2a.
707 Tue Aug 7 00:01:02 1990 David J. MacKenzie (djm at apple-gunkies)
709 * expr.c: Use exit directly instead of longjmp on error.
710 Use argv[0] instead of hardcoded "expr" in messages.
711 Make some functions void.
713 Sat Aug 4 21:19:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
715 * env.c: Change exit statuses for POSIX draft 10.
717 Wed Jul 4 04:32:51 1990 David J. MacKenzie (djm at apple-gunkies)
719 * tee.c: Use error instead of perror_with_name and
722 Wed Jun 20 02:39:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
724 * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to
725 -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS.
726 Declare some more functions. Replace fatal, memory_out, and
727 nonfatal_perror with error.
729 Mon Jun 18 00:16:52 1990 David J. MacKenzie (djm at apple-gunkies)
731 * stty.c: Add some Unix compatibility modes.
733 Sat Jun 16 21:05:59 1990 David J. MacKenzie (djm at apple-gunkies)
735 * stty.c (display_changed, display_all): Print values of min
738 Thu Jun 14 17:49:31 1990 David J. MacKenzie (djm at apple-gunkies)
740 * stty.c: Implement tab, backspace, etc. delay args.
742 Thu May 31 12:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
744 * nohup.sh: Don't ignore SIGTERM.
745 If ./nohup.out is unwritable, try $HOME/nohup.out.
747 Thu May 3 22:33:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
749 * who.c: Use error instead of fatal and fatal_perror.
750 (print_headings): Print headings in all caps, like SYSV does.
751 (list_entries): New function for -q to make it like SYSV -q.
752 (valid_entries): Function removed.
754 Mon Apr 2 01:27:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
756 * id.c (main): Don't strip off leading path from program name.
757 Revise a couple of error messages.
759 * whoami.c (main): Use geteuid, not getuid, for Unix compatibility.
761 Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
763 * tee.c (main): Pass list of files and its size as args to tee
764 rather than as global vars. Exit with return value of tee
766 (tee): Use unbuffered I/O instead of stdio, for POSIX.
767 Return an error status.
768 (xwrite): New function.
770 Tue Mar 13 00:38:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
772 * who.c (who_am_i): Print heading before checking to see
773 whether there is an entry for the tty on stdin, for
774 consistency with the who function.
775 (main): Use argv[optind], not argv[1], as alternate file.
777 Fri Mar 9 15:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
779 * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV
780 utmp.h. Include some additional header files.
781 (main): Recognize some options from SysVr3 who. Call usage.
782 Set new global var `program_name' from argv[0].
783 (usage): New function.
784 (who): If -q given, only print count of users logged on.
785 (print_entry): New function to format an entry on the output;
786 make format more like that of the Unix who programs.
787 (print_heading): New function to print a line describing each
789 (who, who_am_i): Call print_entry and print_heading.
790 (valid_entries): New function to return count of nonempty
792 (search_entries): Compare with utmp tty field instead of
793 username field. Don't assume null termination in utmp field.
794 (who_am_i): Print the entry for the tty on stdin rather than
795 the first entry found for the uid. If hostname is not
796 available, use a null one instead of "<unknown>".
797 Don't hardcode max hostname length.
798 (idle_string): New function to format idle time field.
799 (fatal, fatal_perror): Use program_name instead of hardcoded "who"
802 Tue Mar 6 00:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
804 * printenv.c (main): Allow multiple variables to be specified.
805 (barf): Function removed.
807 Sat Jan 20 18:41:48 1990 Jim Kingdon (kingdon at geech)
809 * expr.c (nextarg): Do not pass *args to strcmp if NULL.
811 Mon Dec 18 09:57:20 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
813 * printenv.c (main): Simplify error messages.
815 Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
817 * expr.c: Indent to regularize spacing.
818 (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)'
820 (docolon): Remove unused vars.
821 (multiply): Rename from times to avoid libc conflict.
822 (error): Include program name in message.
823 (xmalloc): Rename from Malloc.
824 (re_compiled): Rename from re_comp to avoid libc conflict.
826 * basename.c: Fix some weird indentation.
827 (main): Print a clearer usage message.
828 Use a simpler method for removing suffix, if given.
829 (fatal): Function no longer used; removed.
831 * sleep.c: (main): Rename `time' to `seconds'. Print usage
832 message if given no args.
833 Exit with status 0 instead of falling off end.
834 (error): Print to stderr, not stdout.
836 * tee.c: (main): Use getopt_long instead of custom parser,
837 and adjust usage message.
838 Use list of filenames in argv rather than making a copy.
839 (tee): New function created from the second half of main.
840 Fix bug where it tried to fclose a loop index instead of a stream.
841 (xmalloc): Ok to return 0 if 0 bytes requested.
842 (xrealloc): Unused function removed.
844 * whoami.c: Canonicalize usage message and fix error message.
846 * who.c: Declare some functions.
847 (fatal_perror): New function for printing errors after system
849 Global: Use it when appropriate.
850 (xmalloc): Return char *, not int.
851 (read_utmp): Ok if utmp file is empty.
852 Include filename in error messages.
853 (scan_entries): Adjust columns to line up better, particularly
854 when there are users with 8 character long usernames logged in.
856 Sat Oct 28 13:20:43 1989 David J. MacKenzie (djm at spiff)
858 * uname.c: Added long options.
859 global: changed the word `part' to the word `element'
861 (program_name, long_options): New variables.
862 (main): Support long options.
863 (usage): Add long options summary to message.
868 version-control: never