1 Sun Oct 24 14:10:23 1993 Jim Meyering (meyering@comco.com)
3 * long-options.c: Save and restore optind, too.
4 * long-options.h: New file.
5 * long-options.c, echo.c, expr.c, printf.c, test.c, yes.c:
6 Include it instead of duplicating dcls.
7 * src/Makefile.in: Add dependencies for it.
9 Tue Oct 19 00:26:27 1993 Jim Meyering (meyering@comco.com)
11 * expr.c [!__STDC__]: Don't define away `const'. configure alone
12 decides whether to do that. From Francois Pinard.
14 Sat Oct 16 22:32:54 1993 Jim Meyering (meyering@comco.com)
16 * whoami.c (main): Cast printf arg UID so it matches the type
17 expected by %u format no matter how uid_t is defined.
19 * stty.c: Accept `status' option and VDISCARD as an alias for
20 VFLUSHO. From Arne H. Juul (arnej@imf.unit.no).
22 * basename.c, date.c, dirname.c, echo.c, env.c, expr.c,
23 false.sh, groups.sh, id.c, logname.c, long-options.c, nice.c,
24 nohup.sh, pathchk.c, printenv.c, printf.c, sleep.c, stty.c,
25 su.c, tee.c, test.c, true.sh, tty.c, uname.c, who.c, whoami.c,
26 yes.c: Using --help gets long well- formatted help. Now --help
27 writes to stdout and exits successfully. From Francois Pinard
28 <pinard@iro.umontreal.ca>.
30 Wed Oct 13 13:10:27 1993 Jim Meyering (meyering@comco.com)
32 * long-options.c: Include sys/types before system.h.
33 From Franc,ois Pinard (pinard@iro.umontreal.ca).
35 Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com)
37 * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
40 * src/Makefile.in [clean]: Also delete '['.
42 Sun Oct 10 14:05:23 1993 Jim Meyering meyering@comco.com
44 * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version.
45 * src/Makefile.in (false, groups, nohup, true): Substitute the string
46 from version.c for @VERSION@ in *.sh.
48 Sat Oct 9 23:12:53 1993 Jim Meyering meyering@comco.com
50 * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
52 Tue Oct 5 22:18:05 1993 Jim Meyering meyering@comco.com
54 * tty.c (main): Detect write error. Use isatty (rather than
55 testing whether ttyname() is NULL) to determine exit status
56 because ttyname may return NULL when stdin is a terminal device.
58 * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a
59 spurious `function returns without a value' warning.
61 * printenv.c (main), tty.c (main): Detect and report write errors.
63 * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c,
64 tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version
67 * long-options.c: New file. To let echo, expr, printf, test, and
68 yes accept --help and --version as unobtrusively as possible.
69 * src/Makefile.in [SORUCES]: Add it.
71 * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN.
73 * nice.c (main) [NICE_PRIORITY]: When given an argument, don't
74 try to get current priority. nice() requires only the delta;
75 we don't need to compute the absolute priority as for setpriority.
77 Mon Oct 04 22:15:07 1993 Jim Meyering (meyering@comco.com)
79 * who.c (print_entry, print_heading, who_am_i):
80 Cast printf field width arguments to int to avoid warnings.
81 (idle_string): Cast idle seconds and minutes to int.
82 Declare functions read_utmp and idle_string to be static.
83 Don't declare ttyname as static.
85 * echo.c (just_echo): Use putchar instead of printf.
87 * expr.c (parse_long_options): New function.
88 (main): Use it to handle --version and --help properly.
90 * tee.c (main): Put entire #ifdef inside if-braces to make structure
92 (main, tee): Compare close() != 0 rather than close () == -1.
94 * pathchk.c (portable_chars_only, dir_ok): Make a couple variables
97 Wed Sep 08 00:07:36 1993 Jim Meyering (meyering@comco.com)
99 * test.c [advance, unary_advance]: Rewrite using do{...}while(0)
100 paradigm instead of comma expressions that make Alpha OSFv1.3
103 * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c:
104 Add --help and --version options.
106 Sat Jul 24 08:52:18 1993 Jim Meyering (meyering@comco.com)
108 * configure.in: Check for -lshadow. Linux needs it when using shadow
109 passwords. Reported by Mattias Olofsson <mattias@lysator.liu.se>.
111 Thu May 27 20:05:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
113 * configure.in (c_line test): Add missing `fi'.
115 Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com)
117 * mkinstalldirs: New file.
118 * Makefile.in (installdirs): Use it.
120 Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com)
122 * Makefile.in (installdirs): New rules for creating installation
123 directories. (install): depend on it.
125 Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com)
127 * configure.in: Add AC_GETGROUPS_T.
128 * id.c, test.c: Don't define GETGROUPS_T. Now configure does it.
130 Sun May 2 00:21:05 1993 Jim Meyering (meyering@comco.com)
132 * expr.c (eval6): Terminate result with a zero byte.
133 The command `expr substr xx 1 2' would fail on systems with
134 tight malloc. From Steve James <smj@cats.COM>.
136 * expr.c (null): Recognize the string `0' as zero.
137 (divide, mod): Upon request to divide by zero, give an error
138 message instead of dumping core.
139 From J.T. Conklin <jtc@wimsey.com>.
141 * configure.in: Check for sys/time.h; getdate.y needs it for
142 structs timeval and timezone on some systems.
143 * Check for gettimeofday and for `struct tm'.
144 * Add existence tests for memcpy and bcopy.
146 * configure.in: Find a parser generator.
148 * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined.
149 Many vendor-supplied <stdlib.h> have a declaration of putenv that
152 Tue Apr 20 02:33:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
154 * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine
155 whether sys/ioctl.h is needed to support `stty size'.
157 Thu Apr 1 18:03:47 1993 Jim Meyering (meyering@comco.com)
159 * printf.c, expr.c [isascii]: Undefine before redefining.
161 Sun Mar 28 00:07:45 1993 Jim Meyering (meyering@comco.com)
163 * stty.c: Accept `flush' option. From Arne H. Juul arnej@lise.unit.no
164 * system.h: Don't define r?index, bcopy... if they're already defined.
166 Thu Mar 25 22:41:01 1993 Jim Meyering (meyering@comco.com)
168 * configure.in: Add AC_IRIX_SUN to get -lsun because
169 Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints.
170 From Kjetil Wiekhorst J|rgensen <jorgens@pvv.unit.no>.
172 Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com)
174 * date.c: Add long-named options.
176 Sun Dec 6 23:17:09 1992 Jim Meyering (meyering@comco.com)
178 * date.c: Remove unused definition of isdigit.
179 * expr.c (toarith): Change single use of isdigit to ISDIGIT.
180 * printf.c (print_formatted, print_esc): Define ISDIGIT and
181 ISXDIGIT and use them instead of isdigit and isxdigit.
183 Wed Dec 2 12:49:11 1992 Jim Meyering (meyering@comco.com)
185 * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c,
186 uname.c, who.c: Convert static declarations of struct option
187 to use new macros from getopt.h: no_argument, required_argument,
188 and optional_argument.
190 Tue Nov 24 09:46:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
192 * echo.c: Use V9_DEFAULT instead of USG. Define it always.
194 * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG.
196 Wed Nov 11 18:19:10 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu)
198 * All files in src: Make all functions and extern variables static.
199 Make all longopts arrays const as well as static.
200 Make a couple statically initialized aggregates `const.'
202 * pathchk.c (portable_chars_only): Cast char used as array index.
204 * echo.c (main), su.c (restricted_shell): Add parentheses to
205 assignment statements used in boolean context.
207 * stty.c (set_mode): Parenthesize expressions with bit operations
208 to correctly set/reset modes bits.
210 Wed Oct 28 14:16:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
214 * stty.c: Accept Irix VRPRNT for VREPRINT.
217 * stty.c: Fix some type mismatches. From Bruce Evans, bde@runx.oz.au.
219 * who.c (read_utmp): Close file on error.
222 * su.c, test.c: Add some decls. From Bruce Evans.
224 * sleep.c (main): Arg to sleep is unsigned, not long.
227 Fri Sep 11 00:25:52 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
229 * echo.c, echo.1: New files.
231 Thu Sep 10 18:42:44 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
233 * pathchk.c (main): Don't strip trailing slashes from args;
234 they might make a path invalid.
235 (portable_chars_only, dir_ok): New functions.
236 (validate_path): Renamed from validate_new_path.
237 Call them. Don't complain if a leading
238 dir doesn't exist. Don't replace `parent' with a dir that
239 doesn't exist. Don't print a message when falling back
240 from pathconf to constant values.
242 * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead
243 of /etc/utmp. From Marc Boucher <marc@cam.org>.
245 Tue Aug 25 17:02:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
249 * groups.sh, nohup.sh: Add $(bindir) to front of path.
251 Mon Aug 24 16:39:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
253 * stty.c: make sane value for "min" 1, not 0.
254 From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible).
256 Sun Aug 23 03:02:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
258 * id.c, test.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun.
260 Sat Aug 22 03:16:41 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
262 * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT
263 ACIS sys/param.h conflict.
265 * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the
266 encrypted correct password from the shadow password file.
268 Fri Jul 17 15:25:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
270 * su.c, getusershell.c: New files.
272 Fri Jul 3 15:08:43 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
274 * stty.c, who.c: Change FOO_MISSING to HAVE_FOO.
276 Fri Jun 5 01:49:29 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
278 * strcspn.c: New file.
280 * expr.c: Misc. cleanups.
282 * expr.c (eval7): Renamed from eval6.
283 Give syntax error if no more args. Don't coerce all values to numbers.
284 (eval6): New function.
285 (eval5): Accept == as a synonym for =.
286 (eval2): Coerce values to numbers for comparisons.
287 Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu).
289 Thu Jun 4 19:32:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
291 * printf.c (print_formatted): Move main loop into new function.
292 (main): Add an outer loop to use the format multiple times.
293 (verify): Don't reject a completely empty string.
294 Check errno (for overflow).
296 * false.sh, true.sh: New programs. Oh, boy.
298 Thu May 14 01:17:22 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
300 * stty.c (set_mode): Support crt and dec modes partially if
301 necessary, so they work on, for example, Ultrix . . . .
303 Wed May 13 14:47:45 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
305 * stty.c (set_mode): Swap nl and -nl. Have them also affect
306 output as well as input.
308 Tue May 12 00:07:28 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
310 * date.c (show_date): Use strftime for the whole conversion.
312 Tue May 5 15:20:24 1992 David J. MacKenzie (djm@hal)
314 * stty.c (wrapf): Print the formatted buffer; don't redo the
315 formatting using vprintf.
317 Thu Apr 30 01:17:08 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
319 * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions.
320 (main, print_direc): Use them. Make error messages more specific.
322 * tee.c (tee): Only malloc and free the table of file descriptors
323 if >0 files are given.
325 Fri Apr 17 11:56:48 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
327 * pathchk.c (validate_new_path): Print the name of the component that
328 failed the length test, not the whole path.
329 From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de).
331 Mon Apr 6 15:11:36 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
333 * who.c (read_utmp): Check close return for error.
334 (print_heading): Align columns based on sizes of utmp members.
335 (who_am_i): Skip past /dev/ instead of skipping leading path.
337 Mon Mar 16 23:47:03 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
339 * date.c (show_date): Don't call strftime if FORMAT is the
342 * date.c (main): Reorganize to reduce duplicated code.
344 (usage): Document -d.
345 (set_date): Function removed.
347 Tue Feb 11 16:12:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
349 * printf.c (print_esc): When a numeric escape is given,
350 don't call print_esc_char, and return 1 less.
353 Mon Jan 20 02:17:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
357 * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11.
359 Fri Jan 17 15:46:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
361 * expr.c (docolon): Use re_nsub to find the number of
362 subexpressions . . . From Karl Berry, who knows.
364 Wed Dec 25 23:27:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
366 * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find
367 out if there were any subexpressions, instead of the old way
368 (re_regs.start[1] >= 0), which can cause random memory
369 accesses with regex 0.1. From Brian Matthews.
371 Tue Dec 24 02:12:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
373 * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to
374 HAVE_UNISTD_H and _POSIX_VERSION.
376 Wed Dec 11 13:15:09 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
380 * expr.c (main): Set obscure_syntax to tell re_match to
381 allocate memory for the group registers.
383 Mon Dec 9 16:03:14 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu)
385 * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV.
387 Sat Dec 7 00:32:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
391 * env, id, nice, pathchk, stty, tee, tty, uname: Change usage
392 messages and documentation to list long-named options starting
393 with `--' rather than `+'.
395 * env.c (main), nice.c (main): Simplify test for which exit
396 status to use if exec fails.
398 Fri Dec 6 23:49:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
400 * tee.c (main) [POSIX]: Use sigaction instead of signal, which
403 Fri Oct 18 00:31:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
405 * test.c (two_arguments): Fix from Chet.
407 * expr.c: Include regex.h after sys/types.h, not before, so
410 * test.c: New version, adapted from bash 1.10.
412 * id.c: GID_T -> GETGROUPS_T, for clarity.
414 Sat Oct 12 14:38:34 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
416 * configure: Define uid_t and gid_t as int if they're not
417 defined in sys/types.h. That's probably right for old Unixes
418 and avoids trying to find the C preprocessor.
420 Sat Sep 28 13:01:23 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
422 * stty.c (set_mode): Make `raw' and `cooked' not change parity
423 and character size, which would probably make them useless on
425 Make `raw' set the `time' character to 0, not 1.
428 * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX.
430 Fri Sep 13 14:59:51 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
432 * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX.
434 Thu Aug 29 14:43:07 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
436 * test.c: Don't include sys/file.h if POSIX.
437 Use gid_t for getgroups.
439 * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them.
440 (display_speed): Fix a printf string type mismatch.
443 Mon Aug 26 16:52:51 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu)
445 * configure, src/Makefile.in, lib/Makefile.in: Only put $< in
446 Makefiles if VPATH is being used, because older makes don't
449 Mon Aug 19 01:57:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
453 Sat Aug 17 22:48:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
455 * src/Makefile.in (install): Install a link to test called '['.
457 Wed Aug 14 12:22:57 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
459 * test.c (unary_operator): Check first char of string, not its address.
461 Sun Aug 11 18:10:30 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
465 * system.h: Define S_IFMT if needed, for test.c.
467 * test.c: New file, from bash.
469 * nice.c: Change +priority to +adjustment (more accurate).
471 Sat Aug 10 13:09:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
473 * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h.
475 * nice.c, configure: Use nice if available and setpriority is missing.
477 Thu Aug 8 01:34:05 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
479 * date.c: USG needs TZ=GMT0 for UCT timezone, also.
481 * stty.c: Add pass8 and litout modes.
483 Sun Aug 4 22:45:51 1991 David J. MacKenzie (djm at wheat-chex)
487 Fri Aug 2 13:22:31 1991 David J. MacKenzie (djm at apple-gunkies)
489 * configure: Implement +srcdir. Don't check for bison.
491 * stty.c: Don't change ixon in "sane" mode.
493 * configure: Use 1 instead of 255 for checking tzname,
494 because of signedness.
496 Thu Aug 1 13:40:58 1991 David J. MacKenzie (djm at apple-gunkies)
498 * printenv.c (main): Don't print the variable names when given
499 args, as people seem to use printenv in scripts after all . . . .
501 * stty.c: Don't change parity or character size settings in
502 "sane" mode. The right values for those depend on the hardware.
504 Wed Jul 31 01:19:01 1991 David J. MacKenzie (djm at hal)
506 * stty.c [_AIX]: Include sys/ioctl.h -- needed on
507 AIX to get window size.
509 Tue Jul 30 00:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
511 * getdate.y: New file.
512 * date.c: Add -s option to set date in English.
513 * configure: Check for ftime.
515 * date.c: Remove COMPUTE_TM_ZONE code, which didn't work.
516 * configure: Instead of checking whether tzname is declared,
517 check whether it exists.
519 * logname.c (main): Go back to just printing an error message
520 if getlogin fails, as required by POSIX.
522 * stty.c (screen_columns, wrapf): New functions to implement
526 * configure: Define uid_t and gid_t if sys/types.h doesn't.
527 * system.h: Define F_OK et al. if nothing else does.
529 Mon Jul 29 21:11:16 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu)
531 * pathchk.c (validate_new_path): Rearrange tests so that
532 pathconf is only called on existing directories. Use access
533 instead of stat to determine directory searchability.
536 * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO.
538 Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
540 * stty.c (sane_mode): Always set control chars to sane values.
541 Set min and time if they're different from eof and eol.
543 * whoami.c: Print UID as unsigned.
544 * logname.c: Do "whoami" if getlogin fails.
546 * logname.c (main): fprintf was missing an arg.
548 Tue Jul 23 02:20:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
550 * id.c: GID_T is int if ultrix as well as if sun.
552 * stty.c: Implement raw and cooked modes.
554 Mon Jul 22 15:21:21 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
556 * tee.c (main): close stdin and stdout to check for errors.
558 * stty.c: Use tcflag_t for termios bitmasks.
559 Use speed_t for speeds. Use unsigned long for baud rates to
560 accomodate large values, and support 57600 and 115200 if available.
562 * date.c, configure: Instead of SIZE_T_MISSING,
563 define size_t if it's missing.
565 * id.c, whoami.c: Use uid_t and gid_t.
567 * id.c: If POSIX and not sun (bogus!), pass getgroups and
568 getugroups an array of gid_t instead of int.
570 * system.h: New file.
571 * Most programs: include it.
573 Fri Jul 19 12:04:58 1991 David J. MacKenzie (djm at apple-gunkies)
575 * env.c [!STDC_HEADERS]: Declare errno.
576 * printf.c, pathchk.c: Don't include errno.h; not needed.
578 * version.c: New file.
579 * All C programs: Link with it, to get version number in the
580 binary where at least `strings -' and grep can find it.
582 * pathchk.c (strip_trailing_slashes): Function removed; use
585 Mon Jul 15 11:34:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
589 * pathchk.c: Always check whether _POSIX_PATH_MAX and
590 _POSIX_NAME_MAX need to be defined.
591 [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path
592 returns -1 (some systems do this if the path does not exist),
593 use pathconf for "/".
595 Sun Jul 14 21:17:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
597 * date.c (date_seconds): Function removed, replaced with
599 (set_date): Change caller.
600 * configure: Check for bison.
602 * stty.c [!C_LINE_MISSING]: Add support for setting and
603 printing the line discipline.
604 * configure: Check for C_LINE_MISSING.
606 * configure: Check for Minix.
608 Sat Jul 13 01:33:59 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
610 * Add `man' directory and manual pages.
611 * configure: Set INSTALLDATA and MAN.
613 * id.c: Add #ifdefs for POSIX ways of getting max groups list size.
614 (print_group_list, print_full_info): Allocate list of groups
615 with malloc since its size might not be constant.
617 * nice.c (main): Don't adjust priority if printing it.
618 Default adjustment of 10, not 0.
620 * printf.c: Add \c escape and %b conversion.
621 Implement '*' for field width and precision.
622 Make all errors fatal.
623 (print_esc_string, print_esc): New functions.
625 * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME.
626 * configure: Always check where to find struct tm.
628 * yes.c: Rewrite to accept multiple arguments.
632 Fri Jul 12 10:57:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
634 * dirname.c: Move code from dirname function into main,
635 simplifying things quite a bit. From Jim Meyering.
636 * Omit strdup from lib; no longer used.
637 * configure: Don't check for strdup.
639 * printenv.c (main): If args given, print the values in the order
640 given on the command line rather than the order given in the
643 * tee.c, tty.c (struct longopts): Revise to make short-option
646 Thu Jul 11 12:46:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
648 * nice.c: Add long options.
650 * Add date command and libraries it needs.
651 * configure: Updated.
653 * env.c: Add long options. Use GNU putenv instead of custom
656 * id.c: Add long options.
658 * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX
661 * nice.c: Use exit status required for nohup by POSIX.2
664 * sleep.c: Don't bother with hex and octal.
666 * env.c: Fix exit status for POSIX.2 draft 11.1.
668 * Many files: Remove private copies of xmalloc, error, xstrdup,
669 etc. to use shared versions.
670 Fix #includes for USG, STDC_HEADERS, POSIX.
672 Mon Jul 8 18:56:24 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
674 * date.c (main): For -u, set TZ to "" instead of "GMT0",
675 unless on HP-UX or Ultrix.
677 * Rename some feature-test macros.
678 * stime.c: Created from code in date.c.
679 * date.c (compute_tm_zone): New function.
680 (date_seconds, show_date): Use it.
681 (xmalloc, xrealloc): Functions removed; use xmalloc.c instead.
683 Tue Jul 2 02:28:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
685 * tee.c (tee): Report errors in closing files.
687 Mon Mar 18 10:13:59 1991 Jeffrey A. Law (law at geech.ai.mit.edu)
689 * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then
690 compute the proper value to place in tm->tm_zone from
691 information returned by localtime and gettimeofday.
693 Fri Apr 26 11:38:09 1991 David J. MacKenzie (djm at mole.gnu.ai.mit.edu)
695 * stty.c: Define default values for control chars if necessary.
696 Complain about invalid options if no other options follow.
697 Use POSIX functions instead of ioctl, for manipulating termios.
699 * expr.c (main): Exit status was backwards.
701 Thu Dec 20 00:36:01 1990 David J. MacKenzie (djm at apple-gunkies)
703 * id.c: Reorganization and many changes to fix bugs and POSIX
706 Mon Dec 10 03:09:13 1990 David J. MacKenzie (djm at apple-gunkies)
708 * stty.c: Don't declare printf and some other functions that
709 might have variable numbers of args in system header file decls.
711 Tue Nov 14 23:37:22 1990 Roland McGrath (roland at geech.ai.mit.edu)
713 * id.c (print_groups): Put spaces after commas.
714 (print_group): New fn, to print a group id. Uses numeric fmt
715 unless -n, in which case it uses group names.
716 (print_groups): Call it. Find the rgid and egid, and print them as
717 well as the supplementary groups. Make sure we print each group only
720 Sun Sep 16 01:49:14 1990 David J. MacKenzie (djm at apple-gunkies)
722 * id.c (main): Add -G option for POSIX.2 draft 10.
723 Allow a username to be given.
724 (print_groups): New function from code in main.
725 (getugroups): New function.
727 Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
729 * env.c (main): Instead of setting _POSIX_OPTION_ORDER,
730 tell getopt to not permute, with `+'.
732 Sat Aug 11 01:32:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
734 * expr.c: Use regex.c library instead of private regex routines.
736 * nice.c (main): Add -n option for POSIX.2a.
737 (usage): New function.
739 Fri Aug 10 23:58:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
741 * who.c: Add -m, -i, -w options for POSIX.2a.
743 Tue Aug 7 00:01:02 1990 David J. MacKenzie (djm at apple-gunkies)
745 * expr.c: Use exit directly instead of longjmp on error.
746 Use argv[0] instead of hardcoded "expr" in messages.
747 Make some functions void.
749 Sat Aug 4 21:19:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
751 * env.c: Change exit statuses for POSIX draft 10.
753 Wed Jul 4 04:32:51 1990 David J. MacKenzie (djm at apple-gunkies)
755 * tee.c: Use error instead of perror_with_name and
758 Wed Jun 20 02:39:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
760 * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to
761 -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS.
762 Declare some more functions. Replace fatal, memory_out, and
763 nonfatal_perror with error.
765 Mon Jun 18 00:16:52 1990 David J. MacKenzie (djm at apple-gunkies)
767 * stty.c: Add some Unix compatibility modes.
769 Sat Jun 16 21:05:59 1990 David J. MacKenzie (djm at apple-gunkies)
771 * stty.c (display_changed, display_all): Print values of min
774 Thu Jun 14 17:49:31 1990 David J. MacKenzie (djm at apple-gunkies)
776 * stty.c: Implement tab, backspace, etc. delay args.
778 Thu May 31 12:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
780 * nohup.sh: Don't ignore SIGTERM.
781 If ./nohup.out is unwritable, try $HOME/nohup.out.
783 Thu May 3 22:33:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
785 * who.c: Use error instead of fatal and fatal_perror.
786 (print_headings): Print headings in all caps, like SYSV does.
787 (list_entries): New function for -q to make it like SYSV -q.
788 (valid_entries): Function removed.
790 Mon Apr 2 01:27:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
792 * id.c (main): Don't strip off leading path from program name.
793 Revise a couple of error messages.
795 * whoami.c (main): Use geteuid, not getuid, for Unix compatibility.
797 Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
799 * tee.c (main): Pass list of files and its size as args to tee
800 rather than as global vars. Exit with return value of tee
802 (tee): Use unbuffered I/O instead of stdio, for POSIX.
803 Return an error status.
804 (xwrite): New function.
806 Tue Mar 13 00:38:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
808 * who.c (who_am_i): Print heading before checking to see
809 whether there is an entry for the tty on stdin, for
810 consistency with the who function.
811 (main): Use argv[optind], not argv[1], as alternate file.
813 Fri Mar 9 15:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
815 * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV
816 utmp.h. Include some additional header files.
817 (main): Recognize some options from SysVr3 who. Call usage.
818 Set new global var `program_name' from argv[0].
819 (usage): New function.
820 (who): If -q given, only print count of users logged on.
821 (print_entry): New function to format an entry on the output;
822 make format more like that of the Unix who programs.
823 (print_heading): New function to print a line describing each
825 (who, who_am_i): Call print_entry and print_heading.
826 (valid_entries): New function to return count of nonempty
828 (search_entries): Compare with utmp tty field instead of
829 username field. Don't assume null termination in utmp field.
830 (who_am_i): Print the entry for the tty on stdin rather than
831 the first entry found for the uid. If hostname is not
832 available, use a null one instead of "<unknown>".
833 Don't hardcode max hostname length.
834 (idle_string): New function to format idle time field.
835 (fatal, fatal_perror): Use program_name instead of hardcoded "who"
838 Tue Mar 6 00:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
840 * printenv.c (main): Allow multiple variables to be specified.
841 (barf): Function removed.
843 Sat Jan 20 18:41:48 1990 Jim Kingdon (kingdon at geech)
845 * expr.c (nextarg): Do not pass *args to strcmp if NULL.
847 Mon Dec 18 09:57:20 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
849 * printenv.c (main): Simplify error messages.
851 Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
853 * expr.c: Indent to regularize spacing.
854 (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)'
856 (docolon): Remove unused vars.
857 (multiply): Rename from times to avoid libc conflict.
858 (error): Include program name in message.
859 (xmalloc): Rename from Malloc.
860 (re_compiled): Rename from re_comp to avoid libc conflict.
862 * basename.c: Fix some weird indentation.
863 (main): Print a clearer usage message.
864 Use a simpler method for removing suffix, if given.
865 (fatal): Function no longer used; removed.
867 * sleep.c: (main): Rename `time' to `seconds'. Print usage
868 message if given no args.
869 Exit with status 0 instead of falling off end.
870 (error): Print to stderr, not stdout.
872 * tee.c: (main): Use getopt_long instead of custom parser,
873 and adjust usage message.
874 Use list of filenames in argv rather than making a copy.
875 (tee): New function created from the second half of main.
876 Fix bug where it tried to fclose a loop index instead of a stream.
877 (xmalloc): Ok to return 0 if 0 bytes requested.
878 (xrealloc): Unused function removed.
880 * whoami.c: Canonicalize usage message and fix error message.
882 * who.c: Declare some functions.
883 (fatal_perror): New function for printing errors after system
885 Global: Use it when appropriate.
886 (xmalloc): Return char *, not int.
887 (read_utmp): Ok if utmp file is empty.
888 Include filename in error messages.
889 (scan_entries): Adjust columns to line up better, particularly
890 when there are users with 8 character long usernames logged in.
892 Sat Oct 28 13:20:43 1989 David J. MacKenzie (djm at spiff)
894 * uname.c: Added long options.
895 global: changed the word `part' to the word `element'
897 (program_name, long_options): New variables.
898 (main): Support long options.
899 (usage): Add long options summary to message.
904 version-control: never