diff options
author | Pádraig Brady <P@draigBrady.com> | 2017-01-31 21:55:22 -0800 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2017-02-08 14:39:48 -0800 |
commit | 2c64bc87293bd8bf369b8dbd487a793ea9803775 (patch) | |
tree | bb0e23cc7e5cb5cbe3f6e45f6031eabaa2f1e5e2 /old/fileutils/ChangeLog | |
parent | c0a79542fb5c2c22cf0a250db94af6f8581ca342 (diff) | |
download | coreutils-2c64bc87293bd8bf369b8dbd487a793ea9803775.tar.xz |
doc: only distribute 5 years of ChangeLogs
Remove old log files that have corresponding entries
in the source code repository.
This saves about 2.5MB uncompressed, 0.5M compressed.
* Makefile.am (gen-ChangeLog): Adjust to taking all
logs since a particular version (8.15 in this case).
Also mention in the truncated log where to get older entries.
(changelog_etc): Remove the no longer distributed files.
* build-aux/git-log-fix: Remove now unused entries.
* ChangeLog-200[5-8]: Delete.
* doc/ChangeLog-2007: Likewise.
* po/ChangeLog-2007: Likewise.
* old/*: Likewise.
Diffstat (limited to 'old/fileutils/ChangeLog')
-rw-r--r-- | old/fileutils/ChangeLog | 8397 |
1 files changed, 0 insertions, 8397 deletions
diff --git a/old/fileutils/ChangeLog b/old/fileutils/ChangeLog deleted file mode 100644 index 290ab5e84..000000000 --- a/old/fileutils/ChangeLog +++ /dev/null @@ -1,8397 +0,0 @@ -2006-08-17 Paul Eggert <eggert@cs.ucla.edu> - - * ChangeLog: Add copyright notice. - * ChangeLog-1997: Likewise. - * NEWS: Likewise. - -2002-07-28 Jim Meyering <meyering@lucent.com> - - * Version 4.1.12. - - * configure.ac: Require automake-1.6b. - - * TODO: Remove entry that mentions rm's HAVE_WORKING_READDIR. - Since remove.c was rewritten, rm is no longer susceptible to that. - -2002-07-26 Jim Meyering <meyering@lucent.com> - - * src/stat.c: Don't include malloc.h -- it was unnecessary. - -2002-07-22 Jim Meyering <meyering@lucent.com> - - * Version 4.1.11. - - * src/stat.c (usage): The short form of --dereference is now -L, not -l. - Reported by Kalle Olavi Niemitalo. - - * src/rm.c: Add new option, --presume-input-tty, for testing only. - Not documented. - - This test might remove a file owned by the person running `make check'. - * tests/rm/fail-eperm: Hoist definition of $target_file, and use - that (not $f) in test for owner/dir/symlink. Patch by Michael Stone. - - * tests/rm/fail-eperm: Handle the case in which rm produces no output. - - rm would prompt for a symlink to an unwritable file - * src/remove.c (prompt): When not interactive, don't prompt - for a symlink. Reported by Dave Beckett. Patch by Michael Stone. - * tests/rm/dangling-symlink: Add a test for the above-fixed bug. - -2002-07-20 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Use file_name_lookup, not getdport. - Patch by Alfred M. Szmidt. - - * Makefile.maint (news-r1, news-r2): Define. Better regexp. - (announcement): Use them here. Also makes the line length < 80. - - * Upgrade to cvs automake -- required to work with 2.53b. - * configure.ac: Require automake-1.6a. - - * Version 4.1.10. - - * Upgrade to gettext-0.11.3. - * Upgrade to autoconf-2.53b. - -2002-07-19 Jim Meyering <meyering@lucent.com> - - * src/dircolors.hin: Add .wav. - - * tests/rm/fail-eperm: Don't expect `ARGV_0=$0 exec ...' to work. - It doesn't work with /bin/sh of Solaris5.6. - Use an explicit `export ARGV_0' instead. - [comparing actual and expected output]: Don't match the entire line, - but rather just the `rm: cannot remove `$dir/$f':' part. - - * tests/rm/dangling-symlink: Use input-tty rather than - testing for /dev/stdin. - - * tests/Makefile.am (EXTRA_DIST): Add input-tty. - * tests/input-tty: New file. - -2002-07-18 Jim Meyering <meyering@lucent.com> - - * src/dircolors.hin: Add the following to the list of colorizable - TERM names: dtterm xterm-color Eterm. - New archive suffix: .jar - New image suffixes: .jpeg .pbm .pgm .tiff .mpeg .xcf .xwd - Audio suffixes: .ogg .mp3 - From Michael Stone. - -2002-07-16 Jim Meyering <meyering@lucent.com> - - * src/stat.c (print_it): Use memcpy and a little pointer arithmetic, - rather than stpncpy. - -2002-07-14 Jim Meyering <meyering@lucent.com> - - Under some circumstances, rm would fail due to a lack of - permissions, but give a misleading diagnostic like this: - rm: cannot chdir from `.' to `foo': Not a directory - * src/remove.c (remove_dir): Detect the case in which unlinking a - non-directory fails with EPERM, and give an appropriate diagnostic. - Reported by Michael Stone. - -2002-07-13 Jim Meyering <meyering@lucent.com> - - * tests/rm/fail-eperm: New file/test, for the above. - * tests/rm/Makefile.am (TESTS): Add fail-eperm. - - * src/stat.c (print_it): Use xstrdup, not strdup. - Use strspn to avoid an explicit loop. - Use fputc rather than printf "\n". - - * src/stat.c: Include quote.h. - (print_stat): Use xreadlink, rather than using readlink directly. - Use the quote function rather than hard-coded double quotes. - Use error, not perror. - -2002-07-09 Martin Michlmayr <tbm@cyrius.com> - - * src/df.c (show_dev): Make the `Use%' column align with - its heading, even when -P is used with -h or -H. - -2002-07-10 Jim Meyering <meyering@lucent.com> - - * man/du.x: Add a description of --exclude=PATTERN. - * src/du.c (usage) [--exclude]: Use PATTERN rather than PAT. - From Martin Michlmayr. - -2002-07-09 Jim Meyering <meyering@lucent.com> - - I added stat.x, but didn't update the definition of dist_man_MANS. - * man/Makefile.am (dist_man_MANS): Add stat.1. - (stat.1): Add dependency. - Reported by Michael Stone. - - Ensure that the above never happens again. - * man/Makefile.am (check-x-vs-1): New target. - (check-local): Depend on check-x-vs-1. - - * src/mv.c (euidaccess): Remove declaration. It was unused. - From Michael Stone. - (yesno): Remove declaration. It too was unused. - -2002-07-08 Paul Eggert <eggert@twinsun.com: - - * NEWS: df now rounds all quantities up, as per POSIX. - This fixes a bug where df would report Size < Used. - * doc/coreutils.texi: Likewise. - * src/df.c (df_readable): Omit last arg; we always round up now. - All callers changed. - -2002-07-07 Paul Eggert <eggert@twinsun.com> - - NEWS, doc/coreutils.texi: - New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. - Any time style can be preceded by "posix-". - The default time style is now posix-long-iso instead of posix-iso. - - * src/ls.c (enum time_style): Remove posix_iso_time_style. - Add long_iso_time_style. - (time_style_args, time_style_types, decode_switches): Likewise. - (decode_switches): If a time style is prefixed by "posix-", ignore - it if in the POSIX locale. Default style is now posix-long-iso. - (usage): Explain the above. - -2002-07-06 Jim Meyering <meyering@lucent.com> - - * tests/Makefile.am (envvar-check): Mark as `.PHONY'. - - * src/stat.c: Remove everything associated with --secure option. - -2002-07-04 Jim Meyering <meyering@lucent.com> - - * src/remove.c (prompt): Fix test for write-protectedness to also - check errno == EACCES. Otherwise, `rm dangling-symlink' would - mistakenly prompt. Reported by Mike Castle. - - * tests/rm/Makefile.am (TESTS): Add dangling-symlink. - * tests/rm/dangling-symlink: New file/test, for the above fix. - -2002-07-03 Jim Meyering <meyering@lucent.com> - - * src/stat.c (usage): Rename --link/-l to --dereference/-L. - Describe --secure. - Describe --format. - (main): Support -L. Deprecate -l. - -2002-07-02 Jim Meyering <meyering@lucent.com> - - * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c (usage): - Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. - * src/df.c, src/dircolors.c, src/du.c, src/install.c: Likewise. - * src/link.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c: Likewise. - * src/mknod.c, src/mv.c, src/rm.c, src/rmdir.c, src/shred.c: Likewise. - * src/stat.c, src/sync.c, src/touch.c, src/unlink.c: Likewise. - -2002-07-01 Jim Meyering <meyering@lucent.com> - - * tests/touch/fail-diag: Handle yet another different diagnostic. - Report from Volker Borchert. - -2002-06-29 Jim Meyering <meyering@lucent.com> - - * src/stat.c (print_statfs): Use `fputc ('*', stdout)' - instead of the combination of strcat and printf. - (print_statfs) [!FLASK_LINUX]: Print `*' for %S and %C, - rather than `S' and `C'. - (print_stat) [!FLASK_LINUX]: Likewise. - - * src/remove.c (AD_mark_current_as_unremovable): Replace dead - code with an assertion. - -2002-06-26 Paul Eggert <eggert@twinsun.com> - - * src/ls-test: Use grep, not egrep. - -2002-06-25 Jim Meyering <meyering@lucent.com> - - * src/remove.c (prompt): Add a comment to help translators work - around the problem of making the translations of the adjective - `write-protected' and the corresponding run-time-variable noun - (e.g., file, directory, symlink, etc.) consistent. From Paul Eggert. - -2002-06-24 Jim Meyering <meyering@lucent.com> - - * src/stat.c (usage): Add missing open-quote. - Reported by Michael Piefel. - -2002-06-22 Jim Meyering <meyering@lucent.com> - - * Version 4.1.9. - - * configure.ac: Invoke AC_GNU_SOURCE very early. - - * tests/rm/rm1: Accommodate the slightly different diagnostic we - get on some systems, due to `unlink (dir)' failing with EACCES - rather than EPERM. E.g. for ReiserFS on Linux-2.4.18. - -2002-06-21 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (wget-update): Checkout into config/. - Warn when skipping a file. - - * src/stat.c: Include sys/statvfs.h. - [!HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H]: Include sys/param.h - and sys/mount.h, to get decl of struct statfs on NetBSD 1.5.2. - (NAMEMAX_FORMAT, STRUCT_STATVFS): Define. - (HAVE_STRUCT_STATXFS_F_TYPE, SB_F_NAMEMAX): Define. - Remove `static' attribute from decl of program_name. - (human_fstype): Use f_basetype or f_fstypename if available. - (print_human_time): Use nstrftime and an ISO format string, in - place of strftime with `%c'. The latter is too locale-dependent. - (print_statfs): Deal with lots of portability issues: some fields - are available only with statfs, others only with statvfs, and - some are available in both, but with different types. - (do_statfs) [DEFAULT_FORMAT_TERSE]: Factor out. - [DEFAULT_FORMAT_VERBOSE]: Likewise. - - * src/copy.c: Change all `preserving ...' diagnostics to - `failed to preserve ...' to make the failure clearer. - * src/cp.c: Likewise. - -2002-04-03 Alfred M. Szmidt <ams@kemisten.nu> - - * src/copy.c Include hurd.h. - (copy_internal): Preserve the stat.st_author field. - -2002-06-21 Jim Meyering <meyering@lucent.com> - - * src/ls.c (LOGIN_NAME_MAX): Define if not already defined. - (ID_LENGTH_MAX): Define. - (ST_DM_MODE): New macro. Code moved from... - (print_long_format): ...here. - (print_long_format): Itemize and comment the individual parts - of init_bigbuf. Use the above *_MAX macros. - -2002-06-20 Jim Meyering <meyering@lucent.com> - - * src/system.h: Change `defined(X)' syntax to `defined X' - in cpp directives. - -2002-06-17 Jim Meyering <meyering@lucent.com> - - * tests/setgid-check: Interpret a permissions string of - drwxr-xr-x (DOS/Windows) as meaning the cwd is not setgid. - Reported by Rich Dawe. - -2002-05-19 Paul Eggert <eggert@twinsun.com> - - Add support for new ls option --author, for GNU/Hurd. - Derived from a suggestion by Alfred M. Szmidt. - - * doc/coreutils.texi (ls invocation), NEWS: Document this. - * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. - * src/ls.c (st_author) [! HAVE_STRUCT_STAT_ST_AUTHOR]: New macro. - (print_author): New var. - (AUTHOR_OPTION): New enum val. - (long_options, decode_switches, print_long_format, usage): - Support --author. - (format_user): New function. - (print_long_format): Use it. Make print buffer a bit bigger. - -2002-06-15 Jim Meyering <meyering@lucent.com> - - * tests/sample-test (trap): Make sure the temporary hierarchy is - writable before removing it. - - * tests/mv/perm-1: New file, to demonstrate fix of 2002-06-12. - * tests/mv/Makefile.am (TESTS): Add perm-1. - - * src/system.h: For GNU libc 2.2 and newer, ensure that <sys/types.h> - has been included before this file. - -2002-06-13 Richard Dawe <richdawe@bigfoot.com> - - Accommodate DOS file name limitations. - * tests/cp/same-file: Change temp. file name: s/\.err/_err/, for DOS. - * tests/mv/force: Similar. - * tests/mv/into-self: Similar. - * tests/touch/no-rights: Similar. - * tests/mv/mv-special-1: Remove leading `.' from temp. names. - -2002-06-15 Jim Meyering <meyering@lucent.com> - - * src/sys2.h (S_ISNAM): Add to list of S_IS* macros. - Rearrange #if directives for each S_IS macro. - From diffutils-2.8.2. - -2002-06-12 Jim Meyering <meyering@lucent.com> - - * src/mv.c (do_move): Give one diagnostic, not two, when unable to - unlink a destination file. This bug was introduced in fileutils-3.16l. - -2002-06-07 Jim Meyering <meyering@lucent.com> - - * tests/mv/part-fail: Also accept the permission-denied diagnostic - issued by some losing systems. Reported by Volker Borchert. - - * src/remove.c (remove_entry): Use DT_IS_DIR only if - HAVE_STRUCT_DIRENT_D_TYPE is defined. - -2002-06-02 Jim Meyering <meyering@lucent.com> - - `rm' no longer uses explicit recursion, and as such is now able - to remove hierarchies of effectively unlimited depth. Prior to - this change, on typical systems, rm would fail (segfault) to remove - hierarchies of depth greater than about 25,000. - - * src/remove.c: Merge in all changes from no-recursion branch. - See below for details. - * src/remove.h: Likewise. - * src/mv.c (do_move): Adapt to new calling sequence for rm. - * src/rm.c (main): Likewise. - -2002-06-02 Jim Meyering <meyering@lucent.com> - - * tests/rm/r-2: Adjust, now that we no longer report - `removing all entries of directory ...'. - * tests/rm/r-1: Likewise. - - * src/remove.c (enum Ternary): Define type. - (prompt): Add a parameter. Adjust callers. - (remove_entry): Attempt rmdir here, only if a directory is - `known' to be empty. Significant rework. - (remove_dir): Propagate failure `up' also when rmdir fails. - -2002-06-01 Jim Meyering <meyering@lucent.com> - - * tests/rm/Makefile.am (TESTS): Add rm5. - * tests/rm/rm5: New test. - -2002-05-30 Jim Meyering <meyering@lucent.com> - - In interactive mode, prompt only once about an empty directory. - * src/remove.c (enum Prompt_action): Define. - (prompt): Two new parameters. Adjust all callers. - - Performance. - * src/remove.c (remove_entry) [!ROOT_CAN_UNLINK_DIRS]: - Don't call rmdir here. - -2002-05-29 Jim Meyering <meyering@lucent.com> - - * src/remove.c (AD_pop_and_chdir): Don't use errno (it's not valid) - in diagnostic for changed dev/ino. - (remove_entry): Tweak diagnostic. - -2002-05-27 Jim Meyering <meyering@lucent.com> - - * src/remove.c (ROOT_CAN_UNLINK_DIRS): Define. - (AD_pop_and_chdir): Propagate status as we traverse back `up' the tree. - (DO_UNLINK, DO_RMDIR): Define. - (remove_entry) [ROOT_CAN_UNLINK_DIRS]: Add code so this works also on - systems where root can use `unlink' to remove directories. - -2002-05-24 Jim Meyering <meyering@lucent.com> - - * tests/mv/mv-special-1: Adapt for changed format of --verbose output. - -2002-05-22 Jim Meyering <meyering@lucent.com> - - * src/remove.c: Include file-type.h. - Include file type in prompt when asking whether to remove file. - Based on a patch from Paul Eggert. - - * src/remove.c (prompt): Add comment. - - * src/remove.c (remove_dir): Fix another (known) leak. - - * tests/rm/rm3: Don't depend on order of traversal of dir entries. - It is nondeterministic on some types of filesystems. - - * src/remove.c (hash_freer): New function. - (AD_mark_helper): Use it. - (AD_mark_as_unremovable): xstrdup the filename argument. - (remove_dir): Free directory name. - - * src/remove.c (remove_entry): Fail also when trying to remove a - directory without the --recursive option. - Change a diagnostic, s/unlink/remove/, now that it can apply also - to a directory. - - * src/remove.c (is_empty_dir): New function. - (prompt): New function, factored out of... - (remove_entry): ...here. Call it. - (remove_dir): Call prompt before rmdir. - - * src/remove.c (remove_entry): Add support for prompting (e.g., -i). - - * src/remove.h (UPDATE_STATUS): New macro. - Include save-cwd.h. - (struct File_spec): Remove declaration. - Update prototypes. - - * src/remove.c [AD_ent] (status): New member. This lets us propagate - the status from a subdirectory to its parent via AD_pop_and_chdir. - (AD_push_initial): Set it. - (AD_push): Likewise. - (remove_cwd_entries): Change return type to enum RM_status, and - adjust all callers. - (rm): Use UPDATE_STATUS rather than open-coding it. - - * src/remove.c (remove_entry): New function, factored out of... - (remove_cwd_entries): ...here, and... - (rm_1): ...here. - - * src/remove.c (remove_cwd_entries): Add support for --verbose. - (remove_dir): Likewise. - (rm_1): Likewise. - -2002-05-18 Jim Meyering <meyering@lucent.com> - - * tests/rm/rm3: New file. - * tests/rm/rm4: New file. - * tests/rm/Makefile.am (TESTS): Add rm3 and rm4. - -2002-05-17 Jim Meyering <meyering@lucent.com> - - * tests/rm/rm1: New file. - * tests/rm/rm2: New file. - * tests/rm/unread2: New file. - * tests/rm/Makefile.am (TESTS): Add rm1, rm2, and unread2. - - * src/remove.h (enum RM_status) [RM_NONEMPTY_DIR]: New member. - -2002-05-13 Jim Meyering <meyering@lucent.com> - - * src/remove.c (rm): Free cwd_state, if necessary. - -2002-05-01 Jim Meyering <meyering@lucent.com> - - * src/remove.c (rm_1): Remove now useless (always true) - user_specified_name parameter. Adjust sole caller. - - * src/remove.c (rm): New function. This interface allows - one to remove multiple arguments at a time. This is important in - that it allows us to hide the remove_init/remove_fini functions and - the cwd_state parameter. - (rm_1): Renamed from rm. - (remove_init, remove_fini): Remove functions. Each body is now - part of `rm'. - * src/remove.h (rm): Update prototype. - -2002-06-01 Jim Meyering <meyering@lucent.com> - - * src/ls.c: Remove use of D_TYPE_IN_DIRENT, now that that symbol - has been renamed. - -2002-05-30 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_reg): Use a temporary to avoid a warning - from gcc -W about comparison between signed and unsigned. - (copy_internal): Likewise, but use a cast. - -2002-05-22 Jim Meyering <meyering@lucent.com> - - * src/sys2.h (S_ISREG, S_ISDIR): Define if not already defined. - (S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Likewise. - - * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): - Remove definitions. - * src/sys2.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): - Define here instead. - -2002-04-27 Jim Meyering <meyering@lucent.com> - - * src/remove.c (cycle_check): New function containing code factored - out of remove_dir. The sole difference is that upon detecting a - cycle, rm now dies unconditionally. Before, in interactive mode, - it would ask the user whether to continue. - (remove_dir): Call cycle_check. - -2002-04-25 Jim Meyering <meyering@lucent.com> - - Avoid new warnings from gcc. - * src/dd.c: Declare input_file and output_file to be `const'. - (skip): Declare `file' parameter to be `const', too. - - Remove hash table, active_dir_map, used to detect directory cycles. - Instead, detect them lazily with just O(1) memory. - Suggestion from Andi Kleen. - * src/remove.c (is_power_of_two): New function. - (print_nth_dir, make_active_dir_ent): Remove functions. - (hash_active_dir_ent, hash_compare_active_dir_ents): Likewise. - (remove_dir): Check for cycles here, ... - (rm): ... and don't check for cycles here. - - * src/remove.c (rm): Call fspec_get_full_mode here, rather than - fspec_get_filetype_mode. We want to get the dev/ino earlier, and - at the same time as when we get the file type, to avoid the risk - that an attacker would change e.g. a directory to a symlink before - we record its dev/ino. - - * configure.ac (AC_CONFIG_FILES): Remove intl/Makefile. - (AM_GNU_GETTEXT): Add external arg. - - * intl/: Remove directory. - * Makefile.am (SUBDIRS): Remove intl. - (DISTCLEANFILES): Remove definition. - - * src/sys2.h: Remove ENABLE_NLS-related code. - (_, N_) Remove definitions. - Include "gettext.h" instead. - - * src/Makefile.am (INCLUDES): Remove -I../intl. - -2002-04-22 Jim Meyering <meyering@lucent.com> - - * src/remove.c (rm): Call exit with EXIT_FAILURE, not `1'. - -2002-04-19 Jim Meyering <meyering@lucent.com> - - * tests/cp/*: Clean up. - - * tests/sample-test: Use a temporary directory named - `basename $0`.tmp/$$. Create with mkdir -p. - - * tests/cp/backup-1: Use better trap, etc. - * tests/mkdir/p-2: Use better trap. - * tests/mkdir/p-1: Likewise. - * tests/mkdir/concurrent-1: Likewise. - - * tests/rm/deep-1: Set $tmp the new way. - - * tests/rm/ir-1: Use `rm', not $RM. Use better trap. - * tests/rm/i-1: Likewise. - * tests/rm/f-1: Likewise. - - * tests/sample-test: Use automatically-derived name for temporary - directory. This is more 8.3-friendly. Based on a suggestion from - Richard Dawe. - - * tests/sample-test: New file. - * tests/Makefile.am (EXTRA_DIST): Add sample-test. - -2002-04-17 Jim Meyering <meyering@lucent.com> - - * src/touch.c (touch): Don't report errors for nonexistent files - when --no-create is in effect. Based on a patch from TAKAI Kousuke. - * tests/touch/no-create-missing: New file/test for above. - * tests/touch/Makefile.am (TESTS): Add no-create-missing. - -2002-04-16 Jim Meyering <meyering@lucent.com> - - * src/stat.c: Add copyright comment. - (human_fstype): Rename from print_human_fstype, and rework accordingly. - (print_statfs): Use human_fstype to honor format width on %T. - -2002-04-15 Jim Meyering <meyering@lucent.com> - - Handle "lld" vs "ld" printf formats the same way Bash does. - * src/stat.c: Include inttypes.h. - (PRIdMAX, PRIuMAX): Define, if not already defined. - (print_statfs): Use those macros, not the literal strings. - (print_stat): Likewise. - Suggestion from Paul Eggert. - - * src/stat.c (print_human_fstype): Add missing `break;' - for `case S_MAGIC_MINIX:'. - -2002-04-14 Jim Meyering <meyering@lucent.com> - - * src/stat.c (statfs_secure): Define. - (print_stat): Remove another #ifdef. - (do_statfs): Likewise. - (print_statfs): Prefer/use fputs over printf. - (print_stat): Likewise. - - * src/Makefile.am (bin_PROGRAMS): Add stat. - (noinst_HEADERS): Add fs.h. - - * src/stat.c [HAVE_SYS_VFS_H]: Guard incluion of sys/vfs.h. - Constify many parameters. - (print_statfs): Fix typo: Use %u (to match %lu) for namelen, not %d. - (verbose_usage): Remove function. Move contents into usage. - Remove lots of #if directives involving FLASK_LINUX - [!FLASK_LINUX] (is_flask_enabled): Define. - (stat_secure, lstat_secure): Define. - (print_statfs): Remove lots of nested #if directives. - Instead, rely on support fo %llu and %lld printf formats -- - but that is only temporary, since it's not porable enough. - (main): Hoist is_flask_enabled test to be done here, rather - than in each of do_stat and do_statfs for every argument. - -2002-04-13 Jim Meyering <meyering@lucent.com> - - * src/stat.c: Include system.h, error.h, and many other headers. - [HAVE_SYS_SYSMACROS_H]: Guard inclusion of sys/sysmacros.h. - (PROGRAM_NAME, AUTHORS): Define. - (long_options): Declare/define. - (print_human_access): Rewrite to use mode_string. - (usage): Rewrite. - (main): Use getopt_long. - (print_human_type): Call fputs once rather than calling - printf many times. - (print_human_fstype): Revamp in a similar fashion. Don't use strdup. - Declare most functions to be `static'. - -2002-04-12 Jim Meyering <meyering@lucent.com> - - * src/Makefile.am (LDADD): List ../lib/libfetish.a both before - and after @LIBINTL@. Thanks to Paul Eggert for the fix and to - Bruno Haible for diagnosing the problem. - - * src/link.c: Include long-options.h. - [long_opts]: Remove. - (usage): Tweak --help output; use *_OPTION_DESCRIPTION macros. - (main): Don't use getopt directly. Use parse_long_options instead. - Tweak a diagnostic. - Use EXIT_FAILURE rather than a literal `1'. - * src/unlink.c: Likewise. - (main): If POSIXLY_CORRECT is set, don't recognize --help or --version, - so the program can operate on a file with one of those names. - -2002-04-11 Jim Meyering <meyering@lucent.com> - - New programs link and unlink. - - * src/Makefile.am (bin_PROGRAMS): Add link and unlink. - * src/link.c, src/unlink.c: New files, from Debian's fileutils_4.1-10. - Written by Michael Stone. - - * man/link.x: New file. - * man/unlink.x: New file. - * man/Makefile.am: Add link and unlink. - -2002-04-07 Jim Meyering <meyering@lucent.com> - - * tests/install/basic-1: Tweak comments to reflect reality. - * tests/cp/fail-perm: Add VERBOSE=yes support. - * tests/mv/mv-special-1: Fix typo in VERBOSE=yes handling. - Reported by Richard Dawe. - -2002-03-30 Jim Meyering <meyering@lucent.com> - - * Version 4.1.8. - - * tests/mv/i-link-no: Use --reply=no rather than -i. - The latter depends on whether stdin is a tty and hence would - fail in some situations where --reply=no doesn't. - - * src/mv.c (do_move): Correct a comment. - - * src/copy.c (copy_internal): Move the block that sets `earlier_file' - down to just before the first use of that variable. Otherwise, it was - possible to make mv (and probably cp, too) malfunction when copying - hard-linked files into a directory containing at least one of the - source file names. Call forget_created everywhere thereafter where - this function returns without creating a destination file that might - subsequently be linked. Reported by Iida Yosiaki. - * src/cp-hash.c (forget_created): New function. - * src/cp-hash.h (forget_created): Prototype. - - * tests/mv/i-link-no: New test for the above. - Based on an example from Iida Yosiaki. - * tests/mv/Makefile.am (TESTS): Add i-link-no. - -2002-03-17 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal) [move_mode]: Give a better diagnostic, - by using errno from the failed unlink, when a cross-device `mv' - fails, e.g., because the destination cannot be unlinked. - Prompted by a report from Karl Berry. - * tests/mv/part-fail: New test for the above. - * tests/mv/Makefile.am (TESTS): Add part-fail. - -2002-03-16 Jim Meyering <meyering@lucent.com> - - * src/Makefile.am (datadir): Don't override $(datadir) - which might be set by --datadir and different from $(prefix)/share. - Patch from Albert Chin-A-Young. - -2002-03-10 Jim Meyering <meyering@lucent.com> - - * Version 4.1.7. - - * src/ln.c (main): Change wording in diagnostic. - * src/cp.c (do_copy): Likewise. - * src/install.c (strip): Likewise. - Suggestions from Santiago Vila. - - * Use autoconf-2.53. Regenerate dependent files. - - * Makefile.maint (GZIP, BZIP2): Remove definitions. - ($(my_distdir).tar.bz2): Remove rule. Now, it's built by `make dist'. - - * configure.ac (AM_INIT_AUTOMAKE): Specify the required version - of automake (1.6), and options (gnits dist-bzip2), rather than... - * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition. - - * src/copy.c (copy_reg): Don't exit upon finding a replaced file. - Instead, just skip it like the diagnostic says. - Reported by Paul Eggert. - -2002-03-09 Paul Eggert <eggert@twinsun.com> - - * src/copy.c (copy_reg): Use a more concise diagnostic for - reporting replaced files. This avoids a bug in the code, - which mishandled ino_t wider than long. - * src/remove.c (remove_dir): Likewise, twice. - -2002-03-09 Jim Meyering <meyering@lucent.com> - - * Makefile.am (EXTRA_DIST): Remove config/config.rpath, - now that automake knows about it. - -2002-03-08 Jim Meyering <meyering@lucent.com> - - Don't allow a malicious user to trick another user's rm process into - removing unintended files. In one scenario, if root is removing a - hierarchy that is writable by the malicious user, that user may trick - root into removing all of `/'. Reported by Wojciech Purczynski. - - * src/remove.c (remove_dir): After chdir `..', call lstat to get the - dev/inode of "." and fail if they aren't the same as the old numbers. - (remove_cwd_entries): New parameter, `cwd_dev_ino'. - (remove_dir): Likewise. - (rm): Likewise. - Adjust all callers. - * src/mv.c (do_move): The first time we resort to copy/remove, - call lstat `.' to get the device/inode numbers now required for rm. - * src/rm.c (main): Call lstat `.' to get the device/inode numbers - now required for rm. - * src/remove.h (struct dev_ino): Declare new type. - (rm): Add a parameter to the prototype. - -2002-03-06 Jim Meyering <meyering@lucent.com> - - * Use automake-1.6. Regenerate dependent files. - -2002-03-05 Jim Meyering <meyering@lucent.com> - - * Makefile.am (EXTRA_DIST): Add config/config.rpath. - -2002-03-04 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (tgz-size): Also handle a suffix of `K', since - the sizes in the output of `du -h' now look like `29K' - -2002-03-03 Jim Meyering <meyering@lucent.com> - - * Version 4.1.6. - -2002-03-03 Paul Eggert <eggert@twinsun.com> - - Make cp -r equivalent to cp -R. Add a new cp option --copy-contents - for people who want to emulate the traditional (and rarely desirable) - cp -r behavior. - - * src/cp.c (COPY_CONTENTS_OPTION): New enum value. - (long_opts): Add --copy-contents. - (usage): Describe new behavior. Sort options. - (main): Implement new behavior. Remove diagnostics for -a and -r; - no longer needed. - * src/copy.c (copy_internal): Remove -r warning; no longer needed. - - * NEWS: Document this. - -2002-03-02 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): For each symlink copied by cp -r, - issue a warning that `cp -r' is not portable. - - * src/cp.c (main): Revert change of 2001-12-29. With this change, - cp -r once again preserves symlinks. - (usage): Document the original (now-restored) behavior. - * tests/cp/r-vs-symlink: Reflect changed semantics of cp's -r option. - - * src/cp.c (main): Warn when -r is specified before --archive (-a). - * src/cp.c (main): Fail when -r is specified after --archive (-a) - on the command line. - - * src/copy.c (copy_reg): Detect abuse of a race condition - whereby an unprivileged user could gain read access to otherwise- - inaccessible files when root uses cp or mv to copy a hierarchy - belonging to that user. - -2002-02-27 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (decode_switches, usage): Add --time-style=+FORMAT. - * doc/coreutils.texi (Formatting file timestamps): Document it. - -2002-02-25 Paul Eggert <eggert@twinsun.com> - - Add ACL support to 'ls' for HP-UX and Unixware, and try to - establish a framework for adding it for other hosts. - This builds on a suggestion of Andreas Gruenbacher. - - * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. - * lib/acl.h, lib/acl.c, m4/acl.m4: New files. - * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. - Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. - * src/ls.c: Include "acl.h" rather than <sys/acl.h>. - (USE_ACL): Remove; replaced by HAVE_ACL everywhere. - (gobble_file): Use file_has_acl rather than doing it ourselves. - -2002-02-20 Jim Meyering <meyering@lucent.com> - - * src/touch.c: Include posixver.h. - (usage): Document only the intersection of the old and new behaviors, - to encourage portability. - (main): Use `posix2_version ()' in place of POSIX2_VERSION. - -2002-02-17 Jim Meyering <meyering@lucent.com> - - * ABOUT-NLS, intl/*: Update to Gettext 0.11. - * INSTALL: Update to Autoconf 2.52h. - - * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@, - per Gettext-0.11. - (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11. - - * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation. - (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11. - - * config: New subdirectory, containing the following files from .: - config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs. - Move the following files here from doc: texinfo.tex, mdate-sh. - -2002-02-16 Jim Meyering <meyering@lucent.com> - - * tests/ls/infloop: Use `head -n 7', not `head -7'. - * tests/rm/hash: Likewise. - -2002-02-10 Jim Meyering <meyering@lucent.com> - - * configure.in (ALL_LINGUAS): Add Hungarian (hu). - -2002-02-02 Jim Meyering <meyering@lucent.com> - - * src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10. - (wipename): Quote file names only when necessary. - (main): Copy quoted string into malloc'd storage so it doesn't - get clobbered when using -u and --verbose. - - Minor clean-up. - * src/shred.c: - Use `NULL' rather than `(time_t *) 0'. - (dopass): Use STREQ in place of strcmp. - Add parentheses around use of nested ternary operator. - -2002-01-15 Paul Eggert <eggert@twinsun.com> - - * src/shred.c (VERBOSE_UPDATE): Now counts seconds, not bytes. - - (dopass): If verbose, output a line every VERBOSE_UPDATE seconds, - and suppress duplicate output lines. Output a percentage as well - as a count of bytes. - - Also, fix comment/code typo regarding how many bytes have been - written; this typo was harmless before, but is no longer harmless with - the above change in effect. - -2002-02-02 Jim Meyering <meyering@lucent.com> - - * src/remove.c (rm): Add a comment. - -2002-01-28 Jim Meyering <meyering@lucent.com> - - * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d. - * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro. - -2002-01-21 Jim Meyering <meyering@lucent.com> - - * po/POTFILES.in: Add lib/xmemcoll.c - - * src/chown-core.c: Don't include "xalloc.h", as system.h already - does that via sys2.h. - * src/ls.c: Likewise. - * src/shred.c: Likewise. - -2002-01-20 Paul Eggert <eggert@twinsun.com> - - * src/ls.c: Avoid undefined behavior when strcoll fails, - by resorting the directory with strcmp instead. - - Include <setjmp.h>. - Include "quote.h". - (compare_atime, rev_cmp_atime, compare_ctime, rev_cmp_ctime, - compare_mtime, rev_cmp_mtime, compare_size, rev_comp_size, - compare_name, rev_cmp_name, compare_extension, rev_cmp_extension, - compare_version, rev_compare_version): Move before use, so that - we can remove the forward declaration. Reimplement in terms of - the new functions described below, using xstrcoll instead of strcoll. - (failed_strcoll): New var. - (xstrcoll): New function. - (V): New type. - (cmp_ctime, compstr_ctime, rev_str_ctime): New functions. - (cmp_mtime, compstr_mtime, rev_str_mtime): Likewise. - (cmp_atime, compstr_atime, rev_str_atime): Likewise. - (cmp_size, compstr_size, rev_str_size): Likewise. - (cmp_version): Likewise. - (cmp_name, compstr_name, rev_str_name): Likewise. - (cmp_extension, compstr_extension, rev_str_extension): Likewise. - (sort_files): Use prototype for internal function var. - If the strcoll-based comparison fails, fall back on a strcmp-based one. - -2002-01-19 Jim Meyering <meyering@lucent.com> - - Ensure that the two version numbers in configure.ac remain in sync. - * Makefile.maint (local-check): Depend on ac-check. - (ac_p_pkg, AC_INIT_PKG): Define. - (ac_p_ver, AC_INIT_VER): Define. - (ac-check): New rule. - -2002-01-19 Jim Meyering <meyering@lucent.com> - - * configure.ac: Remove code that set LIBOBJS in support of ansi2knr. - The latest version of autoconf objected to it, and besides, I don't - care too much about K&R support these days. - -2002-01-14 Paul Eggert <eggert@twinsun.com> - - * src/touch.c (main): Issue a warning for obsolete usage, unless - POSIXLY_CORRECT. - -2002-01-14 Paul Eggert <eggert@twinsun.com> - - Add support for POSIX 1003.1-2001, which requires removal for - support of the obsolete `touch [-acm] MMDDhhmm[YY] FILE...' syntax. - - * NEWS: Document this. - * src/touch.c (usage, main): Implement this. - -2002-01-12 Jim Meyering <meyering@lucent.com> - - Avoid giving a misleading diagnostic in some unusual cases. - Instead, give one that makes sense. - - * src/copy.c (copy_reg): Don't treat errno==ENOENT as a special case. - (same_file_ok): Detect a case that would have lead to the errno==ENOENT - condition above (and a misleading diagnostic), and return 0 so we give - a diagnostic about the source and destination being the same file. - (copy_internal): Use an explicit test for errno==EXDEV to detect - that rename has failed because source and destination are on - different devices. This reverts part of a change from 1997-12-13, - and is to avoid letting a race condition evoke a bogus diagnostic. - Note that while POSIX has encouraged the errno==EXDEV test for - years, it was inadequate back in 1997. I'm hoping that many - more systems have conforming support these days. - Reported by Michael Gaughen <mgaughen@polyserve.com> - - * src/shred.c (usage): Also mention Ext3. - Suggestion from Göran Uddeborg. - -2002-01-06 Bruno Haible <bruno@clisp.org> - - * src/ls.c (long_time_format): Extend translator comments. - -2002-01-05 Jim Meyering <meyering@lucent.com> - - * Version 4.1.5. - -2001-12-29 Jim Meyering <meyering@lucent.com> - - * src/cp.c (main): With -r, always dereference symlinks. - Reported by Christian Harkort. Patch by Chris J. Bednar. - - * tests/cp/r-vs-symlink: New file to test for the above fix. - * tests/cp/Makefile.am (TESTS): Add r-vs-symlink. - -2001-12-21 Jim Meyering <meyering@lucent.com> - - * src/shred.c [!HAVE_CONFIG_H]: Remove cpp block that duplicated - code in lib/ in order to facilitate compiling this program without - config.h. - -2001-12-19 Paul Eggert <eggert@twinsun.com> - - * src/shred.c: Add FSF copyright notice. - -2001-12-18 Paul Eggert <eggert@twinsun.com> - - Use notation compatible with SI and with IEC 60027-2. - For example, --block-size=1MB now means --block-size=1000000, - whereas --block-size=1MiB now means --block-size=1048576. - A trailing `B' now means decimal, not binary; this is a silent change. - -H or --si now outputs the trailing 'B', for consistency with this. - Programs now output trailing 'K' (not 'k') to mean 1024. - New df, du short option -B is short for --block-size. - You can omit an integer `1' before a block size suffix, - e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'. - - * NEWS, doc/coreutils.texi: Document this. Remove documentation - for obsolescent constructs MD, --kilobytes, -m or --megabytes. - - * src/dd.c (usage, parse_integer): Prefer K to k for 1024. - * src/shred.c (usage, main): Likewise. - - * src/shred.c (xstrtoumax): If there is no number but there - is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. - Accept 'K' as well as 'k'. - - * src/dd.c (usage): MD -> MB for decimal. - - * src/df.c (BLOCK_SIZE_OPTION): Remove; no longer needed now that - we have 'B'. - (long_options, usage, main): Add -B. - (usage): Deprecate --kilobytes, -m, --megabytes. - Document size suffixes. - * src/du.c: Likewise. - * src/ls.c (usage): Deprecate --kilobytes. Document size suffixes. - - * src/df.c (print_header, show_dev): Enlarge column widths for - trailing "B". - -2001-12-17 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (real_dir): Remove unused variable. - (url_dir_list): Don't set define it here, but... - * Makefile.cfg (url_dir_list): ...define it here instead. - (hosts, a_host, b_host): Remove now-unused variables. - (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables. - -2001-12-15 Jim Meyering <meyering@lucent.com> - - * Version 4.1.4. - - * tests/touch/fail-diag: Also accept SunOS4's `Not owner' diagnostic. - Reported by Volker Borchert. - - * tests/help-version: Fail also if ./$i --version fails. - Run each --help and --version test with a few different settings - of LC_MESSAGES. Prompted by a report from Nelson Beebe. - -2001-12-11 Jim Meyering <meyering@lucent.com> - - Include the word `fail' in some diagnostics to make it clearer - that they indicate a failure. - * src/chgrp.c (main): s/getting attributes/failed to get attributes/. - * src/chmod.c (change_file_mode, main): Likewise. - * src/chown-core.c (change_file_owner): Likewise. - * src/chown.c (main): Likewise. - * src/cp.c (re_protect): Likewise. - * src/touch.c (touch, main):Likewise. - Suggestion from Karl Berry. - -2001-12-10 Jim Meyering <meyering@lucent.com> - - * src/dd.c (buggy_lseek_support): Remove function. - (skip_via_lseek) [__linux__]: New function. - (skip): Use skip_via_lseek, not buggy_lseek_support. - Based on an outline from Paul Eggert. - -2001-12-09 Jim Meyering <meyering@lucent.com> - - * configure.in (ALL_LINGUAS): Add Estonian (et). - -2001-12-08 Jim Meyering <meyering@lucent.com> - - * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's - no longer available at that location. - -2001-12-04 Jim Meyering <meyering@lucent.com> - - * tests/chgrp/basic: Don't use diff's -u option. It's not portable. - Besides, with GNU diff one can use the DIFF_OPTIONS envvar. - * tests/ls/no-arg: Likewise. - * tests/ls/recursive: Likewise. - * tests/ls/rt-1: Likewise. - -2001-12-02 Jim Meyering <meyering@lucent.com> - - * Version 4.1.3. - - * src/sys2.h (HELP_OPTION_DESCRIPTION): New macro. - (VERSION_OPTION_DESCRIPTION): New macro. - * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c, - * src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c, - * src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/rm.c, - * src/rmdir.c, src/shred.c, src/stat.c, src/sync.c, src/touch.c (usage): - Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION - instead of hard-coding --help and --version descriptions. - - * POTFILES.in: Add src/sys2.h. - - * src/touch.c (touch): Extend the change of 2001-09-15 to work on - systems for which errno is set to EPERM in that case. Thus, e.g., - `touch /' by non-root gives a better diagnostic on systems like SunOS4. - Reported by Volker Borchert. - - Don't emulate dd's skip=N for *all* character devices; lseek works - just fine on non-tape character devices like /dev/mem and /dev/kmem. - * src/dd.c (buggy_lseek_support) [__linux__]: Emulate `skip=N' - behavior using reads, not lseek for Linux tape devices (major == 9). - Kernel lseek support for tapes is broken, up to and including - linux-2.4.16. Reported by Herbert Xu. - -2001-11-27 Jim Meyering <meyering@lucent.com> - - * tests/ls/rt-1: Compare all lines of output. - Update code to use `trap' and more up to date infrastructure. - - The change of 2001-11-01 introduced a bug whereby some recursive - listings didn't have a blank line between per-directory groups of files. - * src/ls.c (print_dir): Print a newline before each directory name - except the first one, rather than after each except the last, since - now (after the changes of 2001-11-01) detecting whether a `pending*' - is the last would involve more work. Reported by Andreas Schwab. - * tests/ls/recursive: New file. Test for the above. - * tests/ls/Makefile.am (TESTS): Add recursive. - - This change has no net effect. - * src/ls.c (main): Remove always-true conjunct and add a comment. - -2001-11-26 Jim Meyering <meyering@lucent.com> - - * src/shred.c: Don't include "gtod.h" - (main): Don't `call' GETTIMEOFDAY_INIT. - * src/ls.c: Likewise. - -2001-11-24 Jim Meyering <meyering@lucent.com> - - * Makefile.maint: Include signatures for the xdelta file, too. - - * Makefile.maint (emit-upload-commands): Rename from - emit-rsync-commands. - Output only the package name and the prev and current version numbers. - - * Version 4.1.2. - - * src/sync.c (usage): Make --help and --version strings - start in column 7. - - * Makefile.cfg (move_if_change): Remove definition. - ($(srcdir)/m4/jm-glibc-io.m4): Use mv, not move-if-change. - -2001-11-23 Jim Meyering <meyering@lucent.com> - - * cp.c, df.c, du.c, install.c, ln.c, ls.c, mkdir.c (usage): - * mkfifo.c, mknod.c, mv.c, shred.c, touch.c (usage): - Note that ``Mandatory arguments to long options are mandatory - for short options too.'' - - * src/shred.c (usage): Use `output', not `print' in description of - the --version option, so this message is consistent with all the rest. - - * chgrp.c, chmod.c, chown.c, cp.c, dd.c, df.c, dircolors.c (usage): - * du.c, install.c, ln.c, ls.c, rm.c, rmdir.c, shred.c, touch.c (usage): - Split --help output into smaller pieces. - Use fputs, not printf. - - * src/cp-hash.c: Use opaque type, Hash_table, not `struct hash_table'. - * src/du.c: Likewise. - * src/remove.c: Likewise. - -2001-11-22 Jim Meyering <meyering@lucent.com> - - Don't fail for commands like this: cp a a d/ - This change in behavior was introduced in 4.1.1, as part of the - 2001-09-28 change. cp and mv still fail for commands like this: - rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c - - * src/copy.c (triple_hash_no_name): New function. - (src_info_init): New function. - (copy_internal): Warn and return early for the second and subsequent - occurrences of the same source file named on the command line. - * src/copy.h (struct cp_options) [src_info]: New member. - * src/install.c (cp_option_init): Initialize new member. - * src/mv.c (cp_option_init): Likewise. - * src/cp.c (cp_option_init): Likewise. - (do_copy): Call src_info_init. - - * tests/mv/dup-source: New test for the above. - * tests/mv/Makefile.am (TESTS): Add dup-source. - - * src/copy.c (seen_file): Change type of `stats' parameter to pointer. - (copy_internal): Update caller. - - * src/copy.c (struct F_triple): Rename from dest_info. - (seen_file): Rename from seen_dest. Rename parameters accordingly. - (record_file): Rename from record_dest. Rename parameters accordingly. - (triple_hash): Rename from dest_info_hash. - (triple_compare): Rename from dest_info_compare. - (triple_free): Rename from dest_info_free. - - * src/mknod.c (main): Add a literal format string to suppress - a warning from gcc's -Wformat-security. - - copy.c shouldn't maintain static state. - - * src/copy.c (dest_info): Remove declaration of file-scoped global. - (dest_info_init): Require a parameter. - Update all callers. - (seen_dest): Require a hash table parameter. Update callers. - (record_dest): Likewise. - * src/copy.h: Include hash.h. - (struct cp_options) [dest_info]: New member. - * src/install.c (cp_option_init): Initialize new member. - * src/mv.c (cp_option_init): Likewise. - * src/cp.c (cp_option_init): Likewise. - (do_copy): Remove const attribute from declaration of parameter, x. - -2001-11-17 Jim Meyering <meyering@lucent.com> - - * tests/chmod/equals: New test for the just-fixed bug in - lib/modechange.c. - * tests/chmod/Makefile.am (TESTS): Add equals. - - * configure.ac: Replace use of the one-arg form of AC_INIT - with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR. - -2001-11-12 Jim Meyering <meyering@lucent.com> - - * tests/rm/r-3: Clean up. - -2001-11-09 Jim Meyering <meyering@lucent.com> - - * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no - arguments. - -2001-11-06 Jim Meyering <meyering@lucent.com> - - * src/dircolors.hin: Remove duplicate entry for .png. - Reported by Frédéric L. W. Meunier. - -2001-11-03 Jim Meyering <meyering@lucent.com> - - * Version 4.1.1. - - * src/ls.c (DEV_INO_PUSH): Avoid unnecessary copies. - (dev_ino_pop): Likewise. - -2001-11-02 Jim Meyering <meyering@lucent.com> - - * src/ls.c: Rename global: s/trace_dirs/recursive/. - (extract_dirs_from_files): Rename parameter: - s/recursive/ignore_dot_and_dot_dot/. - - * src/ls.c: (dev_ino_pop): Cast 2nd arg of obstack_blank to `int' - before negating to avoid warning from gcc on systems with 64-bit size_t. - - * src/ls.c: Use XMALLOC and XREALLOC in a several places. It's cleaner. - -2001-11-01 Jim Meyering <meyering@lucent.com> - - * src/ls.c: Include dirfd.h. - (print_dir): If dirfd fails, resort to using stat. - - * tests/ls/infloop: Redirect cmp's stderr to /dev/null. - - * src/ls.c (struct pending) [st_ino, st_dev]: Remove members. - (queue_directory): Remove just-added 3rd parameter - and associated code, and update callers. - (print_dir): Get dev/inode pair via `fstat (dirfd (reading), ...', - and call visit_dir to detect cycles here. - Push the dev/inode pair onto the new stack. - (dev_ino_obstack): New global. - (DEV_INO_PUSH): New macro. - (dev_ino_pop): New function. - (ASSERT_MATCHING_DEV_INO): New macro. - (visit_dir): Take two parameters (dev,ino), not one `pending'. - (main): Initialized the dev_ino_obstack. - Don't call visit_dir here. - Get the dev/ino pair from the new stack, not from the pending entry. - - Make ls -R detect directory cycles. - Add loop detection without incurring an additional stat call per - directory processed. To detect loops efficiently (i.e., time: +O(1) - per directory processed by ls -R, total additional space: - O(max-tree-depth)), record the dev/ino of each `active' directory - in a hash table. To know when a directory is no longer active, - insert a marker (name == NULL) entry for it in the pending queue. - When a marker comes to the front of the queue, that directory is no - longer active, and must be removed from the hash table. To remove it, - we need to know its dev/ino again. Since by the time a directory - has become inactive its files[] info is long gone and it's DIR* - is closed, I must either save the dev/ino someplace (pending seemed - logical) or recompute them via stat. - - The following change will convert to using a stack of dev/ino pairs - instead, pushing an entry when doing the opendir (use fstat on - dirfd (reading)), and popping (when encountering a marker) to get - the dev/ino pair to be removed from the hash table. - - * src/ls.c: Include hash.h, same.h, and xalloc.h. - (INITIAL_TABLE_SIZE, LOOP_DETECT): Define. - (active_dir_set): New global. - (struct dev_ino): Declare. - (dev_ino_hash, dev_ino_compare, dev_ino_free): New functions. - (visit_dir, free_pending_ent): New functions. - (main): Initialize the active_dir_set hash table, if necessary. - Don't confuse a marker entry with a real one. - Detect loops. - Manage the set of active directories. - Free the hash table. - (queue_directory): Add a new parameter. - Ensure that we set the new dev/ino members for each enqueued directory. - Update all callers. - (print_dir): Don't confuse a marker entry with a real one. - (extract_dirs_from_files): Insert a marker entry before inserting - the entries for subdirectories. - - Don't try to print a NULL pointer. - * src/ls.c (main): Don't use ARGMATCH_TO_ARGUMENT. - This reverts part of the 1998-12-31 change. - * tests/ls/dired: New test, for the above. - * tests/ls/Makefile.am (TESTS): Add dired. - -2001-10-24 Jim Meyering <meyering@lucent.com> - - * src/cp.c (main): Free hash table storage. - * src/cp-hash.c (forget_all): Use hash_free, not hash_clear. - -2001-10-22 Paul Eggert <eggert@twinsun.com> - - * src/sys2.h (alloca): Define to __builtin_alloca if __GNUC__, - to avoid a warning if -Wall. - -2001-10-21 Paul Eggert <eggert@twinsun.com> - - * src/dd.c: Remove as many instances of 'unsigned' as - possible, as some of them were not conforming to ANSI C, and - they made the code hard to read. Avoiding 'unsigned' cuts - down on the number of casts. - - (newline_character, space_character, save_char): - Now char, not unsigned char. - (obuf): Now char *, not unsigned char *. - (ascii_to_ebcdic, ascii_to_ibm, ebcdic_to_ascii): - Now char[], not unsigned char[]. - (translate_charset, translate_buffer, swab_buffer, skip, copy_simple, - copy_with_block, copy_with_unblock): - Arg now points to char, not unsigned char. - All callers changed. - (translate_charset, parse_conversion, apply_translations): - Use int index, not unsigned int. - (bit_count): Arg is now int, not unsigned int. - Callers not changed, as they already assumed this. - (translate_buffer): Cast char to unsigned char before using - it as a subscript. - (swab_buffer): Returns char *, not unsigned char *. - (dd_copy): Use char, not unsigned char, for buffers. - Use size_t for possibly-large index, not unsigned int. - -2001-10-21 Jim Meyering <meyering@lucent.com> - - * src/shred.c (isaac_seed_machdep): Handle SIGSEGV, too. Ick. - - * tests/mv/Makefile.am (TESTS): Remove i-3. It's not portable. - - * src/copy.c: Include xreadlink.h. - (copy_internal): Don't use PATH_MAX. - Rewrite the symlink-copying code to use xreadlink. - -2001-10-20 Jim Meyering <meyering@lucent.com> - - * src/touch.c (touch): Extend last change to work on systems - for which errno is set to EINVAL. - - * src/ls.c: Declare some local variables to be `const', where - appropriate. - (usage): Improve the description of --dereference (-L). - - * src/rm.c (usage): Clarify description of --directory (-d). - Based on a patch from Michael Stone. - - * man/chmod.x: Describe sticky files and directories. - From Michael Stone. - - * tests/mv/partition-perm: Don't use a umask that removes owner - read/write. Use a stricter test for permissions. - - * tests/cp/link-preserve: Don't use a umask that removes owner - read/write. That would induce spurious failures in a probably- - outdated version of purify. - -2001-10-18 Jim Meyering <meyering@lucent.com> - - * src/mv.c (movefile): Now that remember_copied xstrdup's the file - name, free `new_dest'. - - Plug a leak. - * src/cp-hash.c (remember_copied): Use src_to_dest_free to free - the entry we couldn't insert. - - Don't use free'd memory. - * src/copy.c (dest_info_free): New function. - (dest_info_init): Make the hash table code use it. - (record_dest): Store each DEST in malloc'd memory. Hence the above. - Use dest_info_free to free the `ent' we couldn't insert. - -2001-10-14 Jim Meyering <meyering@lucent.com> - - Now, -P is the same as --no-dereference, per POSIX. - Use --parents to get the old meaning. - - * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: Remove member. - (long_opts): Associate --no-dereference with `-P'. - (usage): Update description of -P. - (main): Remove local, used_P_option, and code to warn - that the meaning of -P would be changing. - -2001-10-13 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Tighten up and add comments - describing the test for when to record (via remember_copied) - a <dst_path, source_dev, source_ino> triple. - Relax the test that guards the hard-linked-dir check and - the hard-link-preserving code. - - Remove the link-preserving semantics from cp_options.dereference. - Clean up the code that preserves links for `cp -d' and `mv'. - Introduce new options: - --preserve[={mode,ownership,timestamps,links,all}] - --no-preserve={mode,ownership,timestamps,links,all} - -p and --preserve remain unchanged and are equivalent to - `--preserve=mode,ownership,timestamps' - - * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: New member. - (enum) [NO_PRESERVE_ATTRIBUTES_OPTION]: New member. - (enum) [PRESERVE_ATTRIBUTES_OPTION]: New member. - (long_opts): Separate -d and --no-dereference options. - Add `no-preserve'. - Separate -p and --preserve options. - The long-named --preserve now accepts optional arguments; -p doesn't. - (usage): Describe additions and changes. - (cp_option_init): Initialize new member, preserve_links, to 0. - (decode_preserve_arg): New function. - (main) [case 'a']: Set preserve_links to 1. - [case 'd']: Set preserve_links to 1. - Add `case' for long-named --no-dereference. - Handle long-named --no-preserve and --preserve. - - * src/copy.h (enum Dereference_symlink): Add comments. - (struct cp_options) [preserve_links]: New member. - * src/install.c (cp_option_init): Initialize new member to 0. - * src/mv.c (cp_option_init): Initialize new member to 1. - - * tests/cp/link-preserve: Add tests for some of the above. - -2001-10-13 Jim Meyering <meyering@lucent.com> - - * src/copy.h (struct cp_options) [failed_unlink_is_fatal]: Remove - unused member. - * src/mv.c (cp_option_init): Don't set it. - * src/cp.c (cp_option_init): Likewise. - * src/install.c (cp_option_init): Likewise. - - * src/copy.h (struct cp_options): Rename members: - s/preserve_owner_and_group/preserve_ownership/, and - s/preserve_chmod_bits/preserve_mode/. - * src/copy.c, src/cp.c, src/install.c, src/mv.c: Update all uses. - - * man/chown.x: Fix typo: s/Sh/SH/ before OPTIONS. - Reported by Eric S. Raymond. - -2001-10-12 Jim Meyering <meyering@lucent.com> - - * tests/ls/Makefile.am (TESTS): Add infloop. - (XFAIL_TESTS): Mark it as a test that we expect to fail (temporarily). - * tests/ls/infloop: New file. - -2001-10-11 Jim Meyering <meyering@lucent.com> - - * src/mknod.c (main): Tell what's wrong with `mknod c zero 1 5' rather - than saying just `Try `./mknod --help' for more information.'. - Suggestion from Karl Berry. - -2001-10-07 Jim Meyering <meyering@lucent.com> - - * TODO: Remove items relating to cp-hash.c, now that they're done. - - Allow cp -d (and mv when it resorts to copying) to preserve - hard links that span command line arguments. - - * src/cp.c (do_copy): Don't clear the hash table after processing - each command line argument. - * tests/cp/link-preserve: New test for the above. - * tests/cp/Makefile.am (TESTS): Add link-preserve. - - * src/cp-hash.c (remember_copied): Make a local copy of the file name. - (src_to_dest_free): New function (to free the above). - (hash_init): Register src_to_dest_free. - * src/copy.c (copy_dir): Now that remember_copied copies the - file name, free the temporary `dst_path' allocated here. - -2001-10-06 Jim Meyering <meyering@lucent.com> - - Convert du.c to use the functions in lib/hash.c, not private, - slightly-modified copies of those that used to be in cp-hash.c. - - * src/du.c (struct entry) [coll_link]: Remove member. - (struct htab): Remove. - (hash_reset, hash_init, hash_insert2, hash_insert): Remove functions. - - * src/du.c: Include hash.h and same.h. - (htab): Change type of global to `struct hash'; - (entry_hash, entry_compare, hash_ins): New functions. - (count_entry): Use hash_ins instead of hash_insert. - -2001-10-06 Jim Meyering <meyering@lucent.com> - - Rewrite cp-hash.c to use the functions in lib/hash.c. - - * src/cp-hash.c (hash_init): Die if hash_initialize fails. - - * src/cp-hash.c: Rewrite to use the functions in lib/hash.c. - * src/cp-hash.h: Update prototype for hash_init. - * src/mv.c (do_move): Reflect that hash_init now takes no arguments. - * src/install.c (main): Likewise. - * src/cp.c (main): Likewise. - -2001-10-06 Jim Meyering <meyering@lucent.com> - - * src/copy.c (record_dest): Avoid a small leak. - -2001-10-06 Jim Meyering <meyering@lucent.com> - - This decreases the memory footprint a little, when copying - hierarchies containing many files. - - * src/copy.c (copy_internal): Call remember_copied only if - the source file has 1 < st_nlink, or if it's a directory. - Now that EARLIER_FILE is set conditionally, initialize it to NULL. - - * tests/mv/childproof: Redirect stderr on one test. - -2001-10-05 Jim Meyering <meyering@lucent.com> - - * src/copy.c: Include hash-pjw.h and remove definition of hash_pjw. - * src/remove.c: Likewise. - -2001-10-01 Jim Meyering <meyering@lucent.com> - - * src/remove.c (hash_pjw): Remove function. - * src/copy.c: Likewise. - -2001-09-29 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Call record_dest for all types of - files (for which this makes sense), not just regular ones. - - * mkinstalldirs: Update from master. - - * Makefile.maint (wget-update): Add mkinstalldirs. - -2001-09-28 Jim Meyering <meyering@lucent.com> - - This mv command should fail (likewise for cp), rather than - silently clobbering one of the source files. - rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c - Reported by Dan Jacobson. - - * src/cp.c (do_copy): Call dest_info_init if necessary. - * src/install.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/copy.h (dest_info_init): Declare. - * src/copy.c: Include "hash.h" and "same.h". - (struct Dest_info): Define. - (dest_info): Declare global. - (DEST_INFO_INITIAL_CAPACITY): Define. - (hash_pjw): New function. - (dest_info_hash): Likewise. - (dest_info_compare): Likewise. - (dest_info_init): Likewise. - (seen_dest): Likewise. - (record_dest): Likewise. - (copy_internal): If the destination exists, fail if it's in the set - of files that have already been created as part of this mv or cp. - (copy_internal) [move_mode]: Record the destination dev/ino/filename. - (copy_internal) [!move_mode, regular file]: Likewise. - - Accept new option: --reply={yes,no,query} - * src/cp.c: (enum) [REPLY_OPTION]: Define. - (usage): Describe new option. - Split long usage string into smaller pieces. - (main): Handle new option. - - * missing: Update from master. - * config.guess: Likewise. - * config.sub: Likewise. - - * configure.ac: Tell automake to use the file name `config.hin' - rather than the two-`.' config.h.in. - -2001-09-26 Jim Meyering <meyering@lucent.com> - - * man/Makefile.am (common_dep): s/configure.in/configure.ac/. - - * configure.ac: Renamed from configure.in. - - * INSTALL, mkinstalldirs: Update to autoconf 2.50 version. - -2001-09-23 Jim Meyering <meyering@lucent.com> - - * tests/mv/childproof: New test, for the above fix. - Based on a report from Dan Jacobson. - * tests/mv/Makefile.am (TESTS): Add childproof. - - * Makefile.am (SUBDIRS): When using newer gettext (in which - intl/libintl.h is created by rules intl/Makefile) - `intl' must precede `lib'. - -2001-09-22 Jim Meyering <meyering@lucent.com> - - Mostly clean-up (modulo the better diagnostic). - * src/copy.c (copy_internal): Rename parameter, move_mode, to - command_line_arg, and adjust caller. Now, move_mode is a local - that is derived from command_line_arg. - Factor some involved code to produce something slightly more readable. - Use x->move_mode, not move_mode in determining which diagnostic - to give (`backing up %s would destroy source; %s not moved'). - -2001-09-16 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (usage): Fix typo in -g usage. - -H now means --dereference-command-line. - -2001-09-16 Jim Meyering <meyering@lucent.com> - - * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5. - - * man/Makefile.am (*.1): Depend on *source* files, not binaries. - (.x.1): Add code to work around ginstall vs. install exception. - - * man/Makefile.am (dist_man_MANS): Use dist_man_MANS, not man_MANS. - -2001-09-15 Jim Meyering <meyering@lucent.com> - - Convert to a more conventional (e.g., like autoconf) Makefile.am. - * man/Makefile.am: Remove hacks. - * man/GNUmakefile: Remove file. - * man/Makefile.summ: Remove file. - * man/Makefile.maint: Remove file. - * man/ginstall.x: Remove. Renamed to ... - * man/install.x: ... this. New file. - Michael Stone reported that man pages weren't built in non-srcdir build. - - * src/touch.c (EISDIR): Define to 0, if not already defined. - (touch): Give a better diagnostic for e.g., `touch /' by non-root. - Based on a patch from Michael Stone. - Reported by Jeff Sheinberg as Debian bug #101677. - * tests/touch/fail-diag: New test, for the above fix. - * tests/touch/Makefile.am (TESTS): Add fail-diag. - - * src/copy.c (copy_internal) [move_mode]: Support the new - --reply=... option. - (UNWRITABLE): Define (factored out of copy_internal). - (copy_internal): Use UNWRITABLE. - - Accept new option: --reply={yes,no,query} - * src/mv.c: Include argmatch.h. - (enum) [REPLY_OPTION]: Define. - (usage): Describe new option. - Split long usage string into smaller pieces. - (main): Handle new option. - - * src/cp.c (main): Reflect renaming: s/I_ON/I_ASK_USER/. - - * src/copy.h (enum Interactive): Remove members, I_OFF and I_ON. - Instead, add I_ALWAYS_YES, I_ALWAYS_NO, and I_ASK_USER. - - * tests/mv/i-2: Clean up: use priv-check rather than open-coding it. - -2001-05-11 Paul Eggert <eggert@twinsun.com> - - * src/chmod.c, src/chown.c, src/mkdir.c, src/rm.c, src/rmdir.c (main): - Don't strip trailing slashes; POSIX doesn't allow it here. - Don't include "dirname.h" when no longer needed. - -2001-09-08 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Add braces around now-multi-stmt - if-block. This fixes a bug introduced by my 2001-08-06 change. - * tests/mv/i-4: New test, for the above. - * tests/mv/Makefile.am (TESTS): Add i-4. - -2001-09-04 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (get_link_name): Update use of xreadlink. - -2001-09-02 Jim Meyering <meyering@lucent.com> - - * tests/priv-check: Change usage not to use $1. - That's not portable to e.g., Solaris2.6's /bin/sh. - Communicate via an envvar instead. - * tests/mv/i-3: Don't pass an argument to a sourced script. - * tests/cp/special-bits: Likewise. - * tests/chown/basic: Likewise. - - * Makefile.maint (alpha): Depend on local-check so that they run - a little earlier. - -2001-09-01 Jim Meyering <meyering@lucent.com> - - * src/df.c (show_point): Use canonicalize_file_name, if possible. - [HAVE_RESOLVEPATH], [!HAVE_RESOLVEPATH]: Use malloc, not alloca, - so that these two paths also produce `resolved' in malloc'd storage. - Free that memory when done with it. - - * src/ls.c: Include "xreadlink.h". - (get_link_name): Don't use PATH_MAX. - Rewrite to use xreadlink. - -2001-08-30 Paul Eggert <eggert@twinsun.com> - - * src/chgrp.c: Do not include savedir.h; not used. - * src/chown.c: Likewise. - - * src/chmod.c (change_dir_mode): Remove statp arg; no longer needed. - * src/chown-core.c (change_dir_owner): Likewise. - * src/du.c (count_entry): Remove st_size argument. - * src/copy.c (copy_dir): Likewise. - -2001-08-30 Paul Eggert <eggert@twinsun.com> - - * src/copy.c: Include full-write.h. - * src/dd.c: Likewise. - - * src/copy.c (full_write): Remove decl; not needed. - * src/dd.c: Likewise. - * src/install.c: Likewise. - * src/mv.c: Likewise. - - * src/copy.c (copy_reg): - Don't assume read and write size fits in int. - * src/dd.c (open_fd): Likewise. - -2001-08-30 Paul Eggert <eggert@twinsun.com> - - * src/remove.c (bool): Remove; moved to... - * src/system.h: ...here. - - * src/du.c (count_entry, main): Reflect changes to the - exclude functions. - -2001-08-13 Jim Meyering <meyering@lucent.com> - - * src/cp.c, src/dd.c, src/ln.c, src/ls.c, src/mv.c (AUTHORS): Mark - string for translation, since it contains the English word `and'. - - * Makefile.maint (author_mark_check): New rule. - (local-check): Depend on it. - - Change the rules governing when mv prompts before removing an - existing destination file so it is consistent with POSIX: - Now, in the absence of --force (-f), if stdin is a tty and an - existing destination is not writable mv will prompt before - overwriting the destination file. - Reported by Vin Shelton. - - * src/copy.c (overwrite_prompt): New function. - (copy_internal): Separate the mv-specific and non-move_mode code - that determines whether to prompt the user. - [move_mode]: Don't make mv fail (i.e. don't return 1) just because - the user declined to remove one or more of the files. - * src/copy.h (enum Interactive): New type. - (struct cp_options) [interactive]: Change type to Interactive. - (struct cp_options) [stdin_tty]: New member. - * src/cp.c (cp_option_init): Adjust initialization of `interactive', - and initialize new member, stdin_tty. - * src/mv.c (cp_option_init): Likewise. - * src/install.c (cp_option_init): Likewise. - * src/cp.c (main): Adjust initialization(s) of `interactive', - * src/mv.c (main): Likewise. - * tests/mv/i-1: Change expected exit status to reflect the above. - -2001-08-12 Jim Meyering <meyering@lucent.com> - - * tests/mk-script ($program_name): Define. - (main): Use $program_name, rather than long-inaccurate `build-script'. - (main): Iterate over the sorted keys (rather than `while...each...'), - so this script produces the same output regardless of which version - of perl (e.g., perl5.6) is used. - - Work around non-compliant gettimeofday on Mac OS X 10.0.4, - (aka Darwin 1.3.7) that caused the date of the first file listed - in long output to be the current time rather than the file's mtime. - The real work is in m4/gettimeofday.m4 and the wrapper function, - lib/gettimeofday.c. - * src/ls.c: Include gtod.h. - (main): `Call' GETTIMEOFDAY_INIT. - (print_long_format): Add a comment about gettimeofday. - Report and diagnosis from Bernhard Baehr. - - * src/shred.c: Include gtod.h. - (main): `Call' GETTIMEOFDAY_INIT, just in case the code ever changes - to make it necessary. - -2001-08-10 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (print_long_format): Simplify previous patch for - listing negative sizes, by adding OFF_T_MAX - OFF_T_MIN + 1 - instead of doing a fancy conditional shift. This is simpler - and it avoids GCC's bogus compile-time warning about shift - counts. (As a bonus, it is portable to hosts that do not use - twos-complement arithmetic. :-) - -2001-08-10 Jim Meyering <meyering@lucent.com> - - * ls.c (print_long_format): Multiply the shift width by zero - to avoid a warning from gcc on hosts with an unsigned type for the - st_size member. - -2001-08-06 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (print_long_format): If a file size is negative, assume - the typical case where it has wrapped around from a positive value. - -2001-08-07 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (m4-check): New rule. - (local-check): Depend on it. - -2001-08-06 Jim Meyering <meyering@lucent.com> - - Fix the bug whereby `mv -uf source dest' would delete source, - even though it's older than dest. - - * src/mv.c (usage): Correct the description of --update. - * src/copy.c (copy_internal): Set *rename_succeeded, so that - the caller (mv) doesn't remove the source file. - Reported by Phelippe Neveu. - - * tests/mv/update: New test for the above. - * tests/mv/Makefile.am (TESTS): Add update. - -2001-08-05 Jim Meyering <meyering@lucent.com> - - * tests/root-only: Generalize. Rename to ... - * tests/priv-check: ...this. New file. Renamed from the above. - * tests/Makefile.am (EXTRA_DIST): Reflect renaming. - * tests/mv/i-3: Reflect name and usage changes. - * tests/chown/basic: Likewise. - * tests/cp/special-bits: Likewise. - * tests/sample-test: Likewise. - -2001-08-04 Jim Meyering <meyering@lucent.com> - - * tests/root-only: Remove *all* write access, not just that - of the owner. - - * tests/mv/i-3: New test for the above fix. - * tests/mv/Makefile.am (TESTS): Add i-3. - -2001-08-03 Paul Eggert <eggert@twinsun.com> - - * ls.c (quote_name): Pass 0 to mbsnwidth, since the default - got changed and we want the default now. - -2001-08-03 Paul Eggert <eggert@twinsun.com> - - * ls.c (quote_name): Pass 0 to mbsnwidth, since the default - got changed and we want the default now. - -2001-07-15 Jim Meyering <meyering@lucent.com> - - * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include - the new, generated file, unlocked-io.h. - - * src/sys2.h: Include "unlocked-io.h", rather than hard-coding the - HAVE_*_UNLOCKED macros. - - * Makefile.cfg ($(srcdir)/m4/jm-glibc-io.m4): New rule. - -2001-07-14 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (tgz-size): Also work for sizes in the kilobyte range. - - * Makefile.maint: More changes from autoconf. - - Changes from autoconf. - * Makefile.maint (GZIP_ENV): Add --best. - (AMTAR): Define. - (writable-files): Factor out ../release/ constant, and work (by - creating it) even if such a directory doesn't exist. - -2001-07-08 Jim Meyering <meyering@lucent.com> - - * src/copy.c (get_dest_mode): Clear set-user-ID and set-group-ID bits - when copying (i.e., not in move mode) and not preserving permissions. - Reported by kytek@cybercomm.net. - FIXME: add a test for this!!! - -2001-07-02 Jim Meyering <meyering@lucent.com> - - * src/ln.c (do_link): Test the boolean symbolic_link, not the function, - symlink. Patch by Frederik Eaton. - -2001-06-17 Jim Meyering <meyering@lucent.com> - - * Makefile.maint: Factor out definitions specific to fileutils, - sh-utils, and textutils, so that other packages can use the framework. - Patch by Akim Demaille. - * Makefile.cfg: New file with package-specific definitions. - * GNUmakefile: Include Makefile.cfg. - * Makefile.am (EXTRA_DIST): Add Makefile.cfg. - -2001-06-16 Jim Meyering <meyering@lucent.com> - - * src/ls.c (main): Recheck global print_with_color after calling - parse_ls_color, since that function may have reset it. - Based on a patch from Richard Dawe. - -2001-06-16 Jim Meyering <meyering@lucent.com> - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-06-09 Jim Meyering <meyering@lucent.com> - - * configure.in (ALL_LINGUAS): Add Turkish (tr). - -2001-05-25 Jim Meyering <meyering@lucent.com> - - * src/ls.c (print_long_format): Don't truncate user names - or group names that are longer than 8 characters. - - Add definitions that let me factor the wget rule while still letting - me accommodate the fact that these files reside in several different - directories and come from different places. - * Makefile.maint (wget-files): Define. - (get-targets, *-local_dir, *-url_prefix): Likewise. - (target, url, local_file): Convenience variables. - ($(get-targets)): The factored rule. - -2001-05-24 Jim Meyering <meyering@lucent.com> - - * src/ansi2knr.c: Update from master source. - - * Makefile.maint (wget-update): Have wget write to a temporary file, - and replace the original only if wget succeeds. - Also get ansi2nkr.c. - (move-if-change): Define. - (wget-update): Use it in place of mv. - - * src/ls.c: Use `#if D_TYPE_IN_DIRENT && defined DTTOIF' to - determine whether to enable the DT_INIT definition, not the less - portable `#if defined _DIRENT_HAVE_D_TYPE || defined DTTOIF'. - Reported by Eli Zaretskii. - - * src/mkfifo.c (main): Remove quotes around %s. - The argument is already quoted via the quote function. - * src/mknod.c (main): Likewise. - Reported by Göran Uddeborg. - -2001-05-21 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (wget-update): depcomp and missing are now in - automake's lib/ subdirectory. - -2001-05-11 Paul Eggert <eggert@twinsun.com> - - Add new --time-style option. - Change --full-time to be equivalent to --time-style=full-iso. - - * NEWS, doc/omni-utils.texi: Describe this change. - - * src/ls.c: Include "hard-locale.h". - (nstrftime): New decl. - (enum time_style): New enum. - (time_style_args, time_style_types): New constants. - (full_time): Remove. - (long_time_format): Initialize to POSIX defaults. - (TIME_STYLE_OPTION): New constant. - (long_options, decode_switches, usage): Add --time-style support. - (long_time_expected_width): Use nstrftime, not strftime. - (print_long_format): Likewise. - Increase initial size to match new full-iso time style. - - * tests/ls/time-1: Unset QUOTING_STYLE and TIME_STYLE. Set TZ. - Adjust to change in full-time format. - Fix typo in failure messages (-a and -m were interchanged). - -2001-05-20 Jim Meyering <meyering@lucent.com> - - * doc/Makefile.am (EXTRA_DIST): Add constants.texi and doclicense.texi. - (info_TEXINFOS): s/fileutils/omni-utils/. - (check-texinfo): New rule. - (check): Depend on check-texinfo. - - * doc/omni-utils.texi (uniq invocation): Document the new optional - arguments to the --all-repeated option. - Make all references to POSIX use @sc{posix}. - -2001-05-19 Jim Meyering <meyering@lucent.com> - - * doc/fileutils.texi: Remove. - - * doc/omni-utils.texi: Change a few uses of `timezone' to `time zone'. - Reported by Stephen Eglen. - -2001-05-16 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (my-distcheck): Remove work-around kludge and - associated comment, now that automake has ben fixed. - -2001-05-12 Paul Eggert <eggert@twinsun.com> - - Clean up some of the places where the code assumed that random - types like 'mode_t' fit into 'int', which POSIX doesn't guarantee. - - * src/ls.c (struct fileinfo.linkmode): Now st_mode. - (print_color_indicator, print_name_with_quoting, print_type_indicator, - length_of_file_name_and_frills): - Use mode_t, not unsigned int, to store modes. - (dired_dump_obstack): Do not assume size fits in 'int'. - (get_link_name): readlink returns ssize_t, not int. - (make_link_path): Store buffer size as size_t, not int. - (print_long_format): Use unsigned long, not unsigned, to print - nlink_t, uid_t, gid_t, major_t, minor_t. - -2001-05-13 Paul Eggert <eggert@sic.twinsun.com> - - * src/mknod.c (main): Check for NODEV device only if NODEV is defined. - * src/system.h (NODEV): Remove, undoing previous change. - -2001-05-13 Jim Meyering <meyering@lucent.com> - - * src/remove.c (dir_name, dir_len): Define to different names - to avoid shadowing warnings due to new declarations from dirname.h. - - * tests/Fetish.pm (run_tests): Fail if any test name is longer - than 12 bytes. - * tests/ls-2/tests: Shorten test names so the length of a - resulting file name doesn't exceed 14. - -2001-05-12 Paul Eggert <eggert@twinsun.com> - - * src/system.h (NODEV): New macro, if not already defined. - - * src/mknod.c (main): Check for overflow when converting out - of uintmax_t. Do not assume that major_t and minor_t are no - wider than int. Check for makedev failures. Convert device - numbers via uintmax_t, not unsigned long, just in case. - Coalesce duplicate code in the block and character device - cases. - -2001-05-11 Paul Eggert <eggert@twinsun.com> - - Add new --dereference-command-line option. - -H now means this instead of meaning --si, as POSIX requires. - - * NEWS, doc/omni-utils.texi: Document this. - - * src/ls.c (enum Dereference_symlink): New type. - (dereference): New var, replacing trace_links, which was removed. - (long_options, main, decode_switches, gobble_file, usage): - Implement the changes. - - * tests/ls-2/tests: - Rename slink-dir test to slink-dir-dF. Add new tests - slink-dir-F, slink-dir-dFH, slink-dir-dFL. - -2001-05-11 Paul Eggert <eggert@twinsun.com> - - dirname code cleanup. base_name now behaves more compatibly - with POSIX basename when given file names that have trailing - slashes, and similarly for dir_name. Add new primitives - base_len and dir_len. Put the directory-name-related decls - into dirname.h. - - * src/chmod.c (strip_trailing_slashes): Remove; now in dirname.h. - * src/chown.c (strip_trailing_slashes): Likewise. - * src/cp.c (strip_trailing_slashes): Likewise. - * src/df.c (strip_trailing_slashes): Likewise. - * src/ln.c (strip_trailing_slashes): Likewise. - * src/mkdir.c (strip_trailing_slashes): Likewise. - * src/rm.c (strip_trailing_slashes): Likewise. - * src/rmdir.c (strip_trailing_slashes): Likewise. - - * src/dircolors.c, src/ls.c, src/remove.c: - Include "dirname.h", to get base_name. - - * src/cp.c (make_path_private): Use dir_len instead of - dir_name, and avoid an extra mealloc call. - - * src/df.c (find_mount_point): No need to strip trailing - slashes before invoking new dir_name. - - * src/mv.c: Include "dirname.h". - (strip_trailing_slashes_2): Remove; now done by - strip_trailing_slashes. All callers changed. - - * src/sys2.h (base_name): Remove decl; now in dirname.h. - - * src/copy.c (copy_internal): Remove the code that tested for NULL - dir_name return value. That can't happen. - -2001-05-12 Jim Meyering <meyering@lucent.com> - - * src/ls.c (usage): Wording changes related to -o, -n, and -g. - * doc/omni-utils.texi: Likewise. - From Paul Eggert. - -2001-05-11 Paul Eggert <eggert@twinsun.com> - - * src/chmod.c (mode_changed, change_file_mode): - There's no need to invoke both lstat and stat here, so call just - one of the two functions. - -2001-05-11 Jim Meyering <meyering@lucent.com> - - * doc/omni-utils.texi: New file. The union of fileutils.texi, - sh-utils.texi, and textutils.texi. Merged by Brian Youmans. - - * src/shred.c (usage): Warn about backups and mirrors. - * doc/omni-utils.texi (shred invocation): Likewise. - From Nelson Beebe. - -2001-05-09 Jim Meyering <meyering@lucent.com> - - * src/ls.c (main): Don't set `format_needs_stat' for --recursive (-R), - because that would make `ls -RF dir' stat unnecessarily all of the - files in dir/ on some systems. - Similarly, don't set `format_needs_stat' for --dereference (-L), - because that would make `ls -RLF dir' stat unnecessarily all non-symlink - files in dir/ on some systems. - Instead, ... - (gobble_file): ... also stat a file if `trace_dirs' (-R) is set and its - type is unknown. - ... also stat a file if `trace_links' (-L) is set and the file is a - symlink or its type is unknown. - (print_dir): Also recognize DT_REG and DT_LNK. - -2001-05-07 Jim Meyering <meyering@lucent.com> - - * src/chown.c (main): Fix thinko that made --from=... fail: - s/argv[optind]/optarg/. Reported by Andrew Pham. - - * tests/chown: New directory. - * tests/chown/basic: New (root-only) test for the above. - * tests/cp/special-bits: Factor out the root-only test into this ... - * tests/root-only: ... new file. - * tests/Makefile.am (EXTRA_DIST): Add root-only. - (SUBDIRS): Add chown. - * tests/chown/Makefile.am: New file. - * configure.in (AC_OUTPUT): Add tests/chown/Makefile. - -2001-05-05 Jim Meyering <meyering@lucent.com> - - * src/ls.c (decode_switches): Complain if the envvar, QUOTING_STYLE, - is set to an invalid value. - Move some declarations of locals into scopes where they're used. - -2001-05-02 Jim Meyering <meyering@lucent.com> - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2001-05-01 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (tgz-size, xd-size): Compute sizes. - (announcement): Include sizes of .tar.gz and .xdelta files - in the announcement. - - * src/ls.c (print_owner): New global variable. - (usage): Update the descriptions of -g. - (decode_switches): Honor the -g option (omit owner information), - now that POSIX specifies it. - (print_long_format): Don't print owner name if -g was specified. - Move declaration of `user_name' into the scope where it's used. - (print_group): Rename global from `inhibit_group'. Update all - uses accordingly. - * doc/fileutils.texi (What information is listed): Describe -g. - * TODO: Remove item for ls -g. - - * src/ls.c (decode_switches): Make -n work just like -l, except - with numeric IDs, per POSIX. Before, to have any effect, -n had - to be used with -l. Reported by Dale Scheetz. - (usage): Update the description of -n. - Separate the descriptions of -n and --numeric-uid-gid. - Split string in --help output that had exceeded my limit of - 2048 bytes. - -2001-04-29 Jim Meyering <meyering@lucent.com> - - * Version 4.1. - - * configure: Regenerate using a further-patched copy of autoconf-2.49e - to work around a bug in its test for ranlib. This is the change to - autoconf's acgeneral.m4 that was made on 2001-04-24. - - * README: Don't mention mvdir. It is no longer provided. - Don't mention HP/UX vs. du blocksize problem. It's long gone. - Remove note about how cp, mv, and ln couldn't make backups - of files with names of maximum length. Now they can do that. - Thank the people who have provided access to their systems - for portability testing. - Warn about and describe autoconf/automake version requirements. - Use a better URL for the GNU Coding Standards. - - * man/rm.x: Refer to shred. - Remove the example showing how to remove `-foo', since that is now - in the --help output (and hence automatically included). - * src/rm.c (usage): Mention shred. - - * src/shred.c (usage): Include in --help output the warning about - some of the filesystem types on which shred is not effective. - -2001-04-25 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (my-distcheck): Add a comment. - -2001-04-23 Jim Meyering <meyering@lucent.com> - - * Version 4.0.45. - -2001-04-22 Jim Meyering <meyering@lucent.com> - - * src/ls.c (decode_switches): Ensure that -1 has no effect when it - follows -l, per POSIX. Reported by Ulrich Drepper. - - * src/dd.c (usage): Mention that sync makes dd pad with spaces (rather - than NULs) when used with block or unblock. - (dd_copy): When using sync with either block or unblock, - pad with spaces. Reported by Dale Scheetz. - * tests/dd/skip-seek (block-sync-1): New test, for this. Based on - a report from Dale Scheetz. - * doc/fileutils.texi (dd invocation): Document it here, too. - - * configure: Regenerate using a patched copy of autoconf-2.49e to - work around a bug in its test for a working memcmp function. - This is the change to autoconf's acfunctions.m4 that was made - on 2001-04-22. - - * tests/ls/no-arg: New file. - * tests/ls/Makefile.am (TESTS): Add no-arg. - * src/ls.c (main): Fix off-by-one error introduced with last change. - -2001-04-21 Jim Meyering <meyering@lucent.com> - - * Version 4.0.44. - - * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49e. - - * doc/fileutils.texi (touch invocation): Discuss ctime. - Based on suggestions and contributions from Aharon Robbins - and Dan Jacobson. - - * src/ls.c (main): When given two or more arguments but the only one - that exists is a directory, don't treat it as if it were the only - argument. Before, `mkdir d; ls no-dir d 2>/dev/null' would act like - `ls d' and produce no output. Now, it prints `d:'. - Report and patch from Stéphane Chazelas. - * tests/ls-2/tests: New tests, for the above fix. - -2001-04-08 Jim Meyering <meyering@lucent.com> - - * depcomp: New version, from automake. - -2000-10-31 Bruno Haible <haible@clisp.cons.org> - - * ls.c: Don't inspect MB_LEN_MAX. Paul Eggert says it's - not always defined correctly. - -2001-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * tests/chgrp/basic: Ensure that initial group id's are properly set - for `d' and `d/f3'. - -2001-04-02 Jim Meyering <meyering@lucent.com> - - * tests/mv/setup: Skip nonexistent directories so we don't get - diagnostics from df about e.g., `/usr/tmp not found'. - -2001-03-24 Jim Meyering <meyering@lucent.com> - - * configure.in: Don't require autoconf version here -- it's done in m4/. - -2001-03-23 Jim Meyering <meyering@lucent.com> - - * Version 4.0.43. - - * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49d. - - * Makefile.maint (check-copyright): New target and rule. - (alpha): Depend on it. - - * missing: Handle shell built-ins (only `:' and `cd' for now) to work - around brain damage in Ultrix's /bin/sh. - -2001-03-18 Jim Meyering <meyering@lucent.com> - - * Version 4.0.42. - - * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL - to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a - suggestion from Eli Zaretskii. - -2001-03-17 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi: Warn that touch DATE FILE will be withdrawn. - -2001-03-17 Jim Meyering <meyering@lucent.com> - - * tests/install/basic-1: Add the standard $VERBOSE-handling hook. - This test currently fails for mips-dec-ultrix4.4. - - * tests/install/create-leading: Use ../envvar-check rather than - open-coding the same tests. - - * tests/envvar-check: Set/use $as_unset, for those shells - (like Ultrix4's /bin/sh) that don't accept `unset'. - - * missing (--run): Use `eval' to run `"$@"'. Otherwise, Ultrix4.4's - /bin/sh fails and outputs garbage. - - * src/touch.c (usage): Tweak the obsolescent usage line so that - help2man recognizes it as such. Reported by Dan Jacobson. - -2001-03-16 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (wget-update): Also get `missing'. - Use for-loops. - - * missing: Update from automake. - -2001-03-11 Jim Meyering <meyering@lucent.com> - - * tests/rm/isatty: Disable this test, for now. - It would block when run in the background. - -2001-03-09 Jim Meyering <meyering@lucent.com> - - * config.guess: Update from master repository. - - * Makefile.maint (my_distdir): Define new variable, and use this - in place of most old uses of $(distdir). - - * src/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). - Reported by Akim Demaille. - - * tests/help-version: Ensure that /dev/full is a character device - (using test -c) as well as being writable, before trying to write to it. - Otherwise, the test could mistakenly append a newline to an existing, - regular, writable, /dev/full file. - Suggested by Ulrich Drepper. - -2001-03-06 Jim Meyering <meyering@lucent.com> - - * src/dd.c (S_TYPEISSHM): Rename parameter to reflect its type. - (main): Pass a `struct stat *', not stat.st_mode to S_TYPEISSHM. - Patch by Alain Magloire. - -2001-03-04 Jim Meyering <meyering@lucent.com> - - * src/dd.c (output_char): Reformat so each statement is on a - separate line. - -2001-02-21 Jim Meyering <meyering@lucent.com> - - * src/mkdir.c (main): Remove assignment-in-if-expression. - In fact, remove t_errno altogether. Reported by Nelson Beebe. - - * tests/ls-2/tests: Add two tests of existing behavior -- both will - have to be changed (soon after release), once ls is fixed. - -2001-02-20 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (FULL_TIME_OPTION): Renamed from FULL_TIME, for - consistency with the other enum values. - -2001-02-20 Paul Eggert <eggert@twinsun.com> - - * NEWS, doc/fileutils.texi: ls -H is now obsolescent. - * src/ls.c (SI_OPTION): New enum value. - (long_options): Use it instead of 'H' for --si. - (decode_switches): Warn that -H will change soon. - (usage): Likewise. - -2001-02-18 Jim Meyering <meyering@lucent.com> - - * tests/rm/Makefile.am (TESTS): Add isatty. - * tests/rm/isatty: New test, for the bug fixed below. - - * Version 4.0.41. - - * depcomp: New version, from automake. - - `chmod 0 file; rm file' would no longer prompt before removal. - * src/remove.c (remove_file): Revert last change. - Reported by Vin Shelton. - -2001-02-17 Jim Meyering <meyering@lucent.com> - - * Version 4.0.40. - - * src/chown.c (main): `quote' the offending argument. - -2001-02-17 Paul Eggert <eggert@twinsun.com> - - Stop trying to support hosts that have nonstandard declarations for - mbrtowc and/or mbstate_t. It's not worth the portability hassle. - - * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. - * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): - Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. - * lib/mbswidth.c, lib/quotearg.c, src/ls.c (mbrtowc, mbsinit): - Remove workaround macros for hosts that have mbrtowc but not - mbstate_t, as we now insist on proper declarations for both - before using mbrtowc. - Reported by Matt Schalit. - -2001-02-17 Jim Meyering <meyering@lucent.com> - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-02-16 Paul Eggert <eggert@twinsun.com> - - * doc/getdate.texi: Mention that only English is supported. - Show how to use "date" so that the output is acceptable to getdate. - Mention Z as an abbreviation for UTC. - -2001-02-11 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (emit-rsync-commands): Define. - (alpha): Use it here. - -2001-02-10 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (alpha): Fix previous, incomplete change. - - * Version 4.0.39. - - * depcomp: New version, from automake. - -2001-02-04 Jim Meyering <meyering@lucent.com> - - * README: Remove note about now-ancient Sequents. - -2001-02-03 Jim Meyering <meyering@lucent.com> - - * src/ln.c (main): Change type of index variable to `unsigned int' - to avoid a warning. - - * config.guess: Update from master repository. - - * Makefile.maint (a_host): Use fencepost. - (real_dir): Use the same name for both. - (alpha): Print commands for both hosts. - - * src/mv.c (long_options): Use `strip-trailing-slashes', - per the documetation, not `strip-trailing-slash'. - * src/cp.c (long_opts): Likewise. - Reported by Oskar Liljeblad. - - * doc/fileutils.texi (mv invocation): Add a warning about how a trailing - slash makes a difference. Prompted by a report from Oskar Liljeblad - via Michael Stone (Debian bug#83991). - -2001-01-31 Jim Meyering <meyering@lucent.com> - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-01-28 Jim Meyering <meyering@lucent.com> - - * Version 4.0.38. - - * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49c. - - * src/ls.c (gobble_file): Add a FIXME comment. - - * TODO: Add a few items. - - * src/ls.c (enum) [FULL_TIME]: Define. - (long_options): Use it. - (decode_switches): Make --full-time imply -l. - Prompted by a report from Karl Eichwalder. - -2001-01-22 Jim Meyering <meyering@lucent.com> - - * src/remove.c (remove_file): Correct an expression to avoid making - an unnecessary call to euidaccess for each file. - -2001-01-21 Jim Meyering <meyering@lucent.com> - - * Version 4.0.37. - -2001-01-20 Jim Meyering <meyering@lucent.com> - - * configure.in: Remove jm_CHECK_ALL_TYPES. - Now it's invoked by jm_MACROS. - -2001-01-17 Jim Meyering <meyering@lucent.com> - - * src/sys2.h (case_GETOPT_VERSION_CHAR): Use PACKAGE, not GNU_PACKAGE. - * src/sync.c (main): Likewise. - * src/shred.c (PACKAGE): Likewise. - * src/dd.c (main): Likewise. - -2001-01-14 Jim Meyering <meyering@lucent.com> - - * Version 4.0.36. - - * src/shred.c (UINT_MAX_32_BITS): Define. - Use UINT_MAX_32_BITS in the cpp conditions that determine - the `word32' typedef. Using a literal `0xffffffff' failed with - HPUX10.20's /bin/cc. - - * config.sub: Update from master repository. - * config.guess: Likewise. - -2001-01-02 Volker Borchert <bt@teknon.de> - - Work around a broken rename system call, e.g. on SunOS 4.1.1_U1, - that fails when the source path has a trailing slash. - * src/copy.h [RENAME_TRAILING_SLASH_BUG]: Use the rename wrapper. - * tests/mv/trailing-slash: Test whether the workaround works. - * tests/m4/Makefile.am (TESTS): Add trailing-slash. - -2001-01-03 Alexandre Duret-Lutz <duret_g@epita.fr> - - * po/Makefile.in.in (update-po): Merge po-files in temporary files - in the build directory, and update the source directory only when - the merged catalog differs from the original. This fixes the known - `make distcheck' failure due to `make update-po' being called - on up-to-date but read-only files. - -2001-01-13 Jim Meyering <meyering@lucent.com> - - * src/copy.c (same_file_ok): When moving a symlink onto itself, - don't remove the symlink. Reported by David Luyer as Debian bug#82089, - via Michael Stone. - * tests/mv/into-self-4: New test for the above. - * tests/mv/Makefile.am (TESTS): Add into-self-4. - - * tests/chmod/setgid: If `chmod g+s d' fails, then try to chgrp - to a group of which we're a member, then try the chmod again. - -2001-01-11 Jim Meyering <meyering@lucent.com> - - * depcomp: New version, from automake. - -2001-01-10 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Add a comment. - Set *copy_into_self in the new code that detects that. - Make diagnostic more consistent: s/won't/will not/. - [move_mode, copy_into_self]: Give a diagnstic here, now that - we have the top_level_* globals. Remove the corresponding diagnostic - from mv.c. - Add a FIXME comment. - * src/mv.c (do_move): Remove diagnostic, now that copy.c issues it. - Set `fail' to nonzero in the primary `if (copy_into_self)' block - rather than in its own tiny one below. - - * src/copy.c (copy_internal): Don't allow cp (or mv, when working - across a partition boundary) to overwrite a non-directory with a - directory. Reported by Michael J. Croghan. - * tests/cp/dir-vs-file: New test for the above. - * tests/cp/Makefile.am (TESTS): Add dir-vs-file. - -2001-01-09 Jim Meyering <meyering@lucent.com> - - Give a better diagnostic for `cp -R a a'. - * src/copy.c (top_level_src_path, top_level_dst_path): New globals. - (copy_internal): Use them. - (copy): Set them. - * src/cp-hash.c [struct entry] (node): Describe how it's used, - now that we've overloaded it, in order to detect and diagnose - the copying-directory-into-self problem. - (new_file): Remove global. - (htab): Declare global to be static. - (remember_created): Insert file name instead of dummy pointer, so - that copy.c can use the just-created directory name to detect - the copying-directory-into-self problem. - * tests/cp/into-self: New test for the above. - * tests/cp/Makefile.am (TESTS): Add into-self. - -2001-01-07 Jim Meyering <meyering@lucent.com> - - * src/cp.c (usage): Split a string that was longer than 2048 bytes. - - * doc/perm.texi: s/can not/cannot/ - -2001-01-07 Karl Eichwalder <ke@suse.de> - - * src/chown.c (usage): Split long message string. - -2001-01-07 Karl Eichwalder <ke@suse.de> - - * src/ls.c (usage): Untabify. - - * src/chgrp.c (parse_group): Normalize spelling. - -2001-01-03 Paul Eggert <eggert@twinsun.com> - - * NEWS: Document the planned --full-time change. - * doc/fileutils.texi: Likewise. - * NEWS: Document that time stamps depend on LC_TIME, not LC_MESSAGES. - -2001-01-03 Paul Eggert <eggert@twinsun.com> - - Use the more precise algorithm of GNU "make" to decide whether - a file is in the future, by looking at high-resolution time - stamps if available. - - * src/ls.c: - (TIMESPEC_NS): New macro. - (current_time): Initialize to the minimum value. - (current_time_ns): New var. - (main): Do not bother to initialize current_time; - it's no longer needed. - (get_current_time): New function. - (print_long_format): Use it when a file appears to be in the future. - Get the nanoseconds of the file's time stamp, if available, - and use that to decide whether the file appears to be in the future. - - * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): New macros. - -2001-01-02 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (long_time_expected_width, print_long_format): Fix - bug: the initial byte passed to strftime wasn't initialized to - a nonzero value after the buffer was reallocated. - -2001-01-02 Paul Eggert <eggert@twinsun.com> - - Make ls -l compatible with POSIX, which requires that the - behavior of time formats must depend only on LC_TIME, not on - LC_MESSAGES. - - * po/Makefile.in.in (install-data-yes): If the package is - fileutils, install LC_TIME as an alias for LC_MESSAGES. - * src/sys2.h (dcgettext): New macro. - * src/ls.c (decode_switches): Use dcgettext with LC_TIME, - not plain gettext, to get the translations of time formats. - -2001-01-02 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (long_time_expected_width): New function. - (print_long_format): Use it, so that we don't assume a - particular width for time stamps in an internationalized - environment. - -2001-01-01 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi, NEWS: - ls -l now reports the year for files even slightly in the future, as - POSIX requires. This helps warn users about clock skew problems. - - * src/ls.c (print_long_format): - Report the year for files even slightly in the future. - Avoid overflow problems near Y2038 on 32-bit hosts. - To calculate "six months", take half the average Gregorian - year, not 180 days. - -2001-01-01 Jim Meyering <meyering@lucent.com> - - * tests/chmod/Makefile.am (TESTS): Add setgid. - * tests/chmod/setgid: Test for chmod's existing behavior. - Based on a report from Paul Eggert. - -2000-12-29 Paul Eggert <eggert@twinsun.com> - - Clean up the terminology a tad: some directories were called "sticky" - when they were really setgid. - * tests/Makefile.am (EXTRA_DIST): sticky-check -> setgid-check - * tests/chmod/c-option, tests/cp/cp-parents, tests/mkdir/parents, - tests/mkdir/perm: Likewise. - * tests/setgid-check: File renamed from tests/sticky-check. - All uses of "sticky" changed to "setgid". - -2000-12-31 Jim Meyering <meyering@lucent.com> - - * tests/cp/Makefile.am (TESTS): Add deref-slink. - * tests/cp/deref-slink: New file. Test for the bug fixed by my - 2000-12-28 change to copy.c. - -2000-12-30 Paul Eggert <eggert@twinsun.com> - - * src/ls.c: Improve performance by invoking gettext twice at the start, - instead of once for each file. - (long_time_format): New var. - (decode_switches): Initialize it, if format == long_format. - (print_long_format): Use it. - -2000-12-30 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (print_long_format): Don't dump core if strftime - returns the empty string. - -2000-12-30 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (gobble_file): If not using long format, don't - invoke acl; it's not needed. - -2000-12-30 Jim Meyering <meyering@lucent.com> - - Avoid an unnecessary `stat' when using --dereference. - * src/copy.c (same_file_ok): Use stat only if lstat reported that - the file was a symbolic link. - -2000-12-29 Paul Eggert <eggert@twinsun.com> - - * doc/perm.texi: append-only directories -> restricted deletion flag, - which is the term that POSIX d5 uses for this notion. - -2000-12-28 Paul Eggert <eggert@twinsun.com> - - * tests/group-names: Try /usr/xpg4/bin/id (Solaris 7) if plain - 'id' doesn't work. - -2000-12-28 Jim Meyering <meyering@lucent.com> - - * tests/cp/cp-parents: Run sticky-check from just-created directory. - -2000-12-28 Jim Meyering <meyering@lucent.com> - - * src/copy.c (same_file_ok): Fix two typos from my 2000-09-03 change: - s/tmp_dst_sb/tmp_src_sb/. - -2000-12-27 Paul Eggert <eggert@twinsun.com> - - * tests/sticky-check: Turn off the working directory's sticky - bit, so that we don't have to worry about it later. - - * src/copy.c (same_file_ok): Use a single auto var for - tmp_dst_sb, instead of two static vars. Likewise for - tmp_src_sb. - -2000-12-26 Jim Meyering <meyering@lucent.com> - - * Version 4.0.35. - - * Regenerate build/config framework to use automake-1.4b and - the latest CVS version autoconf. - - * tests/mkdir/perm: Disable the test if the working directory has - the sticky bit set. - * tests/cp/cp-parents: Likewise. - Reported by Nelson Beebe. - -2000-12-25 Jim Meyering <meyering@lucent.com> - - Clean-up to avoid warnings from Irix's c89. - - * src/remove.c (hash_compare_active_dir_ents): Return explicit `true' - or `false', rather than relying on implicit int-to-enum cast. - * src/copy.c (same_file_ok): Remove declaration and set of unused - variables: src_sb_no_link, dst_sb_no_link. - * src/ls.c (extract_dirs_from_files): Remove unused variable. - Reported by Nelson Beebe. - - * src/ls.c (gobble_file): Move decl of local, val, into the scope - where it's used. - -2000-12-24 Jim Meyering <meyering@lucent.com> - - For both ln and install, when using `--backup=simple --suffix=S', - the suffix `S' wasn't used. - - * src/ln.c (main): Actually use the local variable, - `backup_suffix_string'. - * src/install.c (main): Likewise. - Nelson Beebe reported the unused variables. - * tests/ln/misc: Add a test for this (for all of cp, mv, ln, install). - - * man/help2man: Update to version 1.24. - -2000-12-22 Jim Meyering <meyering@lucent.com> - - * Version 4.0.34. - - * src/shred.c (isaac_seed_machdep) [_ARCH_PPC]: Disable the code - that would use the PPC mfspr `asm' code. Suggestion from Michael Stone. - -2000-12-19 Jim Meyering <meyering@lucent.com> - - * doc/fileutils.texi: Use `ref_file' in place of `file' to make - descriptions of the various --reference=... options clearer. - -2000-12-17 Jim Meyering <meyering@lucent.com> - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2000-12-16 Jim Meyering <meyering@lucent.com> - - * src/chown-core.c (uint_to_string): New function. - (uid_to_name): Use it. - (gid_to_name): Use it. - Rename locals, user/group, to uid/gid. - - * src/chown-core.h (enum Change_status): Start with 1. - - * src/chown.c (main): Rename locals, user/group, to uid/gid. - * src/chgrp.c (main): Rename local, group, to gid. - - * tests/group-names: New file. - * tests/Makefile.am (EXTRA_DIST): Add group-names. - * tests/chgrp/basic: Use group-names. - * tests/chgrp/deref: Likewise. - * tests/chgrp/recurse: Likewise. - - * tests/chgrp/basic: Don't assume that creating a file gives it - group $g1. - - * tests/chgrp/Makefile.am (TESTS): Add recurse. - -2000-12-15 Jim Meyering <meyering@lucent.com> - - * src/chown-core.h [enum Dereference_symlink] (dereference): Rename - from change_symlinks. - * src/chown-core.c: Declare lstat. - Rename change_symlinks member to `dereference' and use the DEREF_* - enum values. - (describe_change): Merge the chgrp and chown switch statements. - Use xmalloc to form the `user:group' string. - (change_file_owner): Record (and later, use) is_symlink and is_directory - from the lstat stats, in order to control whether we operate on symlinks - and whether (with -R) we traverse symlinks to directories. - When dereferencing, use open/fchown (rather than chown) on symlinks. - * src/chown.c (main): Reflect renaming: s/dereference/change_symlinks/. - * src/chgrp.c (main): Likewise. - - * src/chown-core.c (describe_change): Use `:' (not `.') to separate the - username and group in messages evoked by the --verbose and --changes - options. - -2000-12-09 Jim Meyering <meyering@lucent.com> - - * src/Makefile.am (noinst_HEADERS): Add chown-core.h. - (chown_SOURCES): Define. - (chgrp_SOURCES): Define. - - * src/chgrp.c: Include "chown-core.h". - [enum Change_status, enum Verbosity]: Remove declarations. - Remove decls of globals that are now part of struct Chown_option. - Remove decl of xstat. - (describe_change): Remove function. - (change_file_group): Likewise. - (change_dir_group): Likewise. - (parse_group): Don't set global, groupname, here... - (main): ... instead, initialize `chopt.group_name' here. - Initialize chopt and update uses of the now-members. - Set group_name also when it's obtained via a --reference=FILE option. - Call change_file_owner (with -1 for uids), not change_file_group. - - * src/chown.c: Don't include pwd.h or grp.h -- no longer needed. - Include "chown-core.h". - [enum Change_status, enum Verbosity]: Remove declarations. - Remove decls of globals that are now part of struct Chown_option. - (describe_change): Remove function. - (change_file_owner): Likewise. - (change_dir_owner): Likewise. - (main): Initialize chopt and update uses of the now-members. - Set user_name and group_name also when they're obtained via a - --reference=FILE option. - Pass `chopt' to change_file_owner. - - * src/chown-core.c: Include <pwd.h>, <grp.h>, and "xalloc.h". - [!_POSIX_VERSION]: Declare getgrnam and getgrgid. - (gid_to_name): New function. - (uid_to_name): Likewise. - (chopt_free): Likewise. - - Factor out code that's common to chgrp.c and chown.c. - * src/chown-core.h: New file. - * src/chown-core.c (chopt_init): New function. - (describe_change): Extracted/combined from chgrp.c and chown.c. - (change_dir_owner): Likewise. - (change_file_owner): Likewise. - * po/POTFILES.in: Add src/chown-core.c. - - * configure.in (AC_OUTPUT): Add tests/chgrp/Makefile. - * tests/Makefile.am (SUBDIRS): Add chgrp. - * tests/chgrp: New directory. - * tests/chgrp/basic: New test. - * tests/chgrp/deref: Likewise. - * tests/chgrp/Makefile.am: New file. - - * src/chown.c (change_file_owner): Restore special file permission - bits, since calling chown resets them on some systems. - Reported by Matt Perry. - -2000-12-08 Andreas Schwab <schwab@suse.de> - - * tests/mv/mv-special-1: Don't make the success of the test depend - on the order in which directory entries are processed. - -2000-12-03 Jim Meyering <meyering@lucent.com> - - * src/ls.c (gobble_file) [USE_ACL]: Set have_acl member unconditionally - to avoid uninitialized memory reference via FILE_HAS_ACL. - - * Makefile.maint (alpha): Use rsync rather than scp, so the destination - file is created only after the successful completion of the copy. - -2000-12-02 Jim Meyering <meyering@lucent.com> - - * tests/ls/Makefile.am (TESTS): Add follow-slink. - * tests/ls/follow-slink: New file. - -2000-12-01 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (gobble_file): Do not fall back on lstat if stat - fails; POSIX.2 does not allow this. Invoke acl only on - non-symlinks, and only if lstat or stat succeeds. - -2000-12-02 Jim Meyering <meyering@lucent.com> - - * configure: Regenerate using the very latest version (in CVS) of - autoconf. - - * tests/dd/skip-seek: Remove test #2, now that support for the - `B' suffix is gone. - * tests/dd/Makefile.am (TESTS): Add skip-seek2 - * tests/dd/skip-seek2: New file. - -2000-12-01 Paul Eggert <eggert@twinsun.com> - - * src/dd.c (skip, dd_copy): Use ssize_t to store result of - safe_read, to avoid overflow e.g. on 64-bit Solaris sparc. - (dd_copy): Remove unnecessary cast. - -2000-12-01 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi: Remove B suffix. Document how to have - the desired effect without it. - - * src/dd.c: Undo most of the changes since 2000-11-24, since we've - documented a standard way to do it. - (skip_bytes, seek_bytes): Remove. - (usage): Remove B suffix. - (scanargs, skip, dd_copy, main): Remove support for B suffix. - -2000-11-28 Jim Meyering <meyering@lucent.com> - - * src/mkdir.c (main): Remove any trailing slash unconditionally. - Reported by Volker Borchert. - * tests/mkdir/t-slash: Add a test for this. - -2000-11-27 Jim Meyering <meyering@lucent.com> - - * Version 4.0.33. - - * tests/touch/no-rights: Use touch with `-d tomorrow' to avoid a - race condition. - - * tests/Fetish.pm (_compare_files): New function. - (_process_file_spec): Likewise. - (_at_replace): Likewise. - (run_tests): Support new keywords, AUX and CMP and associated - syntax and semantics. - - * config.sub: Likewise. - * config.guess: Likewise. - -2000-11-26 Jim Meyering <meyering@lucent.com> - - * src/dd.c (skip): Perform the `records < blocksize' test - at the top of the loop, not at the bottom. - -2000-11-26 Paul Eggert <eggert@twinsun.com> - - * src/dd.c (skip): New arg COUNT_BYTES. Read with BLOCKSIZE - bytes, but consider RECORDS to be a byte count if COUNT_BYTES - is nonzero. - -2000-11-25 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi: Document seek=nB and skip=nB. - - * src/dd.c (skip_bytes, seek_bytes): Now booleans, not counts. - (seek_records): Renamed from seek_record, for consistency with - skip_records and max_records. All uses changed. - - (usage, scanargs): Remove bseek=n and bskip=n; instead, use seek=nB - and skip=nB. - (enum Unit, Unit): Remove. - (skip, dd_copy, main): Undo most recent change. - (dd_copy, main): Pass blocksize of 1 as appropriate when - skip_bytes or seek_bytes is nonzero. - (main): Rework ftruncate failure diagnostic to always use byte count. - -2000-11-25 Jim Meyering <meyering@lucent.com> - - * src/dd.c: Add new options, bskip and bseek. - Based on a patch from Chris Sylvain. - * tests/dd/skip-seek: New tests. - * tests/dd/Makefile.am (TESTS): Add skip-seek. - -2000-11-24 Paul Eggert <eggert@green.twinsun.com> - - * src/dd.c (S_TYPEISSHM): New macro. - (main): Report failed fstat. - Complain only when ftruncate fails on a regular file, - a directory, or a shared memory object. - -2000-11-24 Jim Meyering <meyering@lucent.com> - - * src/dd.c: Declare a pointer parameters to be `const' as appropriate. - - * src/dd.c (main): Use ftruncate only on regular files. - Based on a patch from Michael Stone. - Reported by andras@kolumbus.fi at http://bugs.debian.org/77174. - -2000-11-23 Jim Meyering <meyering@lucent.com> - - * src/df.c (show_point): Before accepting an entry as a match, make - sure that the mount directory exists and has the required device number. - Before, e.g., `df /floppy' would mistakenly report on the root - partition if /floppy were not listed in /etc/mtab but / was. - Patch from Eirik Fuller (http://bugs.debian.org/76923). - - * src/chmod.c (mode_changed): New function. - (change_file_mode): Use it to determine accurately when -c should - make chmod announce there's been a change. - Based on a patch from Michael Stone. - Reported by Kai Henningsen as Debian bug #77349. - - * tests/chmod/c-option: New test for the above fix. - * tests/chmod/Makefile.am (TESTS): Add c-option - - * tests/sticky-check: New file. Factored out of tests/mkdir/parents. - * tests/Makefile.am (EXTRA_DIST): Add sticky-check. - * tests/mkdir/parents: Source sticky-check instead of open-coding it. - -2000-11-19 Jim Meyering <meyering@lucent.com> - - * tests/chmod/equal-x: Update to use its own directory, and better trap. - -2000-11-18 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (BLOCK_SIZE_OPTION, COLOR_OPTION, FORMAT_OPTION, - INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION, - SHOW_CONTROL_CHARS_OPTION, SORT_OPTION, TIME_OPTION): New enum - values, to ensure that option values can't collide with chars. - (long_options, decode_switches): Use them. - -2000-11-18 Paul Eggert <eggert@twinsun.com> - - * src/sys2.h (GETOPT_HELP_CHAR, GETOPT_VERSION_CHAR): Now enum - constants rather than macros. Use values that cannot conflict - with C characters or with -1, CHAR_MAX + 1, etc. - -2000-11-18 Jim Meyering <meyering@lucent.com> - - * src/du.c (count_entry): Don't omit the size of a directory entry - merely because we couldn't `chdir' into it. That would give subtly - different results in some cases. Reported by Mattias Wadenstein - via Michael Stone. - - * src/ls.c: Revert change of 2000-11-11. It inadvertently change - the output format of `ls -l --full-time'. - - * src/mkdir.c (main): When failing to create a directory, give only - one diagnostic, not two. Reported by Volker Borchert. - - * src/mkdir.c (main): With --parents, remove any trailing slashes - from the argument to the final mkdir call. Required for NetBSD. - Reported by Volker Borchert. - * tests/mkdir/t-slash: New test for this. - * tests/mkdir/Makefile.am (TESTS): Add t-slash. - - * tests/mv/mv-special-1: Create and `cd' into temporary directory - before anything else. Reported by Volker Borchert. - - * configure, config.h.in, Makefile.in, etc.: Regenerate using the - very latest version (in CVS) of autoconf. - -2000-11-17 Jim Meyering <meyering@lucent.com> - - * Makefile.am (.NOTPARALLEL): Remove target. - * GNUmakefile (.NOTPARALLEL): ... put it here instead, since this - file is common to these packages: fileutils, sh-utils, textutils. - - * Makefile.am (.NOTPARALLEL): New target. Prevent unwanted parallelism. - Suggestion from Ulrich Drepper. - * po/Makefile.in.in (Makefile): Likewise. - - * Makefile.maint (sha1): Define. - (announcement): Include SHA1 digest of .tar.gz file. - -2000-11-14 Jim Meyering <meyering@lucent.com> - - * tests/mkdir/perm: Add an `echo' so that the input to the sed command - is NL-terminated. Otherwise, Solaris' /bin/sed generates no output. - Reported by Vin Shelton. - -2000-11-13 Paul Eggert <eggert@twinsun.com> - - * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should - be tested with #ifdef, not with #if. - -2000-11-12 Jim Meyering <meyering@lucent.com> - - * src/ls.c (print_long_format): Remove obsolete comment. - From Paul Eggert. - - * doc/texinfo.tex: Update from master repository. - -2000-11-11 Paul Eggert <eggert@sic.twinsun.com> - - * src/ls.c (<langinfo.h>): Include if HAVE_LANGINFO_H. - (DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c. - (print_long_format): Use it to determine "date" format. - Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in - incorrect behavior when LC_ALL is unset, LC_TIME is "C", and - LC_MESSAGES or LANG is set to something disagreeing with the POSIX - locale. - -2000-11-11 Jim Meyering <meyering@lucent.com> - - * Version 4.0.32. - - * Makefile.maint (GZIP_ENV): Define to --no-name, so the timestamp - is not included in the .tar.gz file. - - * tests/mkdir/perm (tests): Use `empty' (instead of just blanks) to - indicate no `-m' option. Using just blanks wasn't portable to - Solaris2.5.1's /bin/sh. - - * tests/mkdir/perm: Don't put a newline in IFS; that's not portable to - NetBSD's /bin/sh. Instead, filter newlines and leading/trailing blanks - out of `tests' before the `set -'. - - * Makefile.maint (announcement): Limit depth of ChangeLog `find' to 2. - - * src/ls.c (print_long_format): Wrap the `--full-time' date format - string in _(...), so it too may be internationalized. - Suggestion from Jungshik Shin. - -2000-11-10 Jim Meyering <meyering@lucent.com> - - * src/touch.c (main): Interpret a lone numeric argument of 8 or 10 - digits as a file name, rather than as a date/time in the obsolescent - `MMDDhhmm[YY]' format. Reported by Wenjun Zheng. - * tests/touch/obsolescent: New test for this. - * tests/touch/Makefile.am (TESTS): Add obsolescent. - -2000-11-06 Jim Meyering <meyering@lucent.com> - - * tests/cp/cp-parents: Move mkdir tests into ../mkdir. - - * doc/fileutils.texi: Use Free Documentation Licence. - Change GNU to @sc{gnu} in many places. - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - * man/help2man: Update from latest version: 1.23. - - * src/mkdir.c: Do not set the permissions of the final directory - component if it was not just created. - Based on a patch from Volker Borchert. - - * tests/rwx-to-mode: New file. - * tests/Makefile.am (EXTRA_DIST): Add rwx-to-mode. - * tests/mkdir/parents: New test for the above mkdir.c fix. - * tests/mkdir/Makefile.am (TESTS): Add parents. - (TESTS_ENVIRONMENT): Define srcdir=$(srcdir). - -2000-11-02 Won-kyu Park <wkpark@chem.skku.ac.kr> - - * src/df.c (print_header): Mark strings for translation. - -2000-11-05 Jim Meyering <meyering@lucent.com> - - * Version 4.0.31. - - * configure, config.h.in, Makefile.in, etc.: Regenerate using the - very latest version (in CVS) of autoconf. - - * src/mkdir.c (main): Use make_dir instead of using mkdir directly. - Diagnose as failure when mkdir tries to create (without the - --parent (-p) option) a directory that already exists. - * tests/cp/cp-parents: Add a test for the above fix. - - * tests/mv/mv-special-1: Clean up this test. - -2000-11-01 Jim Meyering <meyering@lucent.com> - - * Version 4.0.30. - - * src/chmod.c (main): Better diagnostics. - -2000-10-31 Jim Meyering <meyering@lucent.com> - - * tests/lang-default: Add all the internationalization-related - variable names autoconf uses. Set and export them in a loop. - - `mkdir -p' would create parent directories with permissions - that did not account for the umask. [introduced with the - 2000-09-30 change that became part of fileutils-4.0.28] - * src/mkdir.c: Include dirname.h. - Compute the parent directory `mode' unconditionally, effectively - as `$(umask -S),u+wx'. - Use make_path to create only the parent directories, thus using - the same code, both with and without -p, to create the final - component in each file name. Reported by Bob Proulx. - - Add tests for the above fix. - * tests/cp/cp-parents: Add some permission tests. - * tests/mkdir/perm: Fix the test so it actually does something. - Run each test also with mkdir's `-p' option and check permissions - on the parent directories. - -2000-10-23 Paul Eggert <eggert@twinsun.com> - - * doc/getdate.texi: Use @sc where appropriate. Document the - ranges of supported times more precisely. Correct menu - spacing. Document old Latin 12m/12pm tradition. Remove list - of alphabetic time zone names, as it wasn't correct and people - shouldn't be relying on it anyway. Relative items also - account for non-DST adjustments. Fix some misspellings. - -2000-10-30 Jim Meyering <meyering@lucent.com> - - * configure, config.h.in, Makefile.in, etc.: Regenerate using the - very latest version (in CVS) of autoconf. - -2000-10-29 Jim Meyering <meyering@lucent.com> - - * Version 4.0.29. - - * src/cp.c (do_copy): When constructing dst_path for use with the - --parents option, first remove any trailing slashes from the command - line argument. Otherwise, tests/cp/cp-parent would fail on NetBSD. - - * tests/cp/cp-parents: Add a test. - - * src/ls.c (DT_INIT): Define. - [enum filetype]: Remove the #ifdef, and use DT_INIT on the - initializers instead. `unknown' was undefined for some systems. - Reported by John David Anglin. - - * tests/lang-default (LC_COLLATE): Set it to the empty string and - export it. Otherwise, tests/cp/cp-mv-backup would fail e.g., when - LC_COLLATE was set to en. Reported by Vin Shelton. - -2000-10-28 Jim Meyering <meyering@lucent.com> - - * src/ls.c (main): In call to gobble_file with `"."', use `directory' - as the type, not `unknown'. - [enum filetype] (arg_directory): Rather than `100', use - a number that should never conflict with another DT_* value. - From Ulrich Drepper. - - * Version 4.0.28. - - Make `ls' a lot more efficient on systems (e.g., linux-2.4.*) - that store file type information in directory entries. - - * src/ls.c [enum filetype] (unknown): - Add members (as yet unused): - (HAVE_STRUCT_DIRENT_D_TYPE): Define. - (format_needs_type): New global. - (main): Set it. - (print_dir): Set `type' from directory entry, if possible. - (gobble_file): Add a parameter, TYPE. - Stat the file only if its type is unknown and we need the type. - Patch from Ulrich Drepper. - - Shred can now determine the size of a block devices (e.g. /dev/fd0) - by writing until a write operation fails. - - * src/shred.c: Include assert.h. - (fillrand): Add a parameter, size_max. - Adjust caller. - Add an assertion. - (dopass): Break out of the `for (;;)' loop if size < offset. - That can happen now that dopass is called with SIZE == -1. - (do_wipefd): Accept a length of zero only for a regular file. - If lseek fails or returns 0 for a non-regular file, let dopass - determine the length. - Inspired by a patch from Alan Iwi. - - * tests/Makefile.am (EXTRA_DIST): Add lang-default. - - * tests/rm/hash: Factor out the expensive-test-checking code, ... - * tests/expensive: ... into this new file. - * tests/cp/perm: Disable this test by default; it's expensive. - Mark this as an expensive test. - * tests/Makefile.am (EXTRA_DIST): Add expensive. - - * doc/fileutils.texi (shred invocation): Give two examples. - -2000-10-26 Jim Meyering <meyering@lucent.com> - - * doc/getdate.texi (Authors of getdate): Add Paul Eggert. - -2000-10-23 Jim Meyering <meyering@lucent.com> - - * Makefile.am (EXTRA_DIST): Add .prev-version. - -2000-10-22 Jim Meyering <meyering@lucent.com> - - * src/cp.c (make_path_private): Add a FIXME comment. - - * tests/lang-default: New file. Set LANG, LC_ALL, and LANGUAGE to '' - (rather than to `C') and export them into the environment. - Suggestion from Bruno Haible. - - * tests/cp/backup-is-src: Source lang-default rather than open-coding - the setting/exporting of LANG, LC_ALL, and LANGUAGE. - * tests/cp/cp-mv-backup: Likewise. - * tests/cp/same-file: Likewise. - * tests/cp/slink-2-slink: Likewise. - * tests/cp/symlink-slash: Likewise. - * tests/ln/sf-1: Likewise. - * tests/ls/symlink-slash: Likewise. - * tests/ls/time-1: Likewise. - * tests/mv/backup-is-src: Likewise. - * tests/mv/diag: Likewise. - * tests/mv/force: Likewise. - * tests/mv/hard-link-1: Likewise. - * tests/mv/i-2: Likewise. - * tests/mv/into-self: Likewise. - * tests/mv/into-self-2: Likewise. - * tests/mv/into-self-3: Likewise. - * tests/mv/mv-special-1: Likewise. - * tests/mv/part-symlink: Likewise. - * tests/mv/partition-perm: Likewise. - * tests/rm/r-1: Likewise. - * tests/rm/r-2: Likewise. - -2000-10-21 Jim Meyering <meyering@lucent.com> - - * tests/cp/cp-parents: New test. - * tests/cp/Makefile.am (TESTS): Add cp-parents; - -2000-10-19 Jim Meyering <meyering@lucent.com> - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - * depcomp: Likewise. - -2000-10-18 Jim Meyering <meyering@lucent.com> - - * tests/mv/part-symlink: Make sure the programs use C-locale formats - and translations. Bruno Haible reported that this test would fail - when using other locales, because ls printed a translation of `total'. - -2000-10-16 Jim Meyering <meyering@lucent.com> - - * src/ls.c (print_long_format): Wrap date format strings in _(...) - so they may be internationalized. Suggestion from Christian Rose. - -2000-10-13 Jim Meyering <meyering@lucent.com> - - * src/mv.c (rm_option_init): Remove FIXME-maybe comment. - -2000-09-30 Jim Meyering <meyering@lucent.com> - - * tests/du/two-args: Update to use newer template. - - * src/install.c: Remove big, option-describing comment block. - (main): Rename local `symbolic_mode' to `specified_mode'. - - * src/mkdir.c (main): Don't set the umask to 0 and hand-apply - the previously-set umask unconditionally. Do that only when a - MODE has been specified. Otherwise, call mkdir with the full - creation mask (0777 or 0666) and let the kernel apply the umask. - The difference shows up only on file systems with ACL support - when the containing directory has a default ACL. - Patch by Andreas Gruenbacher. - (main): Rename local `symbolic_mode' to `specified_mode'. - * src/mknod.c (main): Likewise (but `call mknod', not mkdir). - Also, when MODE is specified, call chmod to ensure that the - permission bits are set as specified even when the containing - directory has a default ACL. - Patch by Andreas Gruenbacher. - * src/mkfifo.c (main): Likewise (but `call mkfifo', not mkdir). - Patch by Andreas Gruenbacher. - - * tests/mkdir/perm: New test. - * tests/mkdir/Makefile.am (TESTS): Add perm. - -2000-08-17 Andreas Gruenbacher <ag@bestbits.at> - - * src/chmod.c (change_file_mode): Perform the chmod even if the - file mode permission bits are the same as those that should be set. - Omitting the chmod call would be alright with minimal 1003.1e DS17 - ACLs, but eventually there may be other permissions in addition to - rwx. E.g., add and delete for directories, and something analogous - to NT's take ownership permission. - -2000-09-25 Jim Meyering <meyering@lucent.com> - - * tests/cp/same-file: Don't use `diff -u'. It's not portable. - Reported by Christian Krackowizer. - * tests/cp/same-file: Run `diff -c' only if cmp finds a difference. - * tests/mv/part-symlink: Likewise. And clean up. - - `shred --exact file1 file2' wouldn't touch `file1' - * src/shred.c (long_opts): --exact doesn't take an argument. - Reported by Alan Iwi. - * tests/shred/exact: New test for this. - * tests/shred/Makefile.am (TESTS): Add exact. - - * Makefile.maint (PREV_VERSION): Get the value from a file, rather - than trying to derive it from the current version number. - This is much more robust. - (alpha): Record just-released version number in `.prev-version', - and commit (post-tag). - - * Version 4.0.27. - -2000-09-24 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi: Update to more closely match changes in 4.0z. - * src/cp.c (usage): Match revised documentation better. - -2000-09-24 Jim Meyering <meyering@lucent.com> - - * src/cp.c (main): Tweak a relatively new diagnostic. - -2000-09-23 Jim Meyering <meyering@lucent.com> - - * tests/ls/time-1: Output more information when a test fails. - -2000-09-22 Jim Meyering <meyering@lucent.com> - - * src/install.c (cp_option_init): Once again make it so install always - unlinks an existing destination before trying to open it for writing. - Otherwise, installing onto a running shared library would make the - running program malfunction. - Reported by Dan Pascu via Michael Stone. - - * src/mv.c (do_move): Moving a directory specified with a trailing - slash from one partition to another, and giving it a different - name at the destination would cause mv to get a failed assertion. - Reported by Michael Stone. - (strip_trailing_slashes_2): Move function definition to precede - new first use. - * tests/mv/part-rename: New test for the above fix. - * tests/mv/Makefile.am (TESTS): Add part-rename. - - * src/copy.c (copy_internal): Don't try to unlink directories when - using --remove-dest with -R. - * tests/cp/dir-rm-dest: New test for the above fix. - * tests/cp/Makefile.am (TESTS): Add dir-rm-dest. - -2000-09-19 Jim Meyering <meyering@lucent.com> - - * doc/fileutils.texi (cp invocation): Describe how --force works. - Update description of -P (soon to change meaning to conform w/POSIX). - Describe --remove-destination. - - * src/cp.c (main): When used with --force, each of the --link and - --symbolic-link options now implies --remove-destination. - Reported by Miles Bader via Mike Stone. - * tests/cp/link: New file. Test for the above fix. - * tests/cp/same-file: Adjust for this change in behavior. - -2000-09-15 Volker Borchert <bt@teknon.de> - - * tests/Makefile.am (check-root, root-hint): New targets. - (check-recursive): Depend on root-hint. - * Makefile.am (check-root): New target. - -2000-09-16 Jim Meyering <meyering@lucent.com> - - * doc/perm.texi (Changing Special Permissions): Remove this statement: - ``a' in the USERS part of a symbolic mode does not cause the special - permissions to be affected'... It doesn't reflect what the code does - and isn't required by POSIX. Reported by aldomel@ix.netcom.com via - Mike Stone. - -2000-09-15 Jim Meyering <meyering@lucent.com> - - * config.sub: Update from master repository. - -2000-09-10 Jim Meyering <meyering@lucent.com> - - * tests/cp/cp-mv-backup (LC_ALL): Set to `C' and export to ensure - that `ls' sorts the same way for everyone. Reported by Vin Shelton. - - * Makefile.maint (b_host): Use freefriends.org, not tug.org. - -2000-09-09 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (announcement): Use a stricter regexp for the - previous version. - - * Version 4.0z. - - * tests/cp/special-bits: New file. - * tests/cp/Makefile.am (TESTS): Add special-bits. - (TESTS_ENVIRONMENT): Propagate $MAKE into environment, for special-bits. - - * src/copy.c (SAME_OWNER, SAME_GROUP, SAME_OWNER_AND_GROUP): Define. - (copy_internal): Avoid calling chown if we know it's not necessary. - - * src/copy.c (copy_internal): Call chmod also if we've made the - preceding chown call and we're supposed to preserve some special - permission bit(s) that would have been reset by chown. - Reported by Greg Louis. - -2000-09-08 Jim Meyering <meyering@lucent.com> - - * src/mkdir.c (S_IRWXUGO): Remove definition. - * src/sys2.h (S_IRWXUGO): Define here, instead. - -2000-09-07 Jim Meyering <meyering@lucent.com> - - * doc/texinfo.tex: Update from master repository. - * config.sub: Likewise. - * config.guess: Likewise. - -2000-09-05 Jim Meyering <meyering@lucent.com> - - * tests/mv/part-symlink: Redirect stdout to stderr before trying to - remove the temp directory. Otherwise, the `rm -rf' would get an - error because the output file wouldn't be closed and the directory - wouldn't be `empty'. - * tests/cp/same-file: Likewise. - - * tests/cp/same-file: Remove the `cp -dl sl1 sl2' case, - since it's no longer portable (hard link to a symlink). - Likewise for the `cp -bdl symlink foo' case. - - * config.guess: Update from master repository. - -2000-09-04 Jim Meyering <meyering@lucent.com> - - * src/cp.c: Move declaractions of lstat, stat, and rpl_lstat - as well as the definition of lstat from here... - * src/copy.h: ...to here. - * src/copy.c: Remove declaration of lstat, now that it's in copy.h. - - * tests/mv/force: mv's --force (-f) option is no longer needed for - this test, now that all it does is cancel --interactive (-i). - - * tests/cp/same-file: Add new tests using cp's --rem option. - Reflect the fact that cp's -f option no longer causes cp to remove the - destination file before trying to open it. - Reflect the fact that `cp -bdl' now makes a backup when copying a - symlink onto the file it points to (FIXME: look into this, and why - cp -bl does *not* do so). - - * src/ln.c (do_link): Tweak diagnostics. - -2000-09-03 Jim Meyering <meyering@lucent.com> - - * src/install.c (cp_option_init): Initialize new members. - - * src/cp.c (enum): Add UNLINK_DEST_BEFORE_OPENING. - [long_options]: Add an entry for --remove-destination. - (usage): Describe --remove-destination. - (do_copy): Use unlink_dest_after_failed_open member, not `force.' - (cp_option_init): Initialize new members. - (main): Handle UNLINK_DEST_BEFORE_OPENING (aka --remove-destination). - - * src/mv.c: Remove obsolete comment block. - (cp_option_init): Initialize new members. - (usage): Reflect the fact that --force (-f) relates only to whether - mv prompts. - (main): Remove uses of old `force' option member. - - * src/install.c (cp_option_init): Reflect - - `force' no longer means unlink-dest-before-opening - * src/copy.h (struct cp_options) [force]: Remove member. - [unlink_dest_before_opening]: Add member. `cp -f' and `mv -f' used to - do this. Now, you must use `cp --remove-destination' to get this - behavior. Now, `cp -f' and `mv -f' work as required by POSIX. - [unlink_dest_after_failed_open]: Add member. - Paul Eggert reported that `cp -f' removes an existing destination - file unconditionally, and that is contrary to POSIX. - - * src/copy.c (same_file_ok): New function, extracted from copy_internal, - and rewritten. - (copy_internal): Unlink destination file when unlink_dest_before_opening - option is set, and when the source is neither a regular file nor a - directory. - - * tests/mv/Makefile.am (TESTS): Add part-symlink. - - * src/ls.c: Use strcoll (not strcmp) when comparing file names. - Suggestion from Ulrich Drepper. - -2000-08-27 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_reg): New parameters: X and NEW_DST. - Remove the SPARSE_MODE parameter. Update caller. - Perform POSIX-mandated (for cp) open-with-O_WRONLY|O_TRUNC when copying - a regular source file and the destination file exists; upon failure, - unlink that existing file, then open again, but with O_WRONLY|O_CREAT. - (copy_internal): `force' is not related to interactive; remove - the conjunct. - Remove the entire `else if (x->force)' block; justifying - removal of the non-directory part is easy: POSIX requires we try - to open an existing regular file, so we can't unlink it beforehand. - The part that changes the mode on a directory to allow overwriting - isn't necessary. - - * src/copy.c (copy_reg): Rename two goto labels. - (copy_internal): Set `new_dst' when the move_mode rename fails, - since we then unlink the destination file. - - * src/cp.c (usage): --force is independent of --interactive. - -2000-08-24 Jim Meyering <meyering@lucent.com> - - Put back the kludge. It's necessary after all. - * src/dd.c (buggy_lseek_support): New function. - (skip): Use it. - Frank Adler reported that although _llseek returns 0, lseek - erroneously returns an offset suggesting the operation succeeded - even though it fails. - - * install-sh: Double quote as needed, to protect against arguments - containing spaces or shell metacharacters. Reported by Bruno Haible. - -2000-08-23 Jim Meyering <meyering@lucent.com> - - * tests/dd/not-rewound: New test, for the SEEK_CUR vs. SEEK_SET part - of the last change. Based on Paul's example. - * tests/dd/Makefile.am (TESTS): Add not-rewound. - -2000-08-22 Paul Eggert <eggert@twinsun.com> - - * src/dd.c (skip): - Assume lseek failed if it returned zero, since a zero return is - impossible and some buggy drivers return zero. - - Use SEEK_CUR rather than SEEK_SET; this fixes a bug when the - file descriptor is not currently rewound. - -2000-08-23 Jim Meyering <meyering@lucent.com> - - * src/dd.c: Back out my last change. Paul's (above) is better. - -2000-08-22 Jim Meyering <meyering@lucent.com> - - Don't even try to use lseek on character devices. - * src/dd.c (buggy_lseek_support): New function. - (skip): Use it. - Reported by Martin Gallant via Michael Stone. - -2000-08-21 Jim Meyering <meyering@lucent.com> - - * tests/cp/same-file: Clean up traps. Create files in a subdir. - - * install-sh (oIFS): Remove unmatched double quote, left over from - my 2000-08-12 change. From J. David Anglin. - - * Makefile.maint (wget-update): Get the latest version of depcomp. - - * depcomp: Update from automake. - -2000-08-20 Jim Meyering <meyering@lucent.com> - - * Version 4.0y. - - Add support for cp's new POSIX-mandated -H and -L options. - * src/copy.h (enum Dereference_symlink): Define. - (struct cp_options) [dereference]: Change type to Dereference_symlink. - * src/copy.c: Declare lstat. - (copy_dir): Set `xstat' member to lstat so that with `-H' we don't - follow symlinks found via recursive traversal. - Update uses of `dereference' to compare against new enum member names. - * src/cp.c (long_opts): Add --dereference, -L. - (usage): Describe -L and -H. - (cp_option_init): Initialize to DEREF_UNDEFINED, not `1'. - (main): Add `H' and `-L' to getopt spec string. - [case 'a']: Initialize `dereference' to DEREF_NEVER, not 0. - [case 'd']: Likewise. - [case 'H']: New case. - [case 'L']: New case. - [case 'R']: Don't set dereference to `0' here. - If it's not yet defined, set x.dereference to DEREF_NEVER - if -R was specified, else set it to DEREF_ALWAYS. - Set x.xstat accordingly for -H. - * doc/fileutils.texi (cp invocation): Describe -H and -L. - * src/mv.c (cp_option_init): Initialize to DEREF_NEVER, not `0'. - * src/install.c (cp_option_init): Initialize to DEREF_ALWAYS, not `1'. - - * tests/cp/Makefile.am (TESTS): Add cp-HL. - * tests/cp/cp-HL: New test. - - * src/du.c (print_totals): Rename global from opt_combined_arguments. - -2000-08-17 Paul Eggert <eggert@twinsun.com> - - * src/copy.c (DO_CHOWN): Do not make a special case for non-root. - POSIX.2 requires that cp -p and mv attempt to set the uid of the - destination file, even if you're not root. This affects behavior - only on hosts that let you give files away via chmod. - * NEWS: Describe the above change. - -2000-08-15 Jim Meyering <meyering@lucent.com> - - * src/du.c (count_entry): Remember the current directory also for `.' - and `..'. Reported by Stephen Smoogen, based on a patch from H.J. Lu. - * tests/du/two-args: Add tests for this. - -2000-08-14 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_reg): Move declaration of local, `n_read', into - the scope where it's used. - (copy_internal): In calling copy_reg, pass not the raw `src_mode', - but the possibly-umask-relative mode, `get_dest_mode (x, src_mode)'. - -2000-08-13 Jim Meyering <meyering@lucent.com> - - * src/copy.c (get_dest_mode): Rename from new_nondir_mode. - Honor the umask for `cp', but not for `mv' or `cp -p'. - (copy_reg): New 4th parameter, dst_mode. Pass it as 3rd arg. to open. - (copy_internal): Change type of locals `src_mode' and `src_type' from - int to mode_t. - Remove unnecessary local, `fix_mode'. - Combine two if-stmts into one. - Pass `src_mode' as 4th arg to copy_reg. - If we've just created a new regular file, return early, skipping the - chmod step. copy_reg now sets permissions of such files upon creation. - Use get_dest_mode, so there's just one chmod call here. - - * tests/cp/Makefile.am (TESTS): Add perm. - * tests/cp/perm: New tests, to help ensure the above didn't - change anything. - -2000-08-12 Jim Meyering <meyering@lucent.com> - - * tests/mv/into-self-2: Remove test for the VERSION_CONTROL and/or - SIMPLE_BACKUP_SUFFIX envvars. Source ../envvar-check instead. - * tests/mv/i-2: Likewise. - * tests/mv/to-symlink: Likewise. - * tests/cp/slink-2-slink: Likewise. - * tests/mv/partition-perm: Likewise. - * tests/cp/cp-mv-backup: Likewise. - - * tests/Makefile.am (EXTRA_DIST): Add envvar-check. - * tests/envvar-check: New file. - - * install-sh: Remove trailing blanks. - Output diagnostics to stderr, not stdout. - Remove many useless curly braces and double quotes. - -2000-08-11 J. David Anglin <dave@hiauly1.hia.nrc.ca> - - * install-sh: Improve error handling. - Do the job even when the target file is `busy' on systems - that don't allow such files to be unlinked. - -2000-08-12 Jim Meyering <meyering@lucent.com> - - * README: Remove note about how installation can fail and the - work-around, now that it's all automated. - -2000-08-07 Paul Eggert <eggert@twinsun.com> - - * src/cp.c (usage, main): For cp -P messages, mention the new - behavior as well as the old. - -2000-08-07 Paul Eggert <eggert@twinsun.com> - - Standardize on "memory exhausted" instead of "Memory exhausted" - or "virtual memory exhausted". - Invoke xalloc_die instead of printing our own message. - * src/chmod.c (main): Likewise. - * src/copy.c (copy_dir, copy_internal): Likewise. - * src/cp.c (do_copy): Likewise. - * src/dircolors.c (xstrndup): Likewise. - * src/install.c (main): Likewise. - * src/ln.c (do_link): Likewise. - * src/mkdir.c (main): Likewise. - * src/mkfifo.c (main): Likewise. - * src/mknod.c (main): Likewise. - * src/mv.c (movefile): Likewise. - * src/remove.c (remove_cwd_entries, rm): Likewise. - * src/shred.c (quotearg_colon, xmalloc): - "virtual memory exhausted" -> "memory exhausted" - -2000-08-07 Jim Meyering <meyering@lucent.com> - - * src/cp.c (enum) [PARENTS_OPTION]: New member. - (long_opts): Update "parents" and deprecated "path" entries to use - `PARENTS_OPTION', not `P'. - (usage): Update --help output. - (main): Warn that the meaning of `-P' will soon change. - -2000-08-06 Jim Meyering <meyering@lucent.com> - - * doc/fileutils.texi (cp invocation) [-r]: Remove inaccurate mention of - `non-symbolic links'. - -2000-08-05 Jim Meyering <meyering@lucent.com> - - * config.guess: Update from master repository. - * config.sub: Likewise. - - * Regenerate build/config framework to use the latest CVS versions - of automake and autoconf. - -2000-07-31 Jim Meyering <meyering@lucent.com> - - * src/shred.c [!HAVE_CONFIG_H]: Use `virtual memory exhausted', not - `Memory exhausted'. - -2000-07-30 Jim Meyering <meyering@lucent.com> - - * src/sys2.h (ISPRINT): Undef before defining to avoid warning. - - * src/copy.c (copy_internal): Quote the file names that are displayed - with --verbose and --backup. - * src/remove.c (remove_file): Quote the file names that are displayed - with --verbose. - (remove_dir): Likewise. - * tests/mv/mv-special-1: Add quote marks to match new behavior. - * tests/rm/r-1: Likewise. - * tests/rm/r-2: Likewise. - - * src/df.c: Convert "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call. - * src/dircolors.c: Likewise. - * src/du.c: Likewise. - * src/mkdir.c: Likewise. - * src/mkfifo.c: Likewise. - * src/mknod.c: Likewise. - * src/shred.c: Likewise. - * src/rmdir.c: Likewise. - * src/cp-hash.c: Likewise. - - * src/chgrp.c: Convert "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call. - Add more precise diagnostics. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - - * src/remove.c (remove_cwd_entries): Quote one more file name. - - * src/help-version: Remove file. Move it to ... - * tests/help-version: ...here - * tests/Makefile.am (TESTS): Set to help-version. - (TESTS_ENVIRONMENT): Define. - (EXTRA_DIST): Add $(TESTS). - * src/Makefile.am (EXTRA_DIST): Remove help-version. - (TESTS): Remove definition. - (TESTS_ENVIRONMENT): Remove definition. - -2000-07-24 Bruno Haible <haible@clisp.cons.org> - - * src/ls.c: Include <limits.h>, <stdlib.h>, <wchar.h>, <wctype.h>. - (quote_name): Use mbrtowc to step through the filename string while - replacing nonprintables with question marks. Return the screen width, - not the strlen length. Do no output if the out stream is NULL. - (length_of_file_name_and_frills): Use the quote_name return value. - -2000-07-25 Jim Meyering <meyering@lucent.com> - - * src/chgrp.c (change_file_group): Save errno from a possibly failed - chown, and use that later. Otherwise, errno itself could be clobbered - before used. - * src/chmod.c (change_file_mode): Likewise. - * src/chown.c (change_file_owner): Likewise. - - * src/mv.c (main): Remove unnecessary "%s" argument. - - * src/ln.c: Convert "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call. - Add more precise diagnostics. - * src/mv.c: Likewise. - * src/cp.c: Likewise. - * src/touch.c: Likewise. - -2000-07-23 Jim Meyering <meyering@lucent.com> - - * Version 4.0x. - - * src/dd.c (main): Give a better diagnostic for e.g., - `dd if=/dev/fd0 seek=100000000000'. - Convert "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call. - Add many, more precise diagnostics. - - * src/remove.c (ASSIGN_STRDUPA): Remove macro definition. - * src/sys2.h (ASSIGN_STRDUPA): New macro (moved here from remove.c). - - Fix cp so that `cp -r DIR1/ DIR2' works once again. - * src/cp.c (ASSIGN_BASENAME_STRDUPA): New macro. - (do_copy): Use it here (so we always strip trailing slashes before - calling base_name). Reported by Branden Robinson via Michael Stone. - - Test for the above fix. - * tests/cp/Makefile.am (TESTS): Add dir-slash. - * tests/cp/dir-slash: New file. - -2000-07-17 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (WGET): Define. - (ftp-gnu): Define. - (wget-update): New rule, based on the one in autoconf. - - * src/shred.c (usage): Give a little more info. - Remove a FIXME comment. - - Avoid warnings. - * src/ls.c (struct bin_str): Declare `string' member to be `const'. - (put_indicator): Declare local `p' to be `const'. - -2000-07-15 Jim Meyering <meyering@lucent.com> - - Begin converting "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call -- if there's only one. - If there are two or more, then use `quote_n (0, ...), - quote_n (1, ...), ...'. - - Here's the justification, from Paul Eggert (thanks, Paul): - - [Consider] the following, taken from fileutils/copy.c: - - error (0, errno, _("cannot create directory `%s'"), dst_path); - - Now, suppose dst_path is "/'\nrm: removing all files under `/" - (expressed in C string syntax). This will cause the user to see - the following delightfully ambiguous display: - - cp: cannot create directory `/' - rm: removing all files under `/' - - It would be better to rewrite the above line to be something - like this: - - error (0, errno, _("cannot create directory %s"), quote (dst_path)); - - using the definition of "quote" [in lib/quote.c]. That way, - the user will see the following unambiguous display instead: - - cp: cannot create directory `/\'\nrm: removing all files under `/' - - One might object that any user who asks to copy a file with - a weird name like that deserves to get confused. But this - is not a good objection, as the source of the string may not - be under the user's control, or even visible to the user. - - * src/copy.c: Adapt format strings and args as above. Include quote.h. - I have deliberately not changed the output of --verbose. - FIXME: maybe I should. - * src/cp.c: Likewise. - * src/remove.c: Likewise. - * src/install.c: Likewise. and improve a couple diagnostics. - -2000-07-13 Paul Eggert <eggert@twinsun.com> - - * NEWS: Describe --quoting-style=clocale. - - * doc/fileutils.texi: New clocale quoting style. - Undo the previous change to the locale quoting style. - -2000-07-09 Jim Meyering <meyering@lucent.com> - - * config.guess: Update from FSF. - * config.sub: Likewise. - -2000-07-05 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi: Don't use ` and ' for quoting. - -2000-07-01 Jim Meyering <meyering@lucent.com> - - * Version 4.0w. - - * tests/touch/dangling-symlink: Warn about the problem rather - than failing, on some very recent (at least 2.3.99) versions of - the Linux kernel. Suggestion from Ulrich Drepper. - * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Define host_triplet - for use in the dangling-symlink test. - -2000-06-28 Jim Meyering <meyering@lucent.com> - - * tests/mv/i-2: Don't copy `out' into /tmp. - -2000-06-26 Paul Eggert <eggert@twinsun.com> - - Now that savedir.c has been cleaned up... - * src/chgrp.c (change_dir_group): Don't set errno before - invoking savedir, and assume that errno is nonzero if savedir fails. - * src/chmod.c (change_dir_mode): Likewise. - * src/chown.c (change_dir_owner): Likewise. - * src/copy.c (copy_dir): Likewise. - * src/du.c (count_entry): Likewise. - -2000-06-26 Paul Eggert <eggert@twinsun.com> - - * src/df.c (show_dev): Round disk usage percentage up, not to - nearest value. Use integer arithmetic if it's easy. Fix bug - when converting twos-complement negative values to floating point. - -2000-06-25 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Don't return immediately after a failed - copy_dir call -- otherwise, the failure to read a single file in a - source directory would cause the containing destination directory - not to have the owner and/or permissions set properly. - Reported by Piotr and Maciej Kwapulinski. - * tests/cp/fail-perm: Test for it. - * tests/cp/Makefile.am (TESTS): Add fail-perm. - - * Version 4.0v. - -2000-06-18 Jim Meyering <meyering@lucent.com> - - * README-alpha: Update. - -2000-06-17 Jim Meyering <meyering@lucent.com> - - * tests/install/basic-1: Don't fail (just exit 77) if strip doesn't - work. Suggestion from Ulrich Drepper. - Add canonical trap/mkdir/cd, plus exit portability cruft. - -2000-06-16 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_reg): Give a slightly better diagnostic upon - open failure. - -2000-06-15 Paul Eggert <eggert@twinsun.com> - - * NEWS, doc/fileutils.texi: df, du, and ls now round disk - usage up and disk free space down. - - * src/df.c (df_readable): New arg for rounding style. - Round negative numbers correctly. - (show_dev): Round disk usage up and disk free space down. - - * src/ls.c (print_dir, gobble_file, print_long_format, - print_file_name_and_frills): Round disk usage up. - * src/du.c (print_size): Likewise. - -2000-06-14 Andreas Schwab <schwab@suse.de> - - * tests/rm/r-1 (framework_failure): Initialize this instead of - test_failure. - -2000-06-12 Jim Meyering <meyering@lucent.com> - - * Version 4.0u. - - * tests/rm/r-1: Clean up. - Be careful to remove temp directory upon interrupt. - - * src/mv.c (main): Give the correct diagnostic when using the - --target-dir=DIR option, but no arguments. - Patch from Michael Stone. Reported by Herbert Xu. - * tests/mv/diag: New test for this. - * tests/mv/Makefile.am (TESTS): Add diag. - -2000-06-08 Brian Youmans <3diff@gnu.org> - - * doc/perm.texi (Multiple Changes): Fix typo. - * doc/fileutils.texi: A few typos and minor formatting fixes. - * doc/getdate.texi: Likewise. - -2000-06-06 Jim Meyering <meyering@lucent.com> - - * Makefile.maint (alpha_subdir): Factor out `gnu/fetish'. - -2000-06-04 Jim Meyering <meyering@lucent.com> - - * Version 4.0t. - - * src/df.c (show_point) [HAVE_REALPATH && !HAVE_RESOLVEPATH]: - Cast undeclared `realpath' to char* to avoid warning. - -2000-06-03 Jim Meyering <meyering@lucent.com> - - * src/install.c (usage): Document that -v is a synonym for --verbose. - * src/mkdir.c: Allow -v as synonym for --verbose, to be consistent - with other fileutils. - * src/rmdir.c: Likewise. - Suggestion from François Pinard. - -2000-06-02 Jim Meyering <meyering@lucent.com> - - * configure.in (ALL_LINGUAS): Add Danish (da). - -2000-05-29 Jim Meyering <meyering@lucent.com> - - Allow `cp -d -u' to copy one symlink onto another that's identical. - * src/copy.c (copy_internal): Change the || to ^ in the big sameness - test, so copying one symlink onto another, identical one doesn't fail - here. - If the symlink call fails, don't report the failure if the destination - already exists and is a symlink pointing to the proper name. - Reported by Andrew Burgess. - * tests/cp/slink-2-slink: New test. - * tests/cp/Makefile.am (TESTS): Add slink-2-slink. - * tests/cp/same-file: Adapt to fit new semantics of `cp -d'. - -2000-05-25 Jim Meyering <meyering@lucent.com> - - * src/dd.c (close_stdout_wrapper): Don't dereference NULL pointer. - From Bob Proulx. - -2000-05-23 Jim Meyering <meyering@lucent.com> - - * tests/shred/remove: Add traps to clean up. - Correct broken running-as-root test. - - * tests/mv/i-2: Exit 77 when run as root. Reported by Andreas Schwab. - -2000-05-20 Jim Meyering <meyering@lucent.com> - - * Version 4.0s. - - * tests/mv/Makefile.am (TESTS): Add i-2, for 2000-05-12 change. - - * tests/rm/r-2: Clean up. - * tests/ls/time-1 (LC_ALL): Set it unconditionally. - -2000-05-19 Jim Meyering <meyering@lucent.com> - - Save device number as well as inode number for each directory, - and use both in comparisons. This makes the directory cycle - test more robust, and closes the small remaining hole whereby - an attacker could subvert a running `rm -r' command. - - * src/remove.c (struct active_dir_ent) [st_dev]: New member. - [st_ino]: Rename from `inum'. - (make_active_dir_ent) [device]: New parameter. - (hash_compare_active_dir_ents): Compare using SAME_INODE macro. - (fspec_init_common): New function, factored out. - (fspec_init_file): Initialize have_device member. - (fspec_get_full_mode): Remove parameter. Update caller. - Set have_device and st_dev members. - * src/remove.h (struct File_spec) [have_device, st_dev]: New members - -2000-05-18 Jim Meyering <meyering@lucent.com> - - * src/remove.c (rm): Combine adjacent fputc and fprintf. - - * tests/rm/Makefile.am (TESTS): Add hash. - * tests/rm/hash: New test for the fix in lib/hash.c. - -2000-05-17 Jim Meyering <meyering@lucent.com> - - * src/remove.c (remove_dir): Detect (and fail upon) attempt to subvert - a running `rm -r'. Reported by Morten Welinder. - -2000-05-15 Jim Meyering <meyering@lucent.com> - - * src/ln.c (do_link): Use complete strings in diagnostics so they - are easier to translate. Reported by Michel Robitaille. - (main): Drop support for the case in which S_ISLNK wasn't defined. - It was broken in any case. - - * tests/ls/time-1: Set LC_ALL to `C' to avoid failure when the - current locale is not C (POSIX). From Matthew Clarke. - -2000-05-13 Jim Meyering <meyering@lucent.com> - - * src/help-version: New test. - * src/Makefile.am (TESTS): Define. - (TESTS_ENVIRONMENT): Likewise. - (EXTRA_DIST): Add help-version. - - * src/chgrp.c: Arrange to call close_stdout only upon exit. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - * src/cp.c: Likewise. - * src/df.c: Likewise. - * src/dircolors.c: Likewise. - * src/du.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/mkdir.c: Likewise. - * src/mkfifo.c: Likewise. - * src/mknod.c: Likewise. - * src/mv.c: Likewise. - * src/rm.c: Likewise. - * src/rmdir.c: Likewise. - * src/shred.c: Likewise. - * src/sync.c: Likewise. - * src/touch.c: Likewise. - - * src/dd.c: Include closeout.h. - (usage): Don't call close_stdout here. - (close_stdout_wrapper): New, kludgey, function and file-scoped global. - (main): Register it with atexit. - -2000-05-12 Jim Meyering <meyering@lucent.com> - - Unlike for mv, -i doesn't cancel the effect of -f - and -f doesn't cancel the effect of -i. - * src/cp.c (main) ['f']: Don't reset `x.interactive'. - ['i']: Don't reset `x.force'. - * src/copy.c (copy_internal): Fix force and interactive tests. - Patch from Michael Stone, reported by Jeff Sheinberg. - -2000-05-09 Jim Meyering <meyering@lucent.com> - - * src/shred.c: Include sys/types.h in shred.c before including - sys/stat.h or system.h. From John David Anglin. - -2000-05-08 Jim Meyering <meyering@lucent.com> - - * tests/shred/remove: Don't use touch in root test. Instead, append to - the test file, since now touch operates even on files which deny owner - write access. - -2000-05-06 Jim Meyering <meyering@lucent.com> - - * src/Makefile.am (shred_LDADD): Add @LIB_CLOCK_GETTIME@. - - * src/rmdir.c (EEXIST): Remove now-unused definition. - (ENOTEMPTY): Likewise. - (errno_rmdir_non_empty): Rewrite to use RMDIR_ERRNO_NOT_EMPTY, - which is determined by the autoconf test in m4/rmdir-errno.m4. - -2000-05-03 Bruno Haible <haible@clisp.cons.org> - - Don't fail when running `make check' with non-`C' locale. - * tests/cp/symlink-slash: During ls, set LANGUAGE (for GNU gettext) - and LC_ALL (for systems which look at LC_MESSAGES). - * tests/rm/r-2: Define LC_ALL instead of LANG, in case the user has - LC_CTYPE or LC_ALL set. Define it and LANGUAGE before the first use - of sort. - -2000-05-03 Jim Meyering <meyering@lucent.com> - - With a recent glibc, _GNU_SOURCE, and -O, strndup may be a macro. - * src/sys2.h (!HAVE_DECL_STRNDUP): Declare strndup. - * src/dircolors.c: Remove declaration of strndup. - Reported by Bruno Haible. - -2000-05-02 Jim Meyering <meyering@lucent.com> - - * src/rm.c (usage): Add the answer to `How do I remove a file named -f?' - -2000-05-01 Jim Meyering <meyering@lucent.com> - - * src/install.c (change_attributes): Don't even attempt the chmod - if the chown fails. Before, when a non-root user ran `install -m 4755 - -o nobody FILE DEST', DEST would set-uid not to `nobody' but rather to - the ID of the installing user. Reported by Marc Olzheim. - -2000-04-30 Jim Meyering <meyering@lucent.com> - - * src/touch.c (O_NOCTTY): Define if not defined already. - (touch): Add O_NOCTTY to the flags passed to open. - -2000-04-29 Jim Meyering <meyering@lucent.com> - - * Version 4.0r. - - * src/cp.c [LSTAT_FOLLOWS_SLASHED_SYMLINK] (lstat): Define to rpl_lstat. - -2000-04-27 Jim Meyering <meyering@lucent.com> - - Clean up. - * tests/mkdir/Makefile.am (TESTS_ENVIRONMENT): Set PATH, not MKDIR. - * tests/mkdir/p-1: Use mkdir, not $MKDIR. - * tests/mkdir/p-2: Likewise. - - * configure.in (AC_OUTPUT): Add tests/du/Makefile. - * tests/Makefile.am (SUBDIRS): Add du. - * tests/du: New directory. - * tests/du/two-args: New test. - - * tests/mkdir/special-1: New test. - * tests/mkdir/Makefile.am (TESTS): Add special-1. - -2000-04-25 Paul Eggert <eggert@twinsun.com> - - * src/du.c (pop_dir): Remove through_symlink arg; use null cwd - for that purpose instead. - (count_entry): Also save the directory if we're saving more - than one level. - Fix file descriptor and memory leak when chdir fails. - -2000-04-26 Jim Meyering <meyering@lucent.com> - - * src/mkdir.c: Rename global: s/path_mode/create_parents/. - (main): No longer perform explicit chmod when creating - parent directories, since make_path now does the chmod. - -2000-04-17 Jim Meyering <meyering@lucent.com> - - * src/chown.c: New option: --from=CURRENT_OWNER:CURRENT_GROUP. - (enum) [FROM_OPTION]: New member. - (long_options): New getopt spec. - (change_file_owner): Add old_user, old_group parameters. Use them. - (change_dir_owner): Likewise. - (usage): Describe. - (main): New case. - From Andries Brouwer. - * doc/fileutils.texi (invoking chown): Document it. - -2000-04-16 Jim Meyering <meyering@lucent.com> - - * src/cp.c: New option: --strip-trailing-slashes. - (enum) [STRIP_TRAILING_SLASHES_OPTION]: New member. - (remove_trailing_slashes): New global. - (long_opts): New getopt spec. - (usage): Describe. - (do_copy): Strip trailing slashes on SOURCE names only if the new - option has been specified. - (main): New case. - - * tests/cp/symlink-slash: New test for the change in behavior. - * tests/cp/Makefile.am (TESTS): Add symlink-slash. - - * doc/fileutils.texi (Trailing slashes): Factor out discussion on - trailing slashes into its own node. - Cross reference from cp and mv. - -2000-04-14 Jim Meyering <meyering@lucent.com> - - * src/touch.c (touch): Add O_NOCTTY to the list of open-time flags. - -2000-04-13 Jim Meyering <meyering@lucent.com> - - Move some code into m4/. - * configure.in (_GNU_SOURCE): Don't define here. - (AC_SYS_LARGEFILE): Don't use here. - (AM_C_PROTOTYPES): Don't use here. - * acconfig.h: Remove now-unused file. - -2000-04-08 Jim Meyering <meyering@lucent.com> - - * doc/fileutils.texi (cp invocation): Mention that there is an - application for cp's --sparse=never option. From Martin Hippe. - (cp invocation): Describe how --backup and --force - can be useful together. - -2000-03-10 Alan Iwi <iwi@atm.ox.ac.uk> - - * src/ls.c: Add support for "ln=target" in the LS_COLORS variable, - to colorize links as for the file/directory pointed to. - * src/dircolors.hin: Add a few words of documentation of the above. - -2000-04-08 Jim Meyering <meyering@lucent.com> - - * src/cp.c (usage): Document that while the --backup option takes an - optional argument, the -b option accepts none. - (main): Use `backup type' in call to xget_version, not the - now-deprecated `--version-control'. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/mv.c: Likewise. - -2000-03-12 Jim Meyering <meyering@lucent.com> - - Merge from textutils. - * src/system.h (O_BINARY, O_TEXT): Define if necessary. - (SET_BINARY, SET_BINARY2): Define. - (DEV_BSIZE): Define to BBSIZE if appropriate. - -2000-03-10 Jim Meyering <meyering@lucent.com> - - * tests/mv/mv-special-1: Make the message more like that in the - similar touch and shred tests. - * tests/touch/fifo: Accommodate SunOS-NFS-mounting-OpenBSD mkfifo - bug and `exit 77' if the fifo cannot be created. - Report and suggestion from Volker Borchert. - -2000-03-03 Jim Meyering <meyering@lucent.com> - - * po/Makefile.in.in (dist distdir): Don't use `ln' (which was just a - space optimization anyway) to populate $(distdir). Otherwise, the dist - rules that change permissions would end up affecting the master sources. - -2000-03-01 Paul Eggert <eggert@twinsun.com> - - * src/df.c (show_point): Ignore shortcuts based on path - prefixes that are loop file system mount points, since they - yield undesirable output. - -2000-02-29 Jim Meyering <meyering@lucent.com> - - * src/ls.c (decode_switches): Remove `e' from getopt_long's list of - option characters. Reported by John Summerfield. - -2000-02-28 Jim Meyering <meyering@lucent.com> - - * tests/install/basic-1: Use ginstall, not install. - -2000-02-27 Jim Meyering <meyering@lucent.com> - - * Version 4.0q. - - * src/sys2.h: Guard declaration of strtoull also with - `&& HAVE_UNSIGNED_LONG_LONG'. - - * src/sys2.h: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL...' - now that autoconf always defines the HAVE_DECL_ symbols. - - * src/install.c (install_file_to_path): Always use install_file_in_file. - Based on a patch from Adam Klein via Michael Stone. - - * tests/install/Makefile.am (TESTS): Add create-leading. - * tests/install/create-leading: New file. - - * tests/install/basic-1: Clean up. - * tests/install/Makefile.am (TESTS_ENVIRONMENT): Add PATH. Remove cruft. - -2000-02-26 Jim Meyering <meyering@lucent.com> - - Transform the generated src/Makefile.in file so it falls back on - using /bin/rm when necessary. The old rule didn't always work. - This is necessary only on certain losing systems, and because this - package builds an `rm' executable and some people put `.' too - early in their PATH. - * Makefile.am (DISTCLEANFILES): Remove .deps and `FIXME' comment. - (EXTRA_DIST): Add .kludge-stamp. - (.kludge-stamp): New rule. - * src/Makefile.am (AUTOMAKE): Remove definition. - (Makefile.in): Remove dependency on automake-wrap script. - (EXTRA_DIST): Remove automake-wrap. - * src/automake-wrap: Remove file. - - * tests/rm/r-2: Don't make the success of the test depend on the - order in which directory entries are processed. - Reported by Andreas Schwab. - -2000-02-12 Jim Meyering <meyering@lucent.com> - - * po/POTFILES.in: Add lib/userspec.c. - - * doc/fileutils.texi (chown invocation): Deprecate use of `.'. - - * src/chown.c (usage): Mention only `:', and not `.' as the separator, - since POSIX allows only the former. - Prompted by a report from Manas Garg. - -2000-02-11 Jim Meyering <meyering@lucent.com> - - * src/df.c (main): Count the stat'able arguments. - Print the header line only if there is at least one valid argument. - Reported by Andy Longton <alongton@metamark.com> - -2000-02-10 Jim Meyering <meyering@lucent.com> - - Make du work when invoked from an unreadable directory. - - * src/du.c (pop_dir): New function. - (count_entry): Factor out common code (pop_dir), and call the new - function instead. - Move declaration of global, `stat_buf' into this function. - (du_files): Don't stat `.' or call save_cwd, since count_entry - never returns with a changed working directory. - -2000-02-09 Jim Meyering <meyering@lucent.com> - - * tests/mv/mv-special-1: Use $null and $dir in place of literals - in `here' script. - Exit 77 if we can't set up the framework (Volker Borchert reported - that this test would fail because mknod failed when run on SunOS4.1.4 - using NFS-mounted disk from an OpenBSD system). - -2000-02-05 Jim Meyering <meyering@lucent.com> - - * src/copy.c (copy_internal): Don't allow mv to move a directory onto - a non-directory. Reported by Brian Kimball via Michael Stone. - -2000-02-03 Jim Meyering <meyering@lucent.com> - - * tests/mv/Makefile.am (TESTS): Add dir-file. - (TESTS_ENVIRONMENT): Remove vestiges of old tests. - * tests/mv/dir-file: New file. - -2000-02-02 Jim Meyering <meyering@lucent.com> - - * tests/touch/Makefile.am (TESTS): Add fifo. - * tests/touch/fifo: New file. - -2000-02-01 Jim Meyering <meyering@lucent.com> - - * src/touch.c (O_NDELAY): Define to 0 if not defined. - (O_NONBLOCK): Define to O_NDELAY if not defined. - (touch): Open with O_NONBLOCK, so one can touch a fifo without hanging. - Reported by Eric G. Miller via Michael Stone. - - * man/*.x: Change ." to .\". - Reported by Andreas Schwab and Brendan O'Dea. - -2000-01-31 Jim Meyering <meyering@lucent.com> - - * man/Makefile.maint (ginstall_filter): Define. - ($(man_MANS)): Use it here so that the install.1 man page refers - to `install', not `ginstall'. Reported by Andreas Schwab. - -2000-01-30 Jim Meyering <meyering@lucent.com> - - * Version 4.0p. - - * configure.in: Move library-related tests into m4/lib-check.m4. - - * src/system.h (ST_NBLOCKS): Use st_size only for regular files and - for directories. From H. J. Lu. - - * src/dd.c (main): Exit with nonzero status if ftruncate fails. - -2000-01-24 Jim Meyering <meyering@lucent.com> - - * src/ln.c (usage): Describe behavior when LINK_NAME is omitted. - From Michael Stone. - - * src/mv.c (main): Don't expect array index `n_files - 1' to evaluate - to `-1' for unsigned int n_files == 0. Doing so lead to a segfault on - alpha. From Michael Stone. - -2000-01-23 Jim Meyering <meyering@lucent.com> - - * configure.in (AM_FUNC_OBSTACK): Remove. (move to m4/.) - Remove nearly all function checks (moved to m4/.) - (AC_SUBST(DF_PROG)): Move this to m4/. - (ftruncate test): Move into new file: m4/ftruncate.m4. - (AC_HEADER_MAJOR, AC_HEADER_DIRENT): Move into m4/. - Remove df-related tests. i.e., move jm_LIST_MOUNTED_FILESYSTEMS, - jm_FSTYPENAME, and jm_FILE_SYSTEM_USAGE) into m4/. - -2000-01-22 Jim Meyering <meyering@lucent.com> - - * configure.in: Move addext.c prerequisites from this file into m4/. - (AC_CHECK_HEADERS): Move these checks into m4/. - -2000-01-17 Paul Eggert <eggert@twinsun.com> - - * src/dd.c (interrupt_handler): Likewise. - (install_handler): Use SA_NOCLDSTOP, not _POSIX_VERSION, - to decide whether to call sigaction; this fixes an old typo. - -2000-01-16 Jim Meyering <meyering@lucent.com> - - * lib/Makefile.am: Sync with sh-utils/lib/Makefile.am. - - * configure.in: Remove AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, - jm_FUNC_GROUP_MEMBER, jm_FUNC_GETGROUPS, AC_FUNC_VPRINTF, and - AC_FUNC_ALLOCA. They're now in m4/. - - Sync with the version from emacs-20.5. - * lib/alloca.c - (<string.h>): Include if HAVE_STRING_H. - (<stdlib.h>): Include if HAVE_STDLIB_H. - (alloca): Abort if malloc fails. - Reported by Paul Eggert. - -2000-01-15 Jim Meyering <meyering@lucent.com> - - * configure.in (AC_REPLACE_FUNCS): Remove these: euidaccess memcpy - memcmp memset mkdir rmdir rpmatch stpcpy strndup strstr strtol - strtoul strverscmp. Now they're in m4/. - -2000-01-12 Jim Meyering <meyering@lucent.com> - - * tests/shred/remove: Make the warning that this shred test may not - be run as root more prominent. Suggestion from Volker Borchert. - -2000-01-11 Paul Eggert <eggert@twinsun.com> - - Quote multibyte characters correctly. - - * lib/quotearg.c (ISGRAPH): Remove. - (ISPRINT): New macro. - (<wchar.h>): Include if HAVE_MBRTOWC && HAVE_WCHAR_H. - (isprint, mbrtowc, mbsinit, mbstate_t): New macros, - defined if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). - (quotearg_buffer_restyled): New function, with most of the old - quotearg_buffer's contents. - Major rewrite to support multibyte characters. - (quotearg_buffer): Now just calls quotearg_buffer_restyled. - - * m4/c-bs-a.m4: New file. - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro. - (jm_PREREQ): Use it. - -2000-01-11 Paul Eggert <eggert@twinsun.com> - - * lib/modechange.c (mode_compile): Use uintmax_t, not unsigned - long, to parse numeric modes. Check for any unknown bits, not - just unknown bits left of the leftmost known bit. - -2000-01-11 Paul Eggert <eggert@twinsun.com> - - * lib/getdate.y: Update copyright notice. - -2000-01-11 Paul Eggert <eggert@twinsun.com> - - * COPYING: Sync with latest FSF version (fixing a minor Y2k problem). - -2000-01-11 Paul Eggert <eggert@twinsun.com> - - * lib/exclude.c, lib/exclude.h: Sync to the slightly more - general version of GNU tar. - - * src/du.c (count_entry): - Adjust to new calling convention for excluded_filename. - (main): Likewise, for add_exclude_file. - -2000-01-11 Jim Meyering <meyering@lucent.com> - - * lib/memcpy.c (memcpy): Protoize. - - Prepare to sync lib/ directories of fileutils, sh-utils, and textutils. - * lib/Makefile.am: s/fu/fetish/ - * src/Makefile.am: s/libfu/libfetish/ - - * lib/hash.c (hash_initialize): Fix typo in comment. - From François Pinard. - -2000-01-10 Jim Meyering <meyering@lucent.com> - - * Version 4.0o. - - * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h. - -2000-01-09 Jim Meyering <meyering@lucent.com> - - * Version 4.0n. - - * src/ln.c (do_link): Produce the same sort of one-line output for - `--backup --verbose' as cp, mv, install. Before this, the backup - file name wasn't printed at all. - - This affects cp, install, and mv. - * src/copy.c (copy_internal): When making backup files in verbose - mode, print the backup file name on the same line as the rest of the - information, e.g., `a -> b (backup: b.~13~)' rather than on a separate - line by itself. Suggestion from Karl Berry. - -2000-01-08 Jim Meyering <meyering@ascend.com> - - * lib/error.c (error): Use __strerror_r's return value only if - HAVE_WORKING_STRERROR_R. - (error_at_line): Likewise. - - * Makefile.maint (null_AM_MAKEFLAGS): Define. - (my-distcheck): Use it to avoid distributing out of date files - whose derivation would require a maintainer tool. - -2000-01-07 Jim Meyering <meyering@ascend.com> - - * lib/euidaccess.c: Sync with the GNU C library. - - * tests/dir/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix - to exported PATH value (though not strictly necessary, here). - * tests/dd/Makefile.am: Likewise. - * tests/dircolors/Makefile.am: Likewise. - * tests/rm/Makefile.am: Likewise. - * tests/rmdir/Makefile.am: Likewise. - * tests/shred/Makefile.am: Likewise. - * tests/touch/Makefile.am: Likewise. - * tests/shred/Makefile.am: Likewise. - -2000-01-06 Jim Meyering <meyering@ascend.com> - - * man/help2man: Import version 1.020. - - * lib/strftime.c: Sync with the GNU C Library. - -2000-01-06 Paul Eggert <eggert@set.twinsun.com> - - * tar/lib/getdate.y: Sync tm_diff with the GNU C Library. - (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. All uses changed. - (tm_diff): Renamed from difftm. All uses changed. - Replace body with that taken from GNU C Library 2.1.3pre1. - (get_date): Prefer tm_gmtoff to tm_diff if available. - -2000-01-04 Paul Eggert <eggert@twinsun.com> - - * savedir.c (savedir): Don't store past the end of an array if - name_size is zero and the directory is empty. - - * Makefile.maint (PREV_VERSION): Tweak so it handles e.g., 2.0a -> 2.0. - (alpha): Create xdelta diffs. - -2000-01-02 Jim Meyering <meyering@ascend.com> - - * Version 4.0m. - - * src/mv.c: New option: --strip-trailing-slashes. - - 1999-11-18 Paul Eggert <eggert@twinsun.com> - - * lib/strftime.c (my_strftime): Some old compilers object to - '\a', so don't bother optimizing for it. - -2000-01-01 Paul Eggert <eggert@twinsun.com> - - Fix bug: `df PATH' sometimes misbehaves when there is an - inaccessible mount point unrelated to PATH. - * configure.in (AC_CHECK_FUNCS): Add realpath, resolvepath. - * src/df.c (#pragma alloca): Add if _AIX is defined. - (path-concat.h): Include. - (show_point): If HAVE_REALPATH or HAVE_RESOLVEPATH is defined, - find the real absolute path for PATH, and use that to find the - mount point. - - (show_point): Prefer non-dummy entries in shortcuts, too. - Disable bogus mount dirs instead of restatting them each time. - -1999-12-30 Jim Meyering <meyering@ascend.com> - 1999-12-17 Kalle Olavi Niemitalo <tosi@stekt.oulu.fi> - - * src/rmdir.c (remove_parents, main): Don't pass errno to error - when printing "removing directory" message. Failure of rmdir is - handled elsewhere. - -1999-12-23 Jim Meyering <meyering@ascend.com> - - * configure.in: Remove clock_gettime tests. - Now they're in m4/jm-macros.m4. - - * src/ln.c (usage): Correct typos. - List new --target-directory=... usage. - Reported by Göran Uddeborg - - * src/mv.c (usage): List new --target-directory=... usage. - -1999-12-22 Jim Meyering <meyering@ascend.com> - - * lib/getdate.y (get_date): Fix typo in time_t overflow test. - From Michael Stone. - -1999-12-21 Andreas Schwab <schwab@suse.de> - - * tests/shred/remove: Use $file, not $tmp/file. Exit 77 if run as - root. - -1999-12-20 Paul Eggert <eggert@twinsun.com> - - * src/df.c (ceil_percent): Remove. - (show_dev): Avoid overflow problems when calculating percent. - Do not display negative percents. - -1999-12-19 Jim Meyering <meyering@ascend.com> - - * Version 4.0l. - - * doc/fileutils.texi: Clarify and combine descriptions of -c and of - --time=ctime. - Likewise for -u/--time=atime. - - * src/ls.c [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Use lstat wrapper. - [Notice the new configure-time test in m4/lstat-slash.m4. ] - (main): Back out change from 1999-02-19 that made ls remove - trailing slashes from command line arguments to accommodate early - versions of Linux. Now, `ls symlink-to-dir/' acts like - `ls symlink-to-dir/.' thus following the symbolic link, as POSIX says - it should. Suggestion from Bruno Haible and Andreas Schwab. - - * lib/xstat.in (slash_aware_lstat): New function. - (rpl_@xstat@): Use it. - * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in. - (lstat.c): Likewise. - - Make sure ls does the right thing with symlinks and trailing slashes. - * tests/ls/Makefile.am (TESTS): Add symlink-slash. - * tests/ls/symlink-slash: New test, for above-fixed bug. - -1999-12-18 Jim Meyering <meyering@ascend.com> - - * src/shred.c (wipename): When repeatedly renaming a file, making the - name shorter and shorter, skip to the next shorter length length if a - rename fails (e.g. due to permission denied). Otherwise, this loop - would iterate for so long that shred would appear to be stuck in an - infinite loop for any but the shortest file names. - Reported by Joe Orton. - - * configure.in (AC_OUTPUT): Add tests/shred/Makefile. - * tests/Makefile.am (SUBDIRS): Add shred. - * tests/shred: New directory - * tests/shred/remove: New file. Tests for the above-fixed bug. - -1999-12-13 Jim Meyering <meyering@ascend.com> - - * lib/makepath.c (make_path): Consistently use `error' to output - the verbose, `created directory ...' messages. - Reported by Bernhard Rosenkraenzer. - -1999-12-12 Jim Meyering <meyering@ascend.com> - - Move 120+ lines of stat.h-related macros from system.h (not shared) - to sys2.h, which is shared between fileutils, sh-utils, textutils. - * src/system.h: Move them from here... - * src/sys2.h: ... to here. - - * src/system.h (S_IRUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH): Define - if not defined. This was necessary on a NeXT Turbostation running - Mach 3.3. Reported by Nelson H. F. Beebe. - - * src/ls.c (decode_switches): If -c or -u is specified and not -l - (or any other option that implies -l), and no sort-type was specified, - then sort by the ctime (-c) or atime (-u). Part of this change reverts - the 1998-01-10 delta. - (usage): Update to reflect this change. - Reported by Paul Slootman via Michael Stone. - -1999-12-09 Jim Meyering <meyering@ascend.com> - - * src/df.c (BLOCK_SIZE_OPTION, SYNC_OPTION, NO_SYNC_OPTION): Define - these and use them instead of `CHAR_MAX + n'. - * src/du.c (BLOCK_SIZE_OPTION, EXCLUDE_OPTION, MAX_DEPTH_OPTION): - Likewise. - * src/touch.c (TIME_OPTION): Likewise. - * src/rmdir.c (IGNORE_FAIL_ON_NON_EMPTY_OPTION): Likewise. - - * tests/ls/time-1: Test more of the framework (touch's -a and -m - options) before running the actual ls test. - -1999-12-07 Jim Meyering <meyering@ascend.com> - - * tests/cp/cp-mv-backup: Use 1>&2 rather than `1<&-'. - Suggestion from Volker Borchert. - -1999-12-05 Jim Meyering <meyering@ascend.com> - - * Makefile.maint: Remove ftp.enst.fr. - -1999-12-04 Jim Meyering <meyering@ascend.com> - - * Version 4.0k. - - * tests/mv/into-self-2: Adapt to reflect this change in behavior. - Make sure the VERSION_CONTROL envvar is not set. - Run diff if comparison fails. - - * src/copy.c (copy_internal): In move mode, if the rename attempt - fails, then unlink any existing destination file. This makes a - cross-device `mv' more consistent with the intra-device behavior. - This change is required by POSIX to make a cross-device move act with - semantics similar to those of the rename syscall. For example now - `mv' can move a file onto a symlink to itself when that symlink - is on a separate partition. With fileutils-4.0j, it would fail with - a diagnostic saying they were the same file. - Reported by Bruno Haible. - - * tests/mv/to-symlink: New file. Adds test for the above. - * tests/mv/Makefile.am (TESTS): Add to-symlink. - - * tests/cp/cp-mv-backup (trap): Be careful to close $actual before - removing the containing directory. Otherwise, on some systems rmdir - fails to remove the containing directory. - - * tests/ls/time-1: List --full-time dates upon failure. - -1999-12-02 Andreas Schwab <schwab@suse.de> - - * src/ls.c (check_symlink_color): New variable. - (main): Set it if we need to check for dangling symlinks when - displaying colors. - (gobble_file): Check check_symlink_color instead of print_with_color. - -1999-11-30 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (usage): Shorten help for --show-control-chars. - -1999-11-30 Jim Meyering <meyering@ascend.com> - - Give the right diagnostic when failing to create a file in an - unwritable directory. - * src/touch.c (touch): Record errno upon failed errno and use that - saved value if a subsequent fstat, stat or utime call fails. - Reported by Wichert Akkerman via Michael Stone. - -1999-11-27 Jim Meyering <meyering@ascend.com> - - Clean up test scripts. - * tests/mv/setup: Don't set/use DF or MKDIR. Use df and mkdir instead. - * tests/mv/mv-special-1: Likewise for these: LS MV MKDIR MKNOD RM TOUCH - * tests/mv/backup-is-src: Likewise for RM and MV. - * tests/mv/hard-link-1: Likewise. - * tests/mv/into-self: Likewise. - * tests/mv/into-self-3: Likewise. - - Add test for 1999-05-23 change to src/copy.c (copy_internal). - * tests/mv/partition-perm: New file. - * tests/mv/Makefile.am (TESTS): Add partition-perm. - - * Version 4.0j. - -1999-11-22 Paul Eggert <eggert@twinsun.com> - - * src/df.c (df_readable): Now returns char const *, not char *. - New arg NEGATIVE. - (ceil_percent): Now returns double, not int. - Be more careful about adding 1 to a wild value. - (show_dev): Don't filter out wild sizes from the underlying operating - system; instead, show them to the user as faithfully as possible. - -1999-11-23 Jim Meyering <meyering@ascend.com> - - * doc/getdate.texi (Calendar date item): Correction regarding 0..68/ - 69-99 split for 1900 vs 2000. From Peter Moulder. - -1999-11-22 Jim Meyering <meyering@ascend.com> - - * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c. - -1999-11-20 Jim Meyering <meyering@ascend.com> - - * src/rmdir.c (errno_rmdir_non_empty): New function to encapsulate - errno comparison. - (remove_parents): Use it. - (main): Use it. - - * tests/cp/cp-mv-backup: Run `diff -c' if the test fails. - - * tests/ls/time-1: Use `ls' and `touch', not $LS and $TOUCH. - * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Specify PATH, etc. - - * src/chgrp.c: Declare lstat; needed on e.g. SunOS4. - Reported by Tom Tromey. - -1999-11-19 Jim Meyering <meyering@ascend.com> - - * lib/strstr.c (strstr): Include config.h. - Add a `;' between shloop label and `}'. - From Akim Demaille. - -1999-11-17 Jim Meyering <meyering@ascend.com> - - * src/mkdir.c (S_IRWXUGO): Define if necessary. - (main): Use chmod to set the permissions if bits other than those - of S_IRWXUGO were requested. Reported by Sami Farin. - -1999-11-14 Paul Eggert <eggert@twinsun.com> - - * touch.c (touch): Simplify code a tad, using fd == -1 instead - of separate valid_fd variable. - -1999-11-13 Jim Meyering <meyering@ascend.com> - - * src/touch.c (touch): Don't fail just because we couldn't open - an existing file. This makes it so that touching a read-only - file now works. Also clean up and simplify. - Based on a patch from Chip Salzenberg. - * tests/touch/no-rights: New test for this. - * tests/touch/Makefile.am (TESTS): Add no-rights. - -1999-11-12 Jim Meyering <meyering@ascend.com> - - * src/remove.c (print_nth_dir): Write one fewer byte so we don't print - a trailing slash. - (rm): Fix bugs in (and test, this time) the very rarely used code - to warn about directory cycles. - Reported by michael@roka.net. - -1999-11-11 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_internal): Treat src and dest as the `same' in - `mv src symlink-to-src' when src and dest are on different partitions. - Otherwise, that `mv' command would silently remove `src'. - Reported by Michael Stone. - * tests/mv/into-self-2: Add a test for this fix. - - * lib/makepath.c (make_path): Fix long-latent bug: s/&&/||/ (others - just like that also dated back to 1992 were fixed in 1998-01-02). - Richard Braakman reported that using `install -d -g foo 1/2` - only sets the group on the intermediate directory, not the final - component. From Michael Stone. - -1999-11-07 Paul Eggert <eggert@set.twinsun.com> - - * human.c (default_block_size): New function. - (humblock): Use it if no block size is specified. - (human_block_size): If the specified block size is zero, report an - error if report_errors is nonzero; otherwise use the default. - -1999-11-07 Jim Meyering <meyering@ascend.com> - - * src/dircolors.hin: Add several more TERM types. - Add .bz2 suffix. - Add .png for real this time. - Change the image types colors to be visible in a black-on-white xterm. - From Michael Stone. - - * src/chgrp.c (xstat): New global. - (main): Define it. - (change_file_group): Use it. Before this change, when running chgrp - on a symlink without --dereference (-h) and when the requested group - is the same as the group for the *symlink*, chgrp would do nothing. - Now it changes the group of the file referenced through the symlink. - Reported by Martin Mitchell. - - * src/chmod.c: Use REFERENCE_FILE_OPTION instead of bare `CHAR_MAX + 1'. - * src/chown.c: Define and use REFERENCE_FILE_OPTION and - DEREFERENCE_OPTION in place of bare `CHAR_MAX + N'. - * src/chgrp.c: Likewise. - - * tests/ln/misc: Add hard-link-to-symlink test. - Move framework_failure test to the end. - Fix a typo: s/||/&&/. - - * src/ln.c (do_link): Warn that making a hard link to a symbolic link - is not portable. - - * tests/ln/misc: Use --b=simple, not the now-deprecated `-V simple'. - * tests/ln/backup-1: Likewise. - - * configure.in (AC_OUTPUT): Add tests/rmdir/Makefile. - * tests/Makefile.am (SUBDIRS): Add rmdir. - * tests/rmdir: New directory - * tests/rmdir/ignore: New file. - - * src/rmdir.c (remove_parents): Use the correct test (just as in - main) in handling --ignore-fail-on-non-empty. From Michael Stone. - (usage): Improve description of --parents. Based on suggestion from - Torsten Landschoff. - -1999-11-06 Jim Meyering <meyering@ascend.com> - - Allow hard links to symlinks on systems that support it. - * src/ln.c (STAT_LIKE_LINK): Define. - (do_link): Use STAT_LIKE_LINK, rather than bare `stat', and perform - the extra lstat only on systems where LINK_FOLLOWS_SYMLINKS. - - * src/ls.c (long_options): Correct typo (s/'F'/'p'/) so that `-p' is - accepted as the short form of --file-type, per the documentation. - From James Sneeringer. - - * src/ln.c (do_link): Fix typo (in which the function name `symlink' - was tested instead of the variable `symbolic_link') that could make - ln perform an unneeded `stat' call. - -1999-11-05 Jim Meyering <meyering@ascend.com> - - * src/system.h: Use HAVE_STRUCT_STAT_ST_BLOCKS, not deprecated - HAVE_ST_BLOCKS. - * src/copy.c: Likewise. - * lib/fileblocks.c: Likewise. - - * configure.in: Move some type/header/member tests into - m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of - fileutils, textutils, and sh-utils. - -1999-11-02 Jim Meyering <meyering@ascend.com> - - * man/help2man: Import version 1.018. - * man/Makefile.maint ($(man_MANS)): Remove use of --name=... option. - * man/*.x: Include one-line summary in [NAME] section. - * man/Makefile.summ: Remove the one-line summaries. - Suggestion for clean-up from Akim Demaille. - - * configure.in (ALL_LINGUAS): Add Galician (gl). - -1999-11-01 Jim Meyering <meyering@ascend.com> - - * src/cp.c (usage): Warn about mixing use of `-r' with FIFOs and - other special files like /dev/zero. - - * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). - -1999-10-31 Jim Meyering <meyering@ascend.com> - - * Makefile.maint (my-distcheck): Remove $(DEPDIR) to work around - automake bug. - - * doc/fileutils.texi: Document new --backup[=METHOD] option for - cp, mv, ln, and install. - - * src/ln.c: Convert --backup to take an optional argument. - Deprecate --version-control (-V) in comments. - (usage): Remove mention of --version-control. - (main): Make -V warn then fall through into --backup case. - [--backup case]: Handle optional arg. - * src/install.c: Likewise. - -1999-10-24 Jim Meyering <meyering@ascend.com> - - * src/cp.c (do_copy): Constify `dest', and cast-away the new - const in assignment to new_dest. - -1999-10-23 Jim Meyering <meyering@ascend.com> - - * tests/touch/Makefile.am (TESTS): Add dangling-symlink. - * tests/touch/dangling-symlink: New file. - -1999-10-23 Paul Eggert <eggert@twinsun.com> - - * src/touch.c (full_write): Remove unused decl. - (open_maybe_create): Remove. - (touch): Don't record whether the file was created; this isn't - possible to do reliably and portably without race conditions. - If the file was created and if amtime_now is nonzero, this - change means we'll have to do another utime system call, but - that's no more harmful than the previous version of this code. - Reported by Gabor Z. Papp. - -1999-10-21 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add Japanese (pa). - -1999-10-17 Jim Meyering <meyering@ascend.com> - - * tests/mv/backup-is-src: Remove use of mv's now-deprecated - -V option. Use --b=simple instead of -b -V simple. - - * src/mv.c: Convert --backup to take an optional argument. - Deprecate --version-control (-V) in comments. - (usage): Remove mention of --version-control. - (main): Make -V warn then fall through into --backup case. - [--backup case]: Handle optional arg. - - Accept new option: --target-directory=DIR - * src/cp.c (TARGET_DIRECTORY_OPTION): Define. - (SPARSE_OPTION): Define. - (usage): Describe it. - (do_copy): Change meanings/names of first two parameters: use `n_files' - in place of `argc - optind', and `file' instead of `argv + optind'. - Add parameter, target_directory. - (main): Pass new arg, target_directory. - -1999-10-16 Jim Meyering <meyering@ascend.com> - - * tests/cp/backup-is-src: Remove use of cp's now-deprecated -V option. - Use --b=simple instead of -b -V simple. - * tests/cp/backup-1: Replace use of cp's now-deprecated - --version-control option with use of --backup=simple. - - * src/cp.c: Convert --backup to take an optional argument. - Deprecate --version-control (-V) in comments. - (usage): Remove mention of --version-control. - (main): Make -V warn then fall through into --backup case. - [--backup case]: Handle optional arg. - - * tests/cp/Makefile.am (TESTS): Add cp-mv-backup. - * tests/cp/cp-mv-backup: New file. - -1999-10-11 Jim Meyering <meyering@ascend.com> - - * lib/getopt.c: Merge changes from latest glibc. - * lib/getopt.h: Likewise. - * lib/getopt1.c: Likewise. - -1999-10-09 Jim Meyering <meyering@ascend.com> - - Accept new option: --target-directory=DIR - * src/ln.c (TARGET_DIRECTORY_OPTION): Define. - (usage): Describe it. - (main): Implement it. - Make code clearer: use new variable `n_files' in place of - `argc - optind'. Use `file' instead of `argv + optind'. - -1999-10-04 Jim Meyering <meyering@ascend.com> - - * depcomp: New file, for automake's new dependency support. - * missing: New version, from automake's user-dep-gen-branch. - - * lib/xalloc.h (__attribute__): Apply 1999-10-03 change here, too. - * src/sys2.h (__attribute__): Likewise. - Wrap with #ifndef __attribute__. - -1999-10-03 Paul Eggert <eggert@twinsun.com> - - * getdate.y (__attribute__): Define to empty if GCC claims to - be before 2.8; this is needed for OPENStep 4.2 cc. Also, - define to empty if strict ANSI. - -1999-10-03 Jim Meyering <meyering@ascend.com> - - Accept new option: --target-directory=DIR - * src/mv.c (TARGET_DIRECTORY_OPTION): Define. - (usage): Describe it. - (main): Implement it. - Remove unused variable, stdin_tty. - Make code clearer: use new variable `n_files' in place of - `argc - optind'. Use `file' instead of `argv + optind'. - -1999-09-28 Jim Meyering <meyering@ascend.com> - - * src/system.h: Do s/#ifdef HAVE_/#if HAVE_/ -- solely for aesthetics. - Do the same for other config.h macros like CLOSEDIR_VOID and MAJOR_*. - * src/sys2.h: Likewise. - - * lib/xalloc.h (__attribute__): Protect against redefinition. - From Akim Demaille. - -1999-09-26 Jim Meyering <meyering@ascend.com> - - * lib/xmalloc.c (xalloc_die): Rename from xalloc_fail and - update callers. - Use explicit exit to help avoid warnings. - From Akim Demaille. - - * lib/path-concat.c (DIRECTORY_SEPARATOR): Define. - (ISSLASH): Define. - (path_concat): Allow parameter DIR to be NULL. - (xpath_concat): New function. - From Akim Demaille. - - * lib/xalloc.h (__attribute__): Define. - (ATTRIBUTE_NORETURN): Define. - (xalloc_die): Declare. - (NEW): Define as yet unused macro. - (XFREE): Likewise - (CCLONE): Likewise. - (CLONE): Likewise. - From Akim Demaille. - - * lib/basename.c (base_name): Add prototype. From Akim Demaille. - -1999-09-19 Jim Meyering <meyering@ascend.com> - - * lib/lchown.c [STAT_MACROS_BROKEN] (S_ISLNK): Undefine. - (S_ISLNK): Define if necessary. - This is necessary on a NEC SX-4 with SUPER-UX 9.1. - Based on a patch from Holger Berger. - - * src/dd.c (siginfo_handler): Mark parameter with ATTRIBUTE_UNUSED. - Change many counter and index variables to be of unsigned type. - (dd_copy): Add new unsigned variable, n_bytes_read, in place of - many uses of `nread'. - - * src/sys2.h (__attribute__): Define. - (ATTRIBUTE_NORETURN): Remove #else clause. - (ATTRIBUTE_UNUSED): Define. - -1999-09-17 Jim Meyering <meyering@ascend.com> - - * configure.in (AC_REPLACE_FUNCS): Remove strdup, now that this - is done in m4/jm-macros.m4. - -1999-09-09 Jim Meyering <meyering@ascend.com> - - * src/touch.c (usage): Remove misleading sentence in --help output. - From Karl Heuer. - - * src/Makefile.am (EXTRAdir): Remove unused variable. - -1999-09-03 Paul Eggert <eggert@twinsun.com> - - * lib/lchown.h (ENOSYS): Don't use ENOMSG; it's not in NeXTStep3.3. - Use EINVAL instead. - -1999-09-01 Jim Meyering <meyering@ascend.com> - - * src/cp.c: Remove declaration of xstrdup. - * src/df.c: Likewise. - * src/ls.c: Likewise. - -1999-09-01 Akim Demaille <akim@epita.fr> - - * lib/xmalloc.c (xalloc_fail_func): Use `PARAMS'. - * lib/xalloc.h (xalloc_fail_func): Likewise. - (xstrdup): Add protoype. - - * lib/version-etc.c (version_etc_copyright): Default copyright string. - (version_etc): Use it. - * lib/version-etc.h: Declare it. - -1999-08-29 Jim Meyering <meyering@ascend.com> - - * configure.in (AC_YACC): Remove use, now that we require bison. - - * src/dircolors.hin: Add .rpm, .png, and .fli. - From Andres Soolo. - -1999-08-28 Paul Eggert <eggert@twinsun.com> - - * getdate.y: Add copyright notice. - - (number): Handle `Nov 11 1996' example; see Risks Digest 20.55 - http://catless.ncl.ac.uk/Risks/20.55.html#subj18 - (1999-08-27) - - (<stdio.h>): Include only if testing. - (ISUPPER): Remove. - (ISLOWER, PC): New macros. - (<string.h>): Include if HAVE_STRING_H, not USG. - (bcopy): Remove. - (yymaxdepth, ..., yycheck): Don't bother to redefine, since we assume - bison. - (EPOCH_YEAR): Renamed from EPOCH. - (table): Renamed from TABLE. - (meridian): Now an anonymous enum. - (struct parser_control): New type. - (YYLEX_PARAM, YYPARSE_PARAM, YYSTYPE): New macros. - (yyInput, ..., yyRelYear): Migrated into struct parser_control. - (%pure_parser): Added, so that the parser is pure. - (%union): Removed; the type is now just plain int. - All %type directives removed. - (tLOCAL_ZONE): New %token. - (month_day_table): Renamed from MonthDayTable. - (gmtime, localtime, mktime, time): Declare only if not defined. - (meridian_table): New table. - (dst_table): New table. - (units_table): renamed from UnitsTable. - (relative_time_table): Renamed from OtherTable. - (time_zone_table): Renamed from TimezoneTable. Modernized data. - (military_table): Renamed from MilitaryTable. - (to_hour): Renamed from ToHour. - (to_year): Renamed from ToYear. - (lookup_zone): New function. - (LookupWord): Renamed from lookup_word. - Use lookup_zone for time zones. - (yylex): Now reentrant. All callers changed. - (get_date): Add support for local time zone abbreviations. - Make it reentrant. - -1999-08-22 Jim Meyering <meyering@ascend.com> - - * src/sys2.h (IF_LINT): Define new macro. - * src/df.c (main): Rename locals i and j. - Use IF_LINT macro instead of #ifdef lint... - - * src/dd.c (parse_integer): Add `const' to char* parameter and - add a separate `suffix' variable. - -1999-08-20 Jim Meyering <meyering@ascend.com> - - * src/chown.c (usage): Tweak --help output to make it more consistent - with that of chgrp. - * src/chgrp.c (usage): Tweak --help output to make it more consistent - with that of chown. - -1999-08-17 Jim Meyering <meyering@ascend.com> - - * configure.in: Remove check for rename and the code that would - enable building of the `mvdir' program. - * src/Makefile.am (libexec_PROGRAMS): Remove reference to @MVDIR@. - (EXTRA_PROGRAMS): Remove obsolete mvdir. - * lib/rename.c: Remove obsolete file. (it had a bug, too) - * src/mvdir.c: Remove obsolete file. - * po/POTFILES.in: Remove mvdir.c - - * doc/fileutils.texi (chown, chgrp invocation): Make these sections - consistent with each other. - -1999-08-16 Jim Meyering <meyering@ascend.com> - - * src/chown.c (groupname): Declare to be `const'. - (change_dir_owner): Declare statp parameter to be `const'. - (usage): Make the output be more consistent with that from chgrp. - - This change is nearly identical to the chown.c change of 1998-05-24 - * src/chgrp.c: Accept new option, --dereference. - --no-dereference is now the default. Include lchown.h. - (enum Change_status) [CH_NOT_APPLIED]: New member. - (change_symlinks): Enable this by default, now. - (describe_change): Handle new case. - (change_file_group): Add new parameter: cmdline_arg. Update callers. - Reorganize to reflect changed semantics. - (LCHOWN): Remove definitions. - From Bruno Haible. - -1999-08-10 Jim Meyering <meyering@ascend.com> - - * po/POTFILES.in: Add lib/quotearg.c. - -1999-08-09 Paul Eggert <eggert@twinsun.com> - - * NEWS, doc/fileutils.texi, src/ls.c (usage): - Add ls --quoting-style=locale. - - * lib/argmatch.c (ARGMATCH_QUOTING_STYLE): - Change from escape_quoting_style to locale_quoting_style. - (argmatch_invalid): Use new quotearg_style primitive for simplicity. - Also, use ARGMATCH_QUOTING_STYLE to quote, instead of quoting ourselves. - - * lib/quotearg.h (locale_quoting_style): New enum value. - (quotearg_n_style, quotearg_style): New decls. - - * lib/quotearg.c: Include <libintl.h> if ENABLE_NLS. - (_): New macro. - (quoting_style_args, quoting_style_v, quotearg_buffer): Add support - for locale_quoting_style, using _("`") and _("'") for open and close - quote symbols. - Do not quote spaces in escape_quoting_style. - (quotearg_n_style, quotearg_style): New functions. - -1999-08-08 Jim Meyering <meyering@ascend.com> - - * src/touch.c (usage): Clarify description of --time=WORD. - From Karl Berry. - - * lib/savedir.c (savedir): Change type of name_size parameter to off_t. - * lib/savedir.h (savedir): Update prototype. - * src/chmod.c (change_dir_mode): Remove cast of savedir arg. - * src/chown.c (change_dir_owner): Likewise. - * src/chgrp.c (change_dir_group): Likewise. - * src/copy.c (copy_dir): Likewise. - * src/du.c (count_entry): Likewise. - Suggestion from Bob Proulx. - -1999-08-07 Jim Meyering <meyering@ascend.com> - - * po/POTFILES.in: Add lots of lib/*.c files. - Remove src/cp-hash.c, since it doesn't use _(). - -1999-08-04 Jim Meyering <meyering@ascend.com> - - * configure.in: Remove getline-testing code. Now it's in m4/. - -1999-08-01 Paul Eggert <eggert@twinsun.com> - - * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. - -1999-07-30 Jim Meyering <meyering@ascend.com> - - * src/ls.c (usage): Explain about default wrt --hide-control-chars and - --show-control-chars. Reported by Germano Leichsenring. - -1999-07-28 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). - -1999-07-24 Jim Meyering <meyering@ascend.com> - - * src/dd.c (PTR_ALIGN, ROUND_UP_OFFSET): New macros. - (dd_copy): Use those to page-align both the input and output buffers. - -1999-06-01 Volker Borchert <bt@teknon.de> - - * tests/Makefile.am: Make envvar-check depend on check-recursive rather - than on `check' so that its tests are performed before any real tests. - -1999-07-15 Jim Meyering <meyering@ascend.com> - - * src/dd.c: Include getpagesize.h. - (dd_copy): Page-align the input buffer. - Based on a patch from Scott Lurndal. - - * getpagesize.h: New file. - * lib/Makefile.am (noinst_HEADERS): Add getpagesize.h. - - * lib/fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]: - Work around SunOS botch also when block size is different from 1k. - From Jürgen Fluk. - -1999-07-10 Jim Meyering <meyering@ascend.com> - - * man/help2man: Import version 1.012. - -1999-07-04 Jim Meyering <meyering@ascend.com> - - * lib/xstrtol.c [!defined strtoumax]: Declare strtoumax. - -1999-07-04 Paul Eggert <eggert@twinsun.com> - - * lib/xstrtol.c (__strtol): Remove decl; it doesn't work if __strtol - expands to a macro, which occurs in HP-UX 10.20 with strtoumax. - (strtol, strtoul): New decls (for pre-ANSI hosts), to replace - the above decl. - -1999-06-27 Paul Eggert <eggert@twinsun.com> - - Fix some incompatibilities between `df -P' and POSIX.2. - - * lib/human.h (enum human_inexact_style): New enum. - (human_readable_inexact): New decl. - - * lib/human.c (human_readable): New function. - (human_readable_inexact): Renamed from human_readable, with new arg - INEXACT_STYLE. Add support for ceiling and floor. - - * src/df.c (print_header): Conform to POSIX if posix_format). - (df_readable): Take ceiling if posix_format. - (ceil_percent): New function. - (show_dev): Take ceiling of percent if posix_format. - Align with POSIX-conforming header if posix_format. - - * doc/fileutils.texi: Document these changes. - -1999-05-27 Volker Borchert <bt@teknon.de> - - * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. - -1999-05-23 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_internal): Don't apply the umask in move_mode. - Otherwise, `mv' would not preserve the permissions when copying - between partitions. Reported by David Godfrey - - * Version 4.0i. - - * tests/cp/same-file: Correct erroneous expected output from - the `cp -f foo foo' tests. - * po/POTFILES.in: Add same.c. - * lib/same.h: New file. - * lib/same.c: New file (function extracted from ln.c). - * lib/Makefile.am (libfu_a_SOURCES): Add same.c. - (noinst_HEADERS): Add same.h. - * src/copy.c: Include same.h. - * src/ln.c (same_name): Remove function. - <same.h>: Include this instead. - <dirname.h>: No longer include this. - * tests/mv/force: Be sure we still allow `mv -f FILE LINK-TO-FILE'. - - * src/copy.c (copy_internal): Make it so `cp/mv -f FILE FILE' does not - remove FILE. Suggestion from Chris Yeo. - * tests/mv/force: New test, for the above fix. - * tests/mv/Makefile.am (TESTS): Add force. - (TESTS_ENVIRONMENT): Change PATH to be absolute. - - * tests/mv/force (mv): New test. - -1999-05-17 Paul Eggert <eggert@twinsun.com> - - * lib/getdate.y (get_date): Let mktime deduce tm_isdst if we - have an absolute timestamp, or if the relative timestamp - mentions days, months, or years. Reported by Volker Borchert. - - * lib/human.c (human_readable): Allow from_block_size to be zero. - -1999-05-14 Jim Meyering <meyering@ascend.com> - - * tests/Makefile.am (envvar-check): Renamed from check-local. - (check): Depend on envvar-check so the envvar check is performed - before all other tests. Reported by Volker Borchert. - * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects, - so CDPATH is mentioned in the message. Reported by Volker Borchert. - - * src/df.c (main): When asking for info on an explicit file name, - just warn rather than failing if the table of mounted filesystems - cannot be read. Based on a patch from Mark Kettenis. - - * lib/version-etc.c (version_etc): Put version info and author names - on the first two lines respectively rather than putting the three - lines of copyright info between them. - - * src/touch.c (open_maybe_create): Handle Solaris' failure mode when - FILE is a directory. Reported by Vin Shelton. - - * lib/human.c: Include <string.h> or <strings.h> for strlen prototype. - * lib/getline.h [__GLIBC__ >= 2]: #if-out prototypes. - * src/remove.c (pop_dir): Cast length to `int' to avoid a warning on - 64-bit systems. From Ulrich Drepper. - -1999-05-12 Jim Meyering <meyering@ascend.com> - - * src/shred.c (main): Put `u' for -u in getopt_long's string argument. - Remove the `R'. - -1999-05-07 Jim Meyering <meyering@ascend.com> - - * Version 4.0h. - - * tests/touch/dir-1: New test. - * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Remove individual - upper-case program names. Add a definition of PATH. - (TESTS): Add dir-1. - - * src/mkdir.c (main): Use better wording in diagnostic: `cannot - create directory' rather than `cannot make directory'. The former - also matches the one in makepath.c. - - * src/dd.c (apply_translations): Use TOUPPER and TOLOWER, - not toupper and tolower. - -1999-05-05 Jim Meyering <meyering@ascend.com> - - * lib/makepath.c (make_dir): When reporting a mkdir failure and the - target cannot be `stat'ed, use the errno from the failed mkdir call, - not the one from the stat call. Before this change, running - `mkdir -p /no-dir/no-dir' as an unprivileged user would wrongly - elicit `No such file or directory' instead of `Permission denied'. - - * lib/strtol.c (TYPE_SIGNED, TYPE_MAXIMUM, TYPE_MINIMUM): Define. - (ULONG_LONG_MAX, LONG_LONG_MAX, LONG_LONG_MIN): Define if not defined. - Based on a patch from Kaveh Ghazi. - - * src/ls.c (USE_ACL): Define this only #if - (HAVE_SYS_ACL_H && HAVE_ACL && defined GETACLCNT). - Use `USE_ACL' in place of `HAVE_ACL' everywhere else. From Kaveh Ghazi. - -1999-05-04 Jim Meyering <meyering@ascend.com> - - * lib/makepath.c: Include makepath.h libintl.h, not after it. - Otherwise, we'd get the wrong definition of PARAMS from libintl.h. - (The method of defining PARAMS in libintl.h doesn't check PROTOTYPES, - which is necessary on Irix4 since cc doesn't define __STDC__.) - From Kaveh Ghazi. - -1999-04-30 Jim Meyering <meyering@ascend.com> - - * Makefile.maint: Define several tag-related make variables. - (cvs-dist): Use the make variables instead of shell ones. - (announcement): Automatically generate diffs for all ChangeLog files, - not just the top level one. - -1999-04-30 Paul Eggert <eggert@twinsun.com> - - * lib/dup2.c: New file. - -1999-04-30 Jim Meyering <meyering@ascend.com> - - * src/touch.c (touch): Only do the fstat if we need to. - Resort to calling stat for directories, but only when necessary. - (usage): Mention --no-create. - - * src/copy.c (copy_internal): Move the one-file-system test so that - it follows the `if (new_dst || !S_ISDIR (dst_sb.st_mode))' block. - Prior to this change, `cp --one-file-system' would traverse a file- - system boundary if the destination directory existed. From Ton Hospel. - -1999-04-27 Paul Eggert <eggert@twinsun.com> - - * src/dd.c: Always use STDIN_FILENO for input and STDOUT_FILENO - for output, to avoid confusion with closed input and output fds. - (input_fd, output_fd): Remove; all uses changed to STDIN_FILENO - and STDOUT_FILENO. - (open_fd): New function. - (main): Use it, instead of open, to ensure that file descriptors - don't get confused. - -1999-04-26 Paul Eggert <eggert@twinsun.com> - - * src/ls.c (decode_switches): Use STDIN_FILENO, STDOUT_FILENO instead - of 0, 1. - - * src/dd.c (skip): Don't fstat the input file; the result is - no longer used. - -1999-04-26 Jim Meyering <meyering@ascend.com> - - * tests/mv/into-self-2: Update to reflect this change by reversing - the order of arguments so the symlink is the source, not the - destination (otherwise, the mv command would now succeed). - - * src/copy.c (copy_internal): Don't make `mv foo symlink-to-foo' fail. - That is, even though source and destination are `the same,' don't fail - if the destination is a symlink. From Peter Samuelson. - -1999-04-26 Paul Eggert <eggert@twinsun.com> - - * src/dd.c (main): If you can't open an output file (with - seek=...) read-write, then open it for write and report an - error if we can't seek. - - * lib/filemode.c (setst, ftypelet, mode_string): - * lib/mkdir.c (mkdir): - * lib/makepath.c (make_path): - * lib/modechange.c (make_node_op_equals, mode_compile, - mode_create_from_ref, mode_adjust): - * lib/modechange.h (mode_adjust): - * src/chmod.c (describe_change, change_file_mode): - * src/copy.c (copy_reg, copy_internal): - * src/copy.h (struct cp_options.umask_kill): - * src/cp.c (do_copy, cp_option_init, main): - * src/dd.c (main): - * src/install.c (mode, cp_option_init, DIR_MODE): - * src/mkdir.c (main): - * src/mkfifo.c (main): - * src/mknod.c (main): - * src/mv.c (cp_option_init): - * src/touch.c (open_maybe_create): - Use proper mode_t types and macros. - Don't assume the traditional Unix values for mode bits. - - * lib/filemode.c (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, - S_IXOTH): Define if not defined. - (rwx): Remove. - * lib/mkdir.c (S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined. - * lib/makepath.c (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRWXU): - Define if not defined. - * src/system.h (S_ISUID, S_ISGID, S_ISVTX, S_IRWXU, S_IRWXG, S_IRWXO): - Define if not defined. - (CHMOD_MODE_BITS): New macro. - * src/install.c (isodigit): Remove unused macro. - - * src/mkfifo.c, src/mknod.c (usage): - Use symbolic mode as default, not octal. - - * lib/utime.c (utime_null): - Don't pass 0666 to open; it's not needed and isn't - guaranteed to be portable. - - * lib/filemode.h: <config.h>, <sys/types.h>: Include for mode_t. - (mode_string): Now takes mode_t. - - * lib/modechange.h: Include <config.h>, <sys/types.h> for mode_t. - (struct mode_change): Members affected and value are now mode_t instead - of unsigned short. - - * doc/fileutils.texi, doc/perm.texi: - Don't assume traditional Unix mode numbering. - - * lib/modechange.c: modechange.h now includes sys/types.h. - Include xstrtol.h. - (isodigit, oatoi): Remove. - (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, - S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG, - S_IRWXO): Define if not defined. - (CHMOD_MODE_BITS): New macro. - (mode_compile): Convert from octal with xstrtoul, not our own routine. - -1999-04-24 Jim Meyering <meyering@ascend.com> - - * Version 4.0g. - -1999-04-22 Jim Meyering <meyering@ascend.com> - - * src/shred.c (word32): Don't use `#error'; it runs afoul of - SunOS 4.1.4 cc. From Paul Eggert. - - * lib/strtoull.c: Guard strong_alias and weak_alias with #ifdef _LIBC. - -1999-04-20 Paul Eggert <eggert@twinsun.com> - - Replace our temporary hack implementation of strtoumax with - something very close to the real code in glibc. - - * lib/xstrtoumax.c: Remove the temporary strtoumax replacement; - we now have a true replacement in strtoumax.c. - (__strtol): Always define to strtoumax. - (<stdlib.h>): No need to include. - (PARAMS): Remove. - (my_strtoumax): Move this to strtoumax.c, - rename it to strtoumax, and simplify. - - * lib/strtoull.c, lib/strtoumax.c: New files. - - * lib/strtol.c: Update to glibc 2.1.1 version. - -1999-04-20 Jim Meyering <meyering@ascend.com> - - * tests/Makefile.am (EXTRA_DIST): s/posix-warn/env-warn/. - (check-local): Also test and warn if CDPATH is set. - -1999-04-20 Paul Eggert <eggert@twinsun.com> - - * configure.in (AC_CANONICAL_HOST): Add; needed for new AC_LFS's - cross-compilation. - * config.guess: New file (from autoconf). - * config.sub: New file (from autoconf). - - * src/shred.c <config.h>: Include first, since it can do - things like #define const, and this must be done before - including any system headers. - - * lib/xstrtoumax.c (my_strtoumax): Fix typo in computing - whether overflow occurred. Improve overflow-detection to use - only one conditional branch total, rather than 2N+1 - conditional branches for an N-digit number. - -1999-04-18 Jim Meyering <meyering@ascend.com> - - * configure.in (AC_CHECK_FUNCS): Remove strtoull, strtoumax, and - strtouq, now that they're checked in m4/xstrtoumax.m4. - -1999-04-18 Paul Eggert <eggert@twinsun.com> - - * doc/fileutils.texi, src/shred.c (main, longopts): - Use -u instead of -R for --remove, so that we can preserve - future compatibility with rm. - -1999-04-18 Jim Meyering <meyering@ascend.com> - - * src/shred.c [!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536. - (do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize - member directly. - -1999-04-18 Paul Eggert <eggert@twinsun.com> - - Fix shred to do the right thing with off_t longer than long. - Merge large-integer parsing code with similar code in dd.c, - and put the resulting in lib/xstrtoumax.c so that other programs - can use it. Instead of adding a new lib/xstrtoumax.h I thought - it cleaner to put all the xstroto* declarations into a single - header, which for now is lib/xstrtol.h for lack of a better place. - (Mayby lib/xstdlib.h would be better? :-) - - I thought of several other problems with shredding regular files; - shredding devices is much more reliable. So I changed the defaults - to be more suitable for shredding devices; this should help encourage - users to do the right thing. - - pfstatus isn't portable to environments with varying width - fonts, or with internationalized environments where the byte - count of the message is not the same as its print width. - Rather than deal with this, I just simplified it to not do - tricks with carriage-returns and spaces. (I'm also worried - that vprintf may not return the right value on some hosts; I - vaguelly recall this being a problem.) As a result, -v and - - no longer conflict. - - When removing a special file, try to truncate it first, but don't - worry if this reports an error. - - Try to find the size of a non-regular file by seeking to its end. - - Various porting fixes, mostly because of a port to SunOS 4.1.4 cc. - - Some other minor bug fixes. - - * lib/xstrtoul.h: Remove this file. - * lib/xstrtoumax.c: New file. - - * configure.in (AC_CHECK_FUNCS): Add strtoull, strtoumax, strtouq. - - * lib/xstrtoul.c (STRING_TO_UNSIGNED): Remove. - (__strtol, __strtol_t, __xstrtol): New macros. - - * lib/xstrtol.c (__strtol, __strtol_t, __xstrtol): - New macros to specify the - underlying function, its returned type, and our function. Default to - values suitable for xstrtol. - - Include <ctype.h>, since we use its macros. - - (ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed. - (ISSPACE): New macro. - - (bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int - -> __strtol_t. - - (__xstrtol): Depend on whether __strtol_t is an unsigned type, not on - whether STRING_TO_UNSIGNED is defined. Skip isspace chars, not - isblank chars, to match strtol. When returning - LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into - *val. - - * lib/xstrtol.h (__xstrtol, __strtol, __unsigned): Remove macro decls. - <inttypes.h>: Include if HAVE_INTTYPES_H. - (_DECLARE_XSTRTOL): New macro. - (xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that - we need only one include file, not three. - (_STRTOL_ERROR): Do not undef, as this is no longer needed. - Reword overflow message so that it's independent of type. - - * lib/Makefile.am (libfu_a_SOURCES): Add xstrtoumax.c. - (noinst_HEADERS): Remove xstrtoul.h. - - * lib/xmalloc.c (xalloc_fail): - Pass xalloc_msg_memory_exhausted through gettext. - - * lib/getdate.y: - <stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free". - (LookupWord, yylex): Don't pass negative char to ctype macros. - - * doc/fileutils.texi: - Explain why shredding devices is more reliable, and why the - default options are more suitable for devices. - - Remove withdrawn options -b or --no-contents, -c or --freed-contents, - -C or --all-contents, -k or --no-links, -l or --ordinary-links, -L or - --all-links. - - Add -R or --remove, -s or --size. - - -v can no longer be doubled. - - `file system' --> `filesystem' uniformly. - - * src/chgrp.c: Include xstrtol.h, not obsolete file xstrtoul.h. - - * src/shred.c: Include xstrtol.h, not obsolete file xstrtoul.h. - "human.h", "xalloc.h": Include. - (attribute): Remove; no longer needed. - (xstrdup): New decl. - (STDOUT_FILENO): New macro. - (O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H. - - The following changes have effect only if !HAVE_CONFIG_H. - <ctype.h>: New include. - (RETSIGTYPE): Remove bogus semicolon at end. - (STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE): - New macros. - (xstrtoumax): Renamed from xstrtoul, with corresponding type changes. - Handle suffixes like the real routine does. - (error): Remove bogus assignment of errno to errnum. - (xmalloc, xstrdup): New functions. - - (O_NOCTTY): Define even if !HAVE_CONFIG_H. - (S_ISFIFO, S_ISSOCK): New macros, if not already defined. - (OUTPUT_BLOCK_SIZE): New macro. - (struct Options.verbose): Now a boolean, since we no longer have two - levels of verbosity. - (long_opts, usage, main): Remove -D or --device option. Invert -p or - --preserve option, and rename it to -R or --remove. - (usage): Describe G suffix. - (usage): "-" no longer conflicts with -v. - (UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it. - (ind): Portability fixes: return word32, not unsigned; multiply by - sizeof (word32) instead of shifting left by 2. - (isaac_refill, isaac_mix): Comment out size of array parameter, as - ansi2knr mishandles this. - (status_visible, status_pos, pfstatus, flushstatus): Remove, since - pfstatus isn't portable to users with varying width fonts, or - internationalized messages, and vfprintf is problematic. All callers - of pfstatus changed to use error instead; this removes incompatibility - of -v with -. All calls to flushstatus removed. - (dopass, do_wipefd): Do not translate non-English msgs with gettext. - - (dopass): Cast lseek constant arguments to (off_t) for benefit - of pre-ANSI compilers; fix one lseek call whose args were interchanged. - Remove unnecessary casts to (off_t). Do not check for EIO - when determining file size; this was just my earlier wild guess. - Use human_readable to print off_t, instead of casting to unsigned long - (which doesn't work in Solaris 2.6, where off_t is longer than long). - Output human-readable sizes, instead of always using "K". - Check for offset overflow (it happened to me in SunOS 4.1.4). - (do_wipefd): Do not insist on regular files, but do check for special - files that cannot possibly be shredded. - Use xmalloc instead of malloc + check. - Do not inspect st_size for non-regular files. - Try to find the size of a non-regular file by seeking to its end. - Do not assume that a regular file of size-0 has unknown size. - Check for regular files with negative sizes, - and for overflow after rounding to next block. - Always try to truncate, even for special files, but do not report an - error if truncation fails on a special file. - - (dopass, wipefile): Do not return 1 for special files; the caller - doesn't care any more. - - (wipefd): Remove unnecessary (and nonportable) check for - whether the file descriptor is read-only. Remove - no-longer-needed check for `-v -'. - - (incname): Return 1 for carry bit, like the documentation says. - - (wipename, wipefile): Accept new argument, specifying the - quoted file name. All callers changed. - - (wipename): Use xstrdup instead of strdup+error check. - - (wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for - errors in NNN more carefully. Restore errno after the check. - Check for errors when closing the file descriptor. - Use more consistent wording when unable to remove a file. - - (main): Do not remove files by default. - Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't - exist if !HAVE_CONFIG_H. - In diagnostics, quote invalid operands to -n and -s options. - Allow T, P, E, Z, and Y suffixes in -s operand. - flags.verbose is now a boolean, not a counter. - Use STDOUT_FILENO instead of 1, for clarity. - - * lib/human.c: - Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the - xstrto... functions. - - * src/dd.c: Include xstrtol.h. - (parse_integer): Migrate most of the work into the new xstrtoumax fn. - - * lib/xstrtoumax.c: New file. - -1999-04-18 Jim Meyering <meyering@ascend.com> - - * src/dd.c (main): Open the output file with *read* access - only if we might need to read to satisfy a `seek=' request. - From Matthias Urlichs. - -1999-04-10 Jim Meyering <meyering@ascend.com> - - * Makefile.maint (alpha): Add trailing slash for ncftp. - - * Version 4.0f. - - * configure.in (AC_OUTPUT): Add tests/dd/Makefile. - * tests/Makefile.am (SUBDIRS): Add dd. - * tests/dd: New directory - * tests/dd/misc: New file. - - `ls --color' would segfault - * src/ls.c: Include assert.h. - (color_indicator[]): Add an entry for the type, `door.' - (main): Assert that the lengths of the color_indicator and - indicator_name arrays are appropriately related. - Reported by John Gotts. - - * src/dd.c (scanargs): Fix bug introduced with last change: now that - the loop is gone, manually decrement argc and increment argv. - Reported by Andreas Jaeger and jvogel@linkny.com. - -1999-04-07 Jim Meyering <meyering@ascend.com> - - * lib/getdate.y (difftm): Protoize. - -1999-04-06 Jim Meyering <meyering@ascend.com> - - * lib/strftime.c: Update from master source in libc. - -1999-04-04 Jim Meyering <meyering@ascend.com> - - * tests/ln/misc: Comment out the test added on 1999-01-31. - - * Makefile.maint (url_dir_list): Define properly. - (real_dir_list): Likewise. - - * src/shred.c: Don't include string.h. - [!HAVE_CONFIG_H]: Include string.h here. - [!HAVE_CONFIG_H]: Hard-code RETSIGTYPE to `int'. - (sigill_handler): Change return type and type of local `oldhandler' to - RETSIGTYPE. - (isaac_seed_machdep): Change and type of local `oldhandler' to - RETSIGTYPE. - From Colin Plumb. - - * Version 4.0e - - * tests/cp/same-file: Change the sed command used to extract the - filename from ls -l output, to accommodate the change in format. - - * src/ls.c (print_long_format): Add a space between %s and %3u. This - assures that even when modebuf has the trailing `+' and there are more - than 99 hard links to a file, the permissions string and the link count - will be separated. - -1999-04-03 Jim Meyering <meyering@ascend.com> - - * src/shred.c (dopass): add curly braces to avoid warning about - ambiguous `else'. - (wipefd): Add parentheses suggested by gcc. - (do_wipefd): Remove declaration of unused local. - -1999-04-02 Colin Plumb <colin@nyx.net> - - * shred.c [!HAVE_CONFIG_H] (xstrtoul, error, close_stdout): Added stubs - to allow standalone compilation. - - (wipefile): Added support for emulating /dev/fd/# files even if - the OS doesn't support them. From Paul Eggert. - - (main, usage): Changed --device short option to -D. - - (wipefd, do_wipefd): Renamed function to do_wipefd and added - separate wipefd that performs sanity checks on externally-opened file - descriptors, such as not append-only. From Paul Eggert. - - (do_wipefd, isaac_seedfd): Do not read file for any reason. - if the file is low-entropy, it's a security hole. - (wipefile) Changed to open O_WRONLY and chmod to write-only when - forcing. - (isaac_seedfd) Function deleted as unnecessary. - From Paul Eggert. - - (dopass): Dynamically fall back to fsync() if fdatasync() fails, - since POSIX, in their infinitesimal wisdom, encourage implementations - that return constant -1, making compile-time testing useless. - From Paul Eggert. - - (dopass): Changed to support a size of -1 to mean "unknown". - This entailed changing to a counting-up offset rather than couting-down - cursize for the central state variable. Also changed size argument to - be call-by-reference so that it can be passed back once known. - (sizer) Function deleted as unnecessary. - (wipefd): Changed to match. From Paul Eggert - - (dopass): Try to skip over bad blocks in destination files. - Also added ftruncate() for more complete destruction of metadata. - - (main, usage): Changed "-" to stand for standard output. - (wipefd): Added error message to detect conflict with -v. - - (dopass): Added periodic fsync() calls to keep the pass progress - display in sync with reality. Hopefully they're sufficiently far spaced - that throughput isn't affected. It might be a good thing to do even in - non-verbose mode, to avoid filling up the kernel caches with dirty data. - Also added ftruncate() for more complete destruction of metadata. - - (quotearg_colon): New function to print - pathological filenames properly. - [!HAVE_CONFIG_H] (quotearg_colon_buf) New internal helper function - that does most of the work. - (wipefd, do_wipefd, dopass) Now take a qname (pre-quoted name) argument. - (wipename, wipefile, main) Changed diagnostics to use quotearg_colon. - Error messages are also in a more uniform format. - From Paul Eggert. - - (struct Options, main, do_wipefd): Added -s/--size=N flag. - (xstrtoul): Added support for valid_suffixes to help this. - (usage) Documented it. - - (error): Changed some arguments from N_() to _(), since error() - does not translate its argument. I think this is a bug. - - (struct Options do_wipefd, wipefd, wipefile, main): moved passes - argument into the Options structure as n_iterations, which is now a - size_t. From Paul Eggert. - - (isaac_seed_start, isaac_seed_data, isaac_seed_finish): New functions - to manage seeding of RNG with arbitrary-sized data. - (isaac_init): commented out as dead code. - (isaac_seed): changed to use new functions to prevent any possibility of - a buffer overflow. - - (isaac_seed): Added support for Solaris' gethrtime() - configure.in: Corresponding feature test. From Paul Eggert. - - (wipename): Change remove() to unlink() for speed & portability. - Use lstat() instead of access() to see if a filename is taken. This - works even on dangling symlinks and avoids the suid problems of - access(2). From Paul Eggert. - - (isaac_seed_machdep): New function for reading cycle counters - -1999-04-02 Paul Eggert <eggert@shade.twinsun.com> - - * configure.in (AC_CHECK_FUNCS): Add gethrtime. - - * src/shred.c (isaac_seed): Don't overrun the s->mm buffer. - Use gethrtime if available. Don't assume that clock_gettime succeeds. - Put most random sources first. - -1999-04-02 Paul Eggert <eggert@twinsun.com> - - shred: Add new options -bcCklL and fix some porting problems. - Remove options -dp. Do not read output files. - - * src/shred.c (long_opts, usage, main, wipefile): Adjust to - new options. - ("human.h", "quotearg.h"): New includes. - (struct Options): New members contents, links, n_iterations. - Remove allow_devices, remove_file. Change n_iterations to size_t. - All uses changed. - (output_block_size): New var. - (usage): Declare __noreturn__ attribute. - (fdatasync): Define to -1 if not present, since we need to invoke both - fdatasync and fsync if both are present. All invokers of fdatasync - now try fdatasync, then fsync. - (MIXIN): New macro. - (isaac_seed): Use it to mix in values. Add uid, gid to mix. - Don't use gettimeofday, as it has too many porting problems. - (isaac_seedfd): Remove, since we no longer read the output files. - (sizefd): Remove; we now determine size by writing sequentially. - (dopass, wipename, wipefile, main): Clean up error messages. - (dopass): Keep track of offset relative to start of file, not - end, since we may not know how large the file is. If size is - negative, write until we fall off the end of the file. - (wipefd): Do not read output file. - Return 0 if successful, -1 if not; do not make a special case for - non-regular files, since our callers have that info now. - (wipename): Now static. Return errno if error. - (main): "-" now stands for standard output. - Do not shred append-only standard output. - (wipefile): Do not grant read permission to file when wiping it. - Use symbolic permission (S_IWUSR), not octal. - - * src/system.h (S_IWUSR): Define if not already defined. - - * configure.in (AC_SEARCH_LIBS): Prefer rt to posix4, for Solaris 7. - (AC_CHECK_FUNCS): Remove gettimeofday. - - * doc/fileutils.texi: Document recent changes. - -1999-04-01 Jim Meyering <meyering@ascend.com> - - * configure.in (AC_CHECK_FUNCS): Add acl. - (AC_CHECK_HEADERS): Add sys/acl.h. - * src/ls.c [HAVE_SYS_ACL_H]: Include sys/acl.h. - (struct fileinfo): New member `have_acl'. - (gobble_file): Initialize it. - (print_long_format): Use it. - Mostly from Alen Muzinic. - - * src/touch.c (open_maybe_create): New function. - (touch): Rewrite not to use `creat' and to eliminate a race - condition that could make touch truncate a nonempty file. - Report and suggestions from Andrew Tridgell. - -1999-03-31 Jim Meyering <meyering@ascend.com> - - * src/du.c: Remove prototypes and tsort function definitions. - - * src/chown.c (main): Move the declaration of `e' into the scope - where it's used and make it `const'. - - * src/install.c (main): Qualify a char* with the `const' keyword. - (install_file_in_dir): Likewise. - * src/ln.c (main): Likewise. - * src/mkdir.c (main): Likewise. - * src/mkfifo.c (main): Likewise. - * src/mknod.c (main): Likewise. - * src/mv.c (main): Likewise. - * src/touch.c (touch): Likewise. - -1999-03-30 Jim Meyering <meyering@ascend.com> - - * src/*.c: Don't include closeout.h or version-etc.h explicitly. - Now, they're included via sys2.h. - -1999-03-29 Jim Meyering <meyering@ascend.com> - - * configure.in (GNU_PACKAGE): Remove related code -- now it's in - the catch-all for shared autoconf code, m4/jm-macros.m4. - (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use - this instead. - -1999-03-29 Paul Eggert <eggert@twinsun.com> - - Minor lint removal in code that forks and execs. - - * lib/mkdir.c (mkdir): Use pid_t instead of int; check status - against zero. This is to improve portability. - * lib/rename.c (rename): Likewise. - * lib/rmdir.c (rmdir): Likewise. - - * lib/rename.c (rename): - (rename): Do not print any error messages, so that the messages - are internationalized properly. - - * src/install.c (strip): Use standard "cannot fork" message. - Check for strip nonzero exit status. - -1999-03-28 Jim Meyering <meyering@ascend.com> - - `chmod =OP' did not properly apply the umask - * lib/modechange.c (make_node_op_equals): New function. - (mode_append_entry): Likewise. - (mode_compile): When none of [ugoa] is specified in an `=OP' change - mode request, insert a `=0' entry into the linked list so that all - bits are cleared first. Use the new functions. - Reported by Andrew Dalke. - - New test for the above. - * configure.in (AC_OUTPUT): Add tests/chmod/Makefile. - * tests/Makefile.am (SUBDIRS): Add chmod. - * tests/chmod: New directory - * tests/chmod/equal-x: New file. - -1999-03-27 Jim Meyering <meyering@ascend.com> - - * lib/modechange.c (mode_compile): Upon allocation failure, free - everything starting with the head, not the tail. - - * src/install.c (strip): Use pid_t, not int. From John Bley. - -1999-03-26 Jim Meyering <meyering@ascend.com> - - * src/dd.c (PROGRAM_NAME, AUTHORS): Define - (long_options): Remove unused struct. - (scanargs): Remove useless loop. - (main): Use PROGRAM_NAME and AUTHORS in call to parse_long_options. - * src/mvdir.c: Likewise. - * src/sync.c (PROGRAM_NAME, AUTHORS): Define and use. - -1999-03-25 Jim Meyering <meyering@ascend.com> - - * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. - (noinst_HEADERS): Add version-etc.h. - - * lib/long-options.c (parse_long_options): Remove version-, copyright-, - and author-printing code. Do it via version_etc. - - * lib/version-etc.c: New file. - * lib/version-etc.h: Prototype for same. - - * src/sys2.h (GETOPT_HELP_CHAR): Define. - (GETOPT_VERSION_CHAR): Define. - (GETOPT_HELP_OPTION_DECL): Define. - (GETOPT_VERSION_OPTION_DECL): Define. - (case_GETOPT_HELP_CHAR): Define. - (case_GETOPT_VERSION_CHAR): Define. - - * src/chgrp.c: No longer include long-options.h. - Include version-etc.h instead. - (PROGRAM_NAME, AUTHORS): Define. - [long_options]: Add entries for --help and --version. - Remove parse_long_options call. - (main) [getopt switch]: Add a case for each of --help and --version. - * src/chgrp.c: Likewise. - * src/chmod.c: Likewise. - * src/cp.c: Likewise. - * src/df.c: Likewise. - * src/dircolors.c: Likewise. - * src/du.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/mkdir.c: Likewise. - * src/mkfifo.c: Likewise. - * src/mknod.c: Likewise. - * src/mv.c: Likewise. - * src/rm.c: Likewise. - * src/rmdir.c: Likewise. - * src/shred.c: Likewise. - * src/touch.c: Likewise. - -1999-03-24 Jim Meyering <meyering@ascend.com> - - * man/help2man: Import version 1.010. - -1999-03-22 Jim Meyering <meyering@ascend.com> - - * src/chmod.c (usage): Add one-liner. Suggestion from Karl Berry. - -1999-03-19 Jim Meyering <meyering@ascend.com> - - * src/automake-wrap: Rewrite the automake-generated rule for - clean-binPROGRAMS so that it removes rm even with a losing PATH on a - losing system (PATH with `.' before /bin on a system where you can't - unlink a running executable). Reported by William Bader. - - * configure.in: Use jm_WINSIZE_IN_PTEM. - * src/ls.c [WINSIZE_IN_PTEM]: Include sys/stream.h and sys/ptem.h. - Required by SCO ODT 2.0 systems. Reported by William Bader. - -1999-03-18 Jim Meyering <meyering@ascend.com> - - * src/remove.c (remove_cwd_entries): Reflect changes in hash_insert. - (remove_init): Call hash_initialize with one more argument. - -1999-03-15 Jim Meyering <meyering@ascend.com> - - Revamp to allow fine-tuning to control when and by how - much the table grows and shrinks. - * lib/hash.c (next_prime): Don't assert. - (hash_reset_tuning): New function. - (check_tuning): New function. - (hash_initialize): Accept and use new tuning parameter. - (hash_rehash): Rewrite, updating for tuning. - (hash_insert): Honor tuning semantics. - (hash_delete): Likewise. - From François Pinard. - - * lib/hash.h (struct hash_tuning): Define. - (struct hash_table) [tuning]: Add member. - (hash_initialize): Add `tuning' parameter. - - * lib/hash.c (hash_insert): Remove last parameter and change semantics. - * lib/hash.h (hash_insert): Update prototype. - - * lib/hash.c (hash_insert): Don't increment n_entries unconditionally -- - otherwise, we'd do so even when the insertion failed. - From François Pinard. - -1999-03-07 Jim Meyering <meyering@ascend.com> - - * lib/xmalloc.c (xalloc_fail): Use "%s" format so the message doesn't - have to be scanned for % signs. Suggestion from François Pinard. - - * Makefile.maint: Add two more URLs and the loops to use them. - - * lib/long-options.c (parse_long_options): Include `Copyright...' line - in --version output. - Add the `...NO warranty...' message. - -1999-03-03 Jim Meyering <meyering@ascend.com> - - * lib/long-options.c (_): Define it. - (parse_long_options): Accept new parameter, authors, and print it. - - * lib/long-options.h: Update prototype. - - * src/chgrp.c: Include long-options.h - [long_options]: Remove the "help" and "version" entries. - (main): Use parse_long_options, including author name(s). - Remove the show_version and show_help blocks. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - * src/cp.c: Likewise. - * src/dd.c: Likewise. - * src/df.c: Likewise. - * src/dircolors.c: Likewise. - * src/du.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/ls.c: Likewise. - * src/mkdir.c: Likewise. - * src/mkfifo.c: Likewise. - * src/mknod.c: Likewise. - * src/mv.c: Likewise. - * src/mvdir.c: Likewise. - * src/rm.c: Likewise. - * src/rmdir.c: Likewise. - * src/shred.c: Likewise. - * src/sync.c: Likewise. - * src/touch.c: Likewise. - -1999-02-18 Paul Eggert <eggert@twinsun.com> - - * getdate.y: <alloca.h>: Include if HAVE_ALLOCA_H, not FORCE_ALLOCA_H. - The FORCE_ALLOCA_H was a relic of the bad old pre-autoconf Emacs days. - -1999-02-17 Jim Meyering <meyering@ascend.com> - - * src/shred.c (wipename): Fix string thinko. Now, shredding files - in subdirectories works (dir/file). From Janos Farkas. - -1999-02-13 Jim Meyering <meyering@ascend.com> - - * src/dircolors.c (dc_parse_stream): Don't try to dereference - NULL if there's an error in our built-in list. - Suggestion from François Pinard. - -1999-02-13 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> - - * src/install.c (main): Set x.backup_type only if backups are requested. - (cp_option_init): Initialize backup_type. - (backup_type): Remove unused variable. - - * doc/fileutils.texi: Fix use of @item vs @itemx. - -1999-02-08 Jim Meyering <meyering@ascend.com> - - * src/dircolors.c (slack_codes): Add "DOOR". - (ls_codes): Add corresponding "do". - Reported by John Gotts. - - * configure.in (ALL_LINGUAS): Add Italian (it). - -1999-02-07 Jim Meyering <meyering@ascend.com> - - * Version 4.0d (aka 4.1-b4). - - * Makefile.maint (my-distcheck): Don't depend on dist, now that this - is hooked up to the distcheck rule. - * Makefile.am (distcheck-hook): New target and rule -- link to shared - rule, my-distcheck, in Makefile.maint. - - * doc/fileutils.texi (shred invocation): New section. From Colin Plumb. - - * configure.in (jm_FUNC_GETGROUPS): Move the test into a new file, - group-member.m4, and just use this new macro. - Use `.$ac_objext', not the literal `.o'. - -1999-02-02 Jim Meyering <meyering@ascend.com> - - * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): - Define to zero if not already defined. - (HAVE_SYMLINKS): Define. - (gobble_file): Remove #ifdef. - (get_link_name, make_link_path): Guard these with #if HAVE_SYMLINKS - rather than #ifdef S_ISLNK. - (print_type_indicator): Remove #ifdefs and reorganize. - (print_color_indicator): Remove #ifdefs. - (length_of_file_name_and_frills): Likewise. - -1999-02-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * src/dircolors.hin: Handle DOOR. - - * src/ls.c (print_type_indicator): Print doors as '>'. - (length_of_file_name_and_frills): Account for this. - (indicator_no): Define C_DOOR. - (indicator_name): Add corresponding name. - - * lib/filemode.c (ftypelet): Handle doors. - - * lib/filemode.c, src/system.h (S_ISDOOR): Define if missing. - -1999-02-01 Jim Meyering <meyering@ascend.com> - - * lib/strcasecmp.c (STRXCASECMP_FUNCTION): Don't increment within macro - argument list. From Akim Demaille. - -1999-01-31 Jim Meyering <meyering@ascend.com> - - * doc/fileutils.texi: Wrap the @top node in @ifnottex instead of - @ifinfo so `makeinfo --html ...' works. From Karl Berry. - - * tests/ln/misc: Add test for this. - * src/ln.c (do_link): Allow creation of a hard link to a dangling - symlink. Reported by Alexey Solovyov. - - * src/copy.c (copy_internal): Describe any backup-related renaming - operations when in verbose mode. - (copy_internal): Likewise. - Based on changes from Marty Leisner. - - * lib/lchown.c: Declare chown. - -1999-01-30 Jim Meyering <meyering@ascend.com> - - * acconfig.h: Remove uintmax and STAT* #undefs. - * configure.in: Require autoconf 2.13. - Remove test for AFS. - Use 3-argument form of AC_DEFINE*. - -1999-01-28 Jim Meyering <meyering@ascend.com> - - * po/POTFILES.in: Add src/shred.c. - - * src/system.h: Use TIME_WITH_SYS_TIME-based #if test rather than - TM_IN_SYS_TIME based one (for shred). - - * acconfig.h: Remove lots of `#undef's, now that we use the - 3-argument forms of AC_DEFINE* macros. - -1999-01-25 Jim Meyering <meyering@ascend.com> - - * configure.in (fdatasync): Use AC_CHECK_FUNCS instead of - AC_REPLACE_FUNCS. - (AC_CHECK_FUNCS): Add clock_gettime. - - * src/shred.c (isaac_seed): Guard clock_gettime with test of - HAVE_CLOCK_GETTIME, not CLOCK_REALTIME. - (wipename): Rename local dirfd to dir_fd to avoid shadowing the - function declared in Linux's dirent.h. - -1999-01-25 Akim Demaille <demaille@inf.enst.fr> - - * lib/argmatch.h (ARRAY_CARDINALITY): Define. - (ARGMATCH_ASSERT): New macro. - - * lib/argmatch.c (program_name): Remove dcl. - Include error.h. - (argmatch_invalid): Use error rather than fprintf. - -1999-01-24 Jim Meyering <meyering@ascend.com> - - * src/ansi2knr.c: Exit nonzero upon failed write to stdout. - New version from L. Peter Deutsch. - - * lib/quotearg.c (quotearg_n_options): Revert type of parameter `n' - (and hence that of the local `n1', too) to `int' at Paul's request. - - * lib/closeout.c: Add comments. - - * src/shred.c (fdatasync): Remove function. instead, ... - (fdatasync) [! HAVE_FDATASYNC]: Define to fsync. - From Colin Plumb. - -1999-01-23 Jim Meyering <meyering@ascend.com> - - * src/Makefile.am (bin_PROGRAMS): Add shred. - * src/shred.c: New file. - Portability tweaks. - Internationalize. - (wipename): Print the `FILE: deleted' and `FILE: deleting' messages - only when in verbose mode. - (fdatasync) [! HAVE_FDATASYNC]: New function. - - * man/Makefile.am (man_MANS): Add shred.1. - * man/Makefile.summ (shred-summary): Define. - * man/shred.x: New file. - - * src/shred.c: New file. From Colin Plumb. - Include config.h, getopt.h, system.h and error.h. - Use #else/#if, not #elif. - -1998-11-05 Paul Eggert <eggert@twinsun.com> - - * lib/mktime.c (__mktime_internal): Adopt the traditional (and - problematic) notion of what to do when tm_isdst doesn't match. - -1999-01-17 Jim Meyering <meyering@ascend.com> - - * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set PATH here, rather - than setting RM and CP. - * tests/cp/*: Now that PATH is set properly, use rm and cp rather - than $RM and $CP. - - * tests/ln/Makefile.am (TESTS): Add backup-1. - (TESTS_ENVIRONMENT): Set PATH here, rather than setting LN. - * tests/ln/*: Now that PATH is set properly, use ln rather than $LN. - * tests/ln/backup-1: New test for this. - * src/ln.c (do_link): Try to remove DEST even after renaming it. - This fixes a bug reported by Jamie Lokier. - - * src/ln.c (same_name): Use SAME_INODE rather than open coding it. - -1999-01-16 Jim Meyering <meyering@ascend.com> - - * lib/argmatch.c (ARGMATCH_DIE_DECL): Use it. - - * acconfig.h: Remove @BOTTOM@ section. - Instead, add the define and decl via m4/jm-macros.m4. - - * src/ls.c: Don't declare base_name. - Use function-style XARGMATCH once again. - * src/touch.c: Likewise. - * acconfig.h: Add a @BOTTOM@ section. - (ARGMATCH_DIE) [@BOTTOM@]: Define to usage(1). - Declare usage. - From Akim Demaille. - - * src/cp.c: Remove declarations of base_name and get_version. - (main): Don't call getenv ("VERSION_CONTROL"); xget_version does it. - Use xget_version and function-style XARGMATCH. - * src/mv.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/install.c (main): Likewise. - * lib/quotearg.c (quotearg_n_options): Declare n1 to be of type - unsigned int, not just int. - * lib/backupfile.h (get_version): Adjust prototype. - (xget_version): Add prototype. - (base_name): Remove prototype. - * lib/backupfile.c [!HAVE_DECL_GETENV]: Declare getenv. - (backup_args): Reorder enum members. - (backup_types): Likewise. - (get_version): Take an additional parameter, `context'. - (xget_version): Like get_version, but if the `version' argument is NULL, - use the value of the envvar VERSION_CONTROL. - (base_name): Declare. - Mostly from Akim Demaille. - - * lib/addext.c (base_name): Declare. - * src/sys2.h: Add prototype for base_name. - - * lib/argmatch.c: s/argmatch_exit_failure/argmatch_die/ - * lib/argmatch.h: Likewise. - - * lib/argmatch.h (XARGMATCH): Define to return a value once again. - (XARGCASEMATCH): Likewise. - - * lib/argmatch.c (EXIT_FAILURE): Define. - (ARGMATCH_DIE): Provide default. - (__xargmatch_internal): New function. - s/rogram_name/program_name. - From Akim Demaille. - -1999-01-14 Akim Demaille <demaille@inf.enst.fr> - - * src/touch.c (usage): Don't make it static so that it can be - called from libfu.a by xargmatch. - * src/chgrp.c (usage): Likewise - * src/chmod.c (usage): Likewise - * src/chown.c (usage): Likewise - * src/cp.c (usage): Likewise - * src/dd.c (usage): Likewise - * src/df.c (usage): Likewise - * src/dircolors.c (usage): Likewise - * src/du.c (usage): Likewise - * src/install.c (usage): Likewise - * src/ln.c (usage): Likewise - * src/ls.c (usage): Likewise - * src/mkdir.c (usage): Likewise - * src/mkfifo.c (usage): Likewise - * src/mknod.c (usage): Likewise - * src/mv.c (usage): Likewise - * src/mvdir.c (usage): Likewise - * src/rm.c (usage): Likewise - * src/rmdir.c (usage): Likewise - * src/sync.c (usage): Likewise - -1999-01-12 Akim Demaille <demaille@inf.enst.fr> - - * lib/backupfile.c (get_version): added the parameters KIND. - (xget_version): like get_version, but if argument is NULL, honor - the envvar VERSION_CONTROL. - * src/cp.c: Remove declarations of base_name and get_version. - (main): Use xget_version. - * src/mv.c (main): Likewise. - * src/ln.c (main): Likewise. - * src/install.c (main): Likewise. - -1999-01-12 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add Greek (el). - * po/el.po: New file. - - * install-sh: New version from autoconf. - * missing: New version from automake. - * src/ansi2knr.c: Likewise. - * lib/getopt.c: New version from glibc. - * lib/getopt.h: Likewise. - * lib/getopt1.c: Likewise. - * lib/regex.c: Likewise. - * lib/regex.h: Likewise. - * lib/ylwrap: Remove unused file. - -1999-01-10 Jim Meyering <meyering@ascend.com> - - * Version 4.0c (aka 4.1-b3). - - * Upgrade to autoconf-2.13 and automake-1.3b. - - * src/copy.c (copy_internal): Handle two more values of errno from - failed rename of a directory into a subdirectory of itself. - Thanks to Volker Borchert for testing many types and combinations - of systems. - - * lib/argmatch.c (ARGMATCH_QUOTING_STYLE): Change from c_quoting_style - to escape_quoting_style. - (argmatch_invalid): Now that the quoted quantity is no longer double - quoted, remove the code that removed leading and trailing double quotes. - - * src/ls.c (decode_switches): Now that escape_quoting_style no longer - escapes the SPACE character, arrange for SPACEs to be quoted here. - * lib/quotearg.c (quotearg_buffer): Change escape_quoting_style so that - it no longer escapes ` '. - Suggestion from Paul Eggert. - -1999-01-05 Jim Meyering <meyering@ascend.com> - - * configure.in (space): Add `for' in message of statvfs check. - From Ulrich Drepper. - -1999-01-04 Jim Meyering <meyering@ascend.com> - - * Version 4.1-b2. - -1999-01-02 Jim Meyering <meyering@ascend.com> - - * lib/argmatch.c (argmatch_invalid): Remove double quotes from the - offending quoted argument before using it in explanatory diagnostic. - Use a single fprintf stmt. - - * lib/argmatch.h (XARGMATCH): Don't return a value; instead, - modify a parameter. Add a `Die_stmt' parameter. - Add parentheses. - * lib/argmatch.c (__xargmatch_internal): Remove now-unused function. - (argmatch_to_argument): Add `const' attribute to first parameter. - - * configure.in (AC_REPLACE_FUNCS): Remove strcasecmp (now it's - done in m4/jm-macros.m4). - - * lib/backupfile.c (get_version): Adapt to use new interface to - XARGMATCH. - * src/cp.c: Likewise. - * src/ls.c: Likewise. - * src/touch.c: Likewise. - -1999-01-01 Jim Meyering <meyering@ascend.com> - - * lib/makepath.c (make_dir): New function, factored out of make_path. - (make_path): Use make_dir rather than open-coding it twice. - This effectively reverses the order of the latter pair of stat/mkdir - calls and fixes a race condition bug whereby one of two concurrent - `mkdir -p' processes could fail with EEXIST. - Include locale.h and libintl.h, and define `_()'. - Mark translatable strings. - - * lib/xmalloc.c: Add comments. - (xcalloc, xmalloc, xrealloc): Remove prototypes. - (xcalloc): Remove `#ifdef NOT_USED' that used to hide this function. - * lib/xalloc.h: Add comments. - (PARAMS, XMALLOC, XCALLOC, XREALLOC): Define. - (xcalloc, xmalloc, xrealloc): Add prototypes here. - Based on changes from Akim Demaille. - - * lib/quotearg.c (quotearg_buffer): Cast -1 to size_t before comparing. - (quotearg_n): Change type of 1st parameter from int to unsigned int. - (quotearg_n_options): Likewise. - * lib/quotearg.h (quoting_style_vals): New public array. - From Akim Demaille. - (quotearg_n_options): Declare `options' parameter to be `const'. - - * lib/human.c (humblock): Use ARGMATCH in place of argmatch. - - * lib/backupfile.c (get_version): Use XARGMATCH in place of - argmatch & co. - -1998-12-31 Jim Meyering <meyering@ascend.com> - - * src/ls.c (indicator_style_types): New variable. - (format_types): Rename from `formats'. - (color_args): Remove unnecessary `no' string. - (color_types): Remove corresponding `color_never' entry. - (main): Use ARGMATCH_TO_ARGUMENT. - (decode_switches): Use ARGMATCH instead of argmatch code - in each of several cases. - From Akim Demaille. - - * src/cp.c (main): Use XARGMATCH in place of argmatch & co. - * src/touch.c (main): Likewise. - * lib/backupfile.c (get_version): Likewise. - From Akim Demaille. - - * lib/strncasecmp.c: New file. - * lib/strcasecmp.c: Add #ifdefs so it can be used for strncasecmp, too. - * lib/argmatch.c (strncasecmp): Move to a separate file. - Add curly braces around some one-stmt-but-multiline blocks. - - * lib/argmatch.c: Improvements from Akim Demaille. - * lib/argmatch.h: Likewise. - - * lib/addext.c (addext): Protoize. - Indent cpp directives to match nesting. - - Fix warnings from gcc -W -Wall - * lib/posixtm.c (posix_time_parse): Change type of index `i' from - int to unsigned int. - * lib/getdate.y (__attribute__): Define. - (ATTRIBUTE_UNUSED): Define. - (yyerror): Mark parameter as unused with ATTRIBUTE_UNUSED. - (MonthDayTable): Add initializers for last entry. - (UnitsTable): Likewise. - (OtherTable): Likewise. - (MilitaryTable): Likewise. - -1998-12-22 Jim Meyering <meyering@ascend.com> - - * Version 4.1-b1. - - * configure.in (ALL_LINGUAS): Add chinese (zh). - -1998-12-19 Jim Meyering <meyering@ascend.com> - - * tests/ln/misc: Use absolute path for final rm. - - * Makefile.maint (my-distcheck): Run make with - CFLAGS='-Wformat -Werror'. - -1998-12-18 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_internal): Remove errnoeous `%s: ' prefix - from format string. From Michiel Bacchiani. - - * src/chgrp.c (MAXGID): Define. - Use gid_t (not int) as the type for `group' variables. - (parse_group): Use MAXGID, not INT_MAX. - - * src/install.c (UID_T_MAX, GID_T_MAX): Remove definitions. - * src/sys2.h (UID_T_MAX, GID_T_MAX): Define them here instead. - -1998-12-13 Jim Meyering <meyering@ascend.com> - - * lib/Makefile.am (EXTRA_DIST): Add xstat.in. - -1998-12-12 Jim Meyering <meyering@ascend.com> - - 1998-10-15 Akim Demaille <demaille@inf.enst.fr> - * src/ls.c: Group DIRED's code together. - (full_time, inhibit_group, col_ext_type): Declare static. - (dired_dump_obstack): Apply sizeof to variable, instead of its type. - (parse_ls_color): Rename ext2 as e2. Move into the block where it - is used. - - 1998-10-15 Akim Demaille <demaille@inf.enst.fr> - * src/ls.c: In order to distinguish col(umn|or): - (init_column_info): Renamed from init_col_info. - (struct column_info): Renamed from struct col_info. - (struct color_ext_type): Renamed from struct col_ext_type. - -1998-12-11 Jim Meyering <meyering@ascend.com> - - * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in. - (stat.c): Likewise. - * lib/stat.c: Remove file. - * lib/lstat.c: Remove file. - * lib/xstat.in (xstat@): New file. - - * lib/quotearg.c (quotearg_buffer): Use `7' as the mask, not `3'. - From Bruno Haible. - * tests/ls-2/tests: Add a test for this. - - * man/help2man: import version 1.006. - -1998-12-07 Jim Meyering <meyering@ascend.com> - - * src/copy.c: Use dir_name, not dirname. Include dirname.h. - * src/cp.c: Likewise. - * src/df.c: Likewise. - * src/install.c: Likewise. - * src/ln.c: Likewise. - * src/mvdir.c: Likewise. - - * lib/dirname.c (dir_name): Rename from dirname. - Make argument `const'. Include "dirname.h" - * lib/dirname.h: New file. - * lib/Makefile.am (noinst_HEADERS): Add dirname.h. - -1998-12-06 Jim Meyering <meyering@ascend.com> - - * lib/rpmatch.c (rpmatch) [!ENABLE_NLS]: Hard-code tests to use - `^[yY]' and `^[nN]' (avoiding regex). From Karl Heuer. - - * lib/*.c: Ansideclify. - - Fix `ls -R .' formatting bug that broke mktexlsr. - * src/ls.c: Include path-concat.h. - (basename_is_dot_or_dotdot): New function, derived from - is_not_dot_or_dotdot. - (is_not_dot_or_dotdot): Remove function. - (extract_dirs_from_files): Use `!basename_is_dot_or_dotdot' - instead of is_not_dot_or_dotdot and use path_concat instead of attach. - - * tests/ls-2/tests: New file (renamed from quoting), - with new test for the `ls -R .' fix. - * tests/ls-2/quoting: Remove file. - * tests/ls-2/Makefile.am (TESTS): s/quoting/tests/. - -1998-11-29 Jim Meyering <meyering@ascend.com> - - * src/remove.c (DOT_OR_DOTDOT): Move definition from this file... - * src/sys2.h (DOT_OR_DOTDOT): ...to this one. - - * src/dd.c (dd_copy): Rename function from `copy'. - - * src/cp.c (do_copy): Rename local: s/unused/copy_into_self/. - - Per Kristian Hove reported that a certain move-directory-into-self - wasn't properly diagnosed. - - * tests/mv/into-self-3: New file. - * tests/mv/Makefile.am (TESTS): Add into-self-3. - * src/copy.c (copy_internal): Remove earlier (but less effective) - test for move/copy-into-self. - Instead, deduce the move-into-self condition from errno==EINVAL - after a failed rename. - * src/mv.c (do_move): Don't arrange to remove DEST in the - copied-into-self case. - -1998-11-15 Jim Meyering <meyering@ascend.com> - - Bob McCracken reported that mv couldn't handle certain combinations - of hard linked source files. - - * tests/mv/hard-link-1: New file. - * tests/mv/Makefile.am (TESTS): Add hard-link-1. - * src/mv.c (movefile): Don't free new_dest. - - * lib/error.c (error): Don't use strerror_r's return value. - From Johan Danielsson. - -1998-11-14 Jim Meyering <meyering@ascend.com> - - * Version 4.0. - - * Makefile.maint (cvs-dist): Search for `$tag:' rather than just $tag - to avoid matching a prefix of another tag. - -1998-11-10 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add Greek (el). - * po/el.po: New file. - -1998-11-07 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b7. - - Accommodate the Hurd (defining lstat to rpl_lstat via config.h didn't - work on Hurd systems because of an inline definition of lstat in a - system header file). This also makes it so that you may run `ls '' ' - on systems that let l?stat operate on the empty string. - - * src/remove.c [HAVE_LSTAT_EMPTY_STRING_BUG]: Define lstat to rpl_lstat - and declare the latter. - * lib/stat.c [stat]: Remove #undef. - (rpl_stat): Protoize. - * lib/lstat.c [lstat]: Remove #undef. - (rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent - with lib/stat.c. - * acconfig.h: Remove #undef's for lstat and stat. - -1998-10-31 Jim Meyering <meyering@ascend.com> - - * tests/rm/Makefile.am (TESTS): Add new test `empty-name', - but comment it out. - * tests/rm/empty-name: New file. - - * acconfig.h (stat): New #undef. - This omission was uncovered when Mark Kettenis reported that - `rm -r ''' got a failed assertion on the Hurd. This change - doesn't fix *that* problem -- see above. - -1998-10-25 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b6. - - * README: Man pages will now be supported to the extent that - people send patches. - - * tests/rm/unreadable: Two new tests. - * tests/rm/Makefile.am (TESTS): Add new test `unreadable'. But comment - it out since we're so close to release and since the test compares the - text of diagnostics that are likely to vary between systems. - (TEST_ENVIRONMENT): Add required framework. - - * src/remove.c (remove_cwd_entries): Don't apply CLOSEDIR to a NULL - pointer. (provoke with `mkdir -m 0100 x; rm -rf x') - Upon CLOSEDIR failure, set `status' to RM_ERROR, not RM_OK. - (remove_dir): Return `status', rather than always RM_OK. - -1998-10-18 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b5. - - * lib/mktime.c: Update from libc with this additional change from Paul. - * lib/strftime.c: Likewise. - - 1998-10-17 Paul Eggert <eggert@twinsun.com> - - Don't invoke localtime_r or gmtime_r unless it's the GNU C - library's localtime_r and gmtime_r; there are too many buggy - implementations of localtime_r and gmtime_r out there, and - it's not worth keeping track of all the different bugs. - - * mktime.c (__EXTENSIONS__, HAVE_LOCALTIME_R): Remove. - (my_mktime_localtime_r): Renamed from localtime_r; all uses changed. - Base it on localtime unless _LIBC. - - * strftime.c (__EXTENSIONS__): Remove. - (my_strftime_gmtime_r): Renamed from gmtime_r; all uses changed. - (my_strftime_localtime_r): Renamed from localtime_r; all uses changed. - Base them on localtime/gmtime if not _LIBC. - -1998-10-17 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b4. - - * lib/mktime.c: Declare localtime_r if necessary. - * lib/strftime.c: Likewise. - - * tests/Fetish.pm (run_tests): Run $prog with --version only - if $verbose. - -1998-10-11 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b3. - -1998-10-08 Paul Eggert <eggert@twinsun.com> - - * mktime.c (__mktime_internal): When the requested time falls - in a spring-forward gap of size DT, return a time that is DT - away from the requested time, preferring a time whose tm_isdst - differs from the requested value. Bump the max number of - probes from 4 to 6 to account for the extra probes needed to - discover a spring-forward gap in the worst case. - -1998-10-08 Paul Eggert <eggert@twinsun.com> - - * mktime.c (my_mktime_localtime_r): Renamed from localtime_r. - Define also if HAVE_LOCALTIME_R && defined (localtime_r), with - a body that merely expands localtime_r; this works around a - bug in Digital Unix 4.0A and 4.0D. - -1998-10-05 Jim Meyering <meyering@ascend.com> - - * po/Makefile.in.in (uninstall): Remove (historical?) command that - removed po-Makefile.in.in. From Akim Demaille. - - * src/install.c (long_options): Add entry for --suffix=SUFFIX option. - From aldomel. - -1998-10-04 Jim Meyering <meyering@ascend.com> - - * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define PERL. - From Kaveh Ghazi. - -1998-10-03 Jim Meyering <meyering@ascend.com> - - * Version 4.0-b2. - - * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Add PATH. - - * man/Makefile.maint ($(man_MANS)): Don't depend on actual executables. - Instead, depend on corresponding source file and on configure.in. - Based on suggestion and code from Akim Demaille. - Factor out irregular men into Makefile.summ. - - * man/Makefile.am (EXTRA_DIST): Add Makefile.summ. - - * man/Makefile.summ: New file. - * man/Makefile.maint: Include it. - - * tests/Fetish.pm: Make `DEBUG' be a little more verbose. - - * tests/mv/Makefile.am (TESTS): Add i-1. - * tests/mv/i-1: New test. - -1998-10-02 Jim Meyering <meyering@ascend.com> - - * tests/ls-2/Makefile.am (EXTRA_DIST): Remove run-test. - * tests/ls-2/run-test: Remove file. - * tests/ls-2/quoting: Include /bin/sh driver framework. - - * tests/dircolors/simple: Remove file. - * tests/dircolors/run-test: Embed it here instead. - * tests/dircolors/simple: Rename from run-test. - -1998-10-01 Jim Meyering <meyering@ascend.com> - - * tests/Makefile.am (EXTRA_DIST): Remove README. - From Akim Demaille. - -1998-09-28 Jim Meyering <meyering@ascend.com> - - * Version 4.0-pre1. - - * Use automake-1.3b. See notes in README. - - * src/copy.c (copy_internal): Do honor `n' reply in move-mode. - Otherwise, `touch a b; echo n|mv -i a b' would remove b. - From Bernd Leibing. - -1998-09-27 Jim Meyering <meyering@ascend.com> - - * Version 3.16z. - - * Makefile.maint (alpha): New target. - (my-distcheck): Tweak. - - * lib/backupfile.h: Protect against multiple inclusion. - From Akim Demaille. - - * configure.in: Remove use of AC_FUNC_FNMATCH and associated code. - Now, it is invoked through jm_MACROS. - - * lib/strftime.c (my_strftime): Update from FSF. - -1998-09-26 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_internal): Don't preserve hard-linked directories - to avoid damaging the destination filesystem when copying from a - Netapp snapshot directory. With code from Kjetil Torgrim Hollstein - and Paul Eggert. - -1998-09-24 Jim Meyering <meyering@ascend.com> - - * man/Makefile.maint ($(man_MANS)): Correct typo: s/-tmp/-t/. - From Akim Demaille. - -1998-09-21 Jim Meyering <meyering@ascend.com> - - * man/Makefile.maint ($(man_MANS)): Remove `echo'. - -1998-09-20 Jim Meyering <meyering@ascend.com> - - * Version 3.16y. - - * src/install.c (install_file_to_path) [-D]: Create any leading - directories with permissions of 0755. - -1998-09-19 Jim Meyering <meyering@ascend.com> - - * src/install.c (install_file_to_path): Copy the file after creating - any leading directories. - (main) [case 'v']: Set `x.verbose' to 1, not 0. - Reported by Marty Leisner. - - * man/Makefile.am (transform): Define. - (man_MANS): Include ginstall.1, not install.1, to match the name - of the executable in ../src. - * man/ginstall.x: New file. - * man/install.x: Remove file. - * man/Makefile.maint (ginstall-summary): Renamed from install-summary. - - * man/Makefile.am (EXTRA_DIST): Add Makefile.maint and GNUmakefile. - Reported by Akim Demaille. - - * lib/modechange.c: Fix post-protoization typo. - - * lib/posixtm.h (PARAMS): Define and use. - From Kaveh Ghazi. - -1998-09-12 Jim Meyering <meyering@ascend.com> - - * Version 3.16x. - - * src/remove.c (remove_cwd_entries): Declare to be static. - - Automatically generate man pages from combination of --help - output and the contents of new, man/*.x files. - * man/Makefile.am (HELP2MAN): Define. - (man_aux): Define. - (EXTRA_DIST): Add $(HELP2MAN) and $(man_aux). - (MAINTAINERCLEANFILES): Add $(man_MANS). - * man/*.x: New files. - * man/GNUmakefile: New file. - * man/Makefile.maint: New file. - * man/help2man: New file. - -1998-09-09 Jim Meyering <meyering@ascend.com> - - * lib/modechange.c: Protoize. - -1998-09-07 Jim Meyering <meyering@ascend.com> - - * Version 3.16w. - - * src/df.c (show_dev) [!posix_format]: When using --print-type, - let the device path and the file system type share a single (wider) - field if their combined lengths allow it. From Andries Brouwer. - - * tests/touch/empty-file: Upon failure, suggest how to rerun the test - with longer delay, in case NFS clock skew was the cause of the failure. - Reported by Kaveh Ghazi. - - * tests/ls-2/quoting: Add tests. - * tests/Fetish.pm (run_tests): Add simple PRE/POST hooks. - (_create_file): Don't include $$ in temp file name. - (run_tests): Use shorter suffixes for temp file names. - -1998-09-06 Jim Meyering <meyering@ascend.com> - - * src/touch.c: Include posixtm.h. - (usage): Correct the description of the format of the - date string argument to -t option. - (main): Update to use rewritten posixtime function. - Reported by Andries Brouwer. - - * lib/Makefile.am (libfu_a_SOURCES): Change posixtm.y to posixtm.c. - (noinst_HEADERS): Add posixtm.h. - - * lib/posixtm.h: New file. - * lib/posixtm.c: New file. Rewritten based on posixtm.y. - * lib/posixtm.y: Remove file. - -1998-09-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/ls.c (print_dir_name): Put back. - (print_dir): Also print directory name header if print_dir_name is - true. - -1998-08-29 Jim Meyering <meyering@ascend.com> - - * Version 3.16v. - - * src/du.c (long_options): Use corresponding short-option character - in place of `1', and `NULL' in place of pointer in initialization. - * src/cp.c (long_opts): Likewise. - * src/ln.c (long_options): Likewise. - * src/mkdir.c (longopts): Likewise. - * src/rmdir.c (longopts): Likewise. - * src/chown.c: Replace 12 and 13 with CHAR_MAX + 1 and CHAR_MAX + 2 - respectively. - * src/chmod.c (long_options): Replace 12 with CHAR_MAX + 1. - * src/chgrp.c (long_options): Replace 12 with CHAR_MAX + 1. - - * tests/Fetish.pm: New file -- moved from ls-2/. - * configure.in (AC_OUTPUT): Add tests/dircolors/Makefile. - * tests/Makefile.am (SUBDIRS): Add dircolors. - (EXTRA_DIST): Add Fetish.pm. - * tests/dircolors: New directory - - * src/ls.c (print_dir_name): Remove global variable. - (print_dir): When trace_dirs is set, always print the directory - name header. - -1998-08-26 Jim Meyering <meyering@ascend.com> - - * src/dircolors.c (dc_parse_stream): Don't segfault when a line - contains only one token. Reported by Olav Morkrid. - -1998-08-24 Paul Eggert <eggert@twinsun.com> - - * src/system.h (CHAR_MIN, CHAR_MAX): - Renamed from SCHAR_MIN, SCHAR_MAX, since these - macros apply to char, not signed char. - - * src/df.c, src/du.c, src/touch.c (long_options, main): - Don't assume ASCII. - -1998-08-18 Paul Eggert <eggert@twinsun.com> - - Port nanosecond-resolution times to UnixWare 2.1.2 and - pedantic Solaris 2.6. - - * configure.in (AC_STRUCT_ST_MTIM_NSEC): Renamed from AC_STRUCT_ST_MTIM. - * acconfig.h (ST_MTIM_NSEC): New #undef. - * src/system.h (ST_TIME_CMP_NS, ATIME_CMP, CTIME_CMP, MTIME_CMP): - Use new ST_MTIM_NSEC macro. - -1998-08-16 Jim Meyering <meyering@ascend.com> - - * lib/filemode.h (PARAMS): Define and use. - From Kaveh Ghazi. - -1998-08-15 Jim Meyering <meyering@ascend.com> - - * Version 3.16u. - - * Makefile.maint (announcement): New target. - - * tests/mv/into-self: Update to reflect changed behavior of mv. - * src/mv.c (do_move): Fail upon attempt to move a directory into itself. - With prodding from François Pinard :-) - - * tests/ls-2/Fetish.pm: New file - * tests/ls-2/run-test: New file - - * src/copy.c (copy_internal) [one-file-system]: Do copy mount point - directories (but none of their entries). This makes `cp --archive - --one-file-system' use the same policy `tar --one-file-system' does. - From Marty Leisner. - - * src/ls.c (qmark_funny_chars): Add comment from Paul eggert. - -1998-08-14 Jim Meyering <meyering@ascend.com> - - * tests/mv/setup: Work around another bug in Ultrix4.3a's /bin/sh. - Reported by Christian von Roques. - - * configure.in (AC_OUTPUT): Add tests/ls-2/Makefile. - * tests/Makefile.am (SUBDIRS): Add ls-2. - * tests/ls-2: New directory - -1998-08-14 Christian von Roques <roques@pond.sub.org> - - * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNT]: Don't - infloop on getmnt(2) returning 0. - - * tests/cp/backup-is-src: Avoid bug in Ultrix4.3a /bin/sh, - not initializing output redirection of : command. - * tests/mv/backup-is-src: Likewise. - * tests/rm/i-1: Likewise. - -1998-08-12 Jim Meyering <meyering@ascend.com> - - * po/Makefile.in.in: Provide automake-style DESTDIR support. - From Johan Danielsson. - (DISTFILES): Remove ChangeLog. - po/ChangeLog: Remove empty file. - - * configure.in (AC_STRUCT_ST_DM_MODE): Use it. - - * src/ls.c: Include filemode.h. - * src/chmod.c: Likewise. - - * lib/filemode.c (ftypelet): Add comments for Cray DMF support. - From Johan Danielsson. - Protoize. Tsort function definitions and remove prototypes of - static functions. - (mode_string): Remove prototype. - * lib/filemode.h (mode_string): New file. - * lib/Makefile.am (noinst_HEADERS): Add filemode.h. - -1998-08-09 Jim Meyering <meyering@ascend.com> - - * Version 3.16t. - -1998-07-31 Paul Eggert <eggert@twinsun.com> - - Add support for filesystems whose timestamps have better resolution - than 1 second (e.g. Solaris 2.6, recent Linux kernels). - - * configure.in (AC_STRUCT_ST_MTIM): Add. - - * src/copy.c (copy_internal): Compare time stamps with - subsecond resolution if available. - - * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime, - rev_cmp_mtime, compare_atime, rev_cmp_atime): Compare time - stamps with subsecond resolution if available. - - * src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, - CTIME_CMP, MTIME_CMP): New macros. - -1998-08-01 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add slovak (sk) and norwegian (no). - -1998-07-28 Paul Eggert <eggert@twinsun.com> - - * lib/mountlist.c (read_filesystem_list): Remove all_fs - argument, but put the necessary information into the result so - that the caller can ignore filesystems that he's not - interested in. - - * lib/mountlist.h (struct mount_entry): - New members me_dummy, me_remote. - (read_filesystem_list): Remove all_fs argument. - (REMOTE_FS_TYPE): Remove. - (ME_DUMMY, ME_REMOTE): New macros. - - * lib/xstrtol.c: Remove duplicate include of <stdio.h>. - - * src/df.c (show_all_fs): - Revert to boolean value; the old negative value is - now in show_local_fs. - (show_local_fs): New variable. - (show_dev): New args me_dummy and me_class. Use show_local_fs - and boolean show_all_fs in combination with these new args - to decide whether to show a device. - (show_disk): Pass flags to show_dev. - (show_point): Use a non-dummy mount entry if possible. - (show_all_entries): Pass flags to show_dev. - (main): --local sets show_local_fs now. Ask for file system types if - show_local_fs is nonzero, since ME_REMOTE might need them. - -1998-07-27 Jim Meyering <meyering@ascend.com> - - * tests/install/Makefile.am (TESTS_ENVIRONMENT): Set LS, MKDIR, and RM. - - * tests/install/basic-1: Add a test for this. - * src/install.c: Make copy create each destination file initially - with mode 0600 so strip will work, then apply specified mode. - Arne Henrik Juul reported that `./ginstall -s -c -m 555 dd /tmp' failed. - -1998-07-25 Jim Meyering <meyering@ascend.com> - - * src/mv.c (chown): Remove unused definition. - Reported by Kaveh Ghazi. - - * src/rmdir.c (main): rmdir fails with EEXIST on some systems. - Handle that, so --ignore-fail-on-non-empty works. - (EEXIST): Define to zero if not defined. - (ENOTEMPTY): Likewise. - - * tests/cp/same-file: Remove `diff' I'd put in for debugging. - Exit with the status from cmp. - - * Version 3.16s. - - * tests/cp/same-file: Skip three more unportable tests. - These failed on SunOS4.1.4. - - * src/copy.c (SAME_INODE): Remove definition. - * src/sys2.h (SAME_INODE): Define it here instead. - - * src/remove.c (same_file): New function. - (remove_dir): Use it to give a better diagnostic when rmdir fails - because it can't remove the current directory. - - * src/df.c (long_options): Changes table entries not to use this form: - {"all", no_argument, &show_all_fs, 1}, - but rather this form: - {"all", no_argument, NULL, 'a'}, - Using the latter, all the option handling in one place: the getopt loop. - - * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTINFO]: - Use fsp_to_string. - (fsp_to_string): Don't xmalloc return value (yet). - (xatoi): Ansideclify. - (fstype_to_string): Ansideclify. - * lib/mountlist.h: Define and use PARAMS macro. - - * lib/utime.c: New file. - * src/touch.c (utime_now): Moved into m4/utimes.m4. - (touch) [!HAVE_UTIME_NULL]: Remove #ifdef and the use of utime_now - in the if-block. - - * configure.in (jm_FUNC_UTIME): Use this, not AC_FUNC_UTIME. - -1998-07-22 Paul Eggert <eggert@twinsun.com> - - * lib/human.c (human_readable): amt -> damt, to fix typo when - computing which power to use after overflow occurs during - multiplication. - - * lib/xstrtol.c: Include <stdio.h> if NDEBUG is not defined; - needed on SunOS 4. - -1998-07-21 Paul Eggert <eggert@twinsun.com> - - Add df -l or --local option. - * doc/fileutils.texi: Document it. - * lib/mountlist.h (REMOTE_FS_TYPE): New macro. - * lib/mountlist.c (read_filesystem_list): - If all_fs is negative, omit non-local filesytems. - - * src/df.c (show_dev): Omit local devices if show_all_fs is negative. - (show_all_fs): If negative, omit non-local filesystems. - All uses of (all_fs != 0) changed to (all_fs > 0). - (long_options, usage, main): Add -l or --local option. - (main): When asking for df of an explicit file name, get all - the mount points, so that we're more likely to find it when - we look it up. - -1998-07-18 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_internal): Add another exclusion from the - sameness test: when --force has been specified, the destination - is unlinked before any copy. - (copy_internal): Add yet another: when both src and dest are symlinks. - - * tests/touch: New subdir. - * tests/Makefile.am (SUBDIRS): Add touch. - * configure.in (AC_OUTPUT): Add tests/touch/Makefile. - - * tests/mv/into-self-2: New test. - * tests/mv/Makefile.am (TESTS): Add into-self-2. - -1998-07-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * lib/mountlist.c (read_filesystem_list): Fix more memory leaks on - failure. - -1998-07-16 Jim Meyering <meyering@ascend.com> - - Work around failure of chown calls on m68k-motorola-sysv systems. - * src/chown.c: Include lchown.h. - * lib/Makefile.am (noinst_HEADERS): Add lchown.h. - * lib/lchown.h: New file, just to define ENOSYS on systems that lack it. - * lib/lchown.c: Include lchown.h. - Reported by and with suggestions from Manfred Hollstein. - -1998-07-12 Paul Eggert <eggert@twinsun.com> - - * src/df.c (print_header): Print "1k-blocks", not "1.0k-blocks". - -1998-07-07 Jim Meyering <meyering@ascend.com> - - * src/sys2.h [HAVE_FCLOSE_UNLOCKED]: Remove unnecessary block. - Suggestion from Ulrich Drepper. - -1998-07-04 Jim Meyering <meyering@ascend.com> - - * lib/safe-read.c (safe_read): Change type of pointer parameter to - `void' to avoid Irix4 cc errors. Reported by Kaveh Ghazi. - * lib/safe-read.h: Update prototype. - - * src/dircolors.c (parse_line): Add casts to avoid errors from - Irix4's `cc' C compiler. From Kaveh Ghazi. - - * lib/xstrtol.c: Include stdio.h. Required on some systems when - using assert. From Kaveh Ghazi. - - * tests/mv/backup-is-src: Use cmp, not diff. - Reported by Kaveh Ghazi. - -1998-07-03 Jim Meyering <meyering@ascend.com> - - * Version 3.16r. - - * src/remove.c (remove_dir): Use fprintf (not error) to avoid - newline in prompt. - -1998-06-30 Paul Eggert <eggert@shade.twinsun.com> - - * lib/mountlist.c (read_filesystem_list): - Don't leak memory on failure. - Don't create a dummy struct mount_entry entry; - use the address-of-the-tail-address method instead. - Preserve errno if possible on failure, setting it to 0 if inapplicable. - Close file descriptor leak if the F_SETLKW failed. - Report an error if SVR4 lock file cannot be opened for some reason - other than a nonexistent lock file. - -1998-07-03 Jim Meyering <meyering@ascend.com> - - * configure.in (AM_WITH_REGEX): Remove. Now the replacement - macro, jm_WITH_REGEX, is bundled with the rest in jm_MACROS. - * acconfig.h (WITH_REGEX): Remove undef. - * lib/Makefile.am (noinst_HEADERS): Add regex.h. - * lib/rpmatch.c: Remove #ifdef around <regex.h> inclusion. - * lib/rx.c: Remove file. - * lib/rx.h: Remove file. - - * src/df.c (df_readable): Rename local so as not to shadow global. - - * src/copy.c (SAME_INODE): New macro. - Use it to replace open-coded equivalents. - (copy_internal): Rename variable and reverse sense of tests - to make the code a little clearer. - -1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/copy.c (copy_internal): Try harder identifying a relative - symbolic link in the current directory. - - * src/copy.c (copy_internal): Don't skip test for same file if - creating a hardlink from symlink over a non-symlink while making - backups. - * tests/cp/same-file: Skip tests that depend on link(2) not - following symlinks. - -1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/copy.c (copy_internal): Don't call chown on a symlink. - -1998-07-01 Jim Meyering <meyering@ascend.com> - - * lib/xstrtol.c: Don't define NDEBUG here, now that it's done via - configure's --disable-assert option. - -1998-06-29 Paul Eggert <eggert@twinsun.com> - - * lib/mountlist.c (read_filesystem_list): - Plug file descriptor leak on failure. - Report failure if lock file can't be opened for some reason - other than nonexistence. - -1998-06-29 Jim Meyering <meyering@ascend.com> - - * Version 3.16q. - - * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT2]: - Always close stream and file descriptor before returning. - - * src/df.c (main): Move the test of the result of the - read_filesystem_list call up out of if-block -- code in the - else-block depends on it too. - -1998-06-29 Paul Eggert <eggert@twinsun.com> - - * lib/mountlist.c (read_filesystem_list): If SVR4, lock - /etc/.mnttab.lock if available, to avoid race conditions - (e.g. with the automounter on Solaris 2.6). - - Include <errno.h>, <fcntl.h>, <unistd.h>. - -1998-06-29 Jim Meyering <meyering@ascend.com> - - * lib/mountlist.c (fstype_to_string): Guard with - #if ! HAVE_F_FSTYPENAME_IN_STATFS. - -1998-06-28 Paul Eggert <eggert@twinsun.com> - - Add support for new --block-size option and - BLOCK_SIZE. DF_BLOCK_SIZE, etc. variables to `df', `du', and `ls'. - Adjust df output slightly to accommodate larger filesystems. - - * lib/human.c, lib/human.h (human_readable): Coalesce last two args - into one, for convenience. All callers changed. - (human_block_size): New function. - * lib/human.c: Include <config.h> only if HAVE_CONFIG_H. - Include <stdlib.h> if HAVE_STDLIB_H; - declare getenv unless HAVE_DECL_GETENV. - (_): New macro. - Include <argmatch.h>, <error.h>, <xstrtoul.h>. - (DEFAULT_BLOCK_SIZE): New macro. - (block_size_args, block_size_types): New constants. - (humblock): New function. - * lib/xstrtol.h (__ZLONG_MAX): Remove. - * lib/xstrtol.c (bkm_scale): Don't assume that you can convert - unsigned long to double without losing information. - (bkm_scale_by_power): New function. - - * lib/xstrtol.c (__xstrtol), src/dd.c (parse_integer): - Add support for SI-like suffixes like "GB" and "TD". - * src/dd.c (usage): Describe it. - - * src/df.c, src/du.c, src/ls.c (human_readable_base, output_units): - Remove; replace with new variable output_block_size. All uses changed. - (long_options, usage, main): Add --block-size. - (main, decode_switches): Use new human_block_size function to - initialize output block size consistently with other programs. - - * src/df.c (print_header, show_dev): Shrink some columns and expand - others, to squeeze in support for today's larger filesystems. - (print_header): Print output block size using power-of-1024 SI format. - (df_readable): Coalesce last two args into one, for convenience. - All callers changed. - (main): Remove check for portable output format and larger - or human-readable block sizes. - - * NEWS, doc/fileutils.texi: Describe above changes. - -1998-06-28 Jim Meyering <meyering@ascend.com> - - * src/ls.c (usage): Make --kilobytes description consistent with - that in du and df. From Göran Uddeborg. - - * lib/mountlist.c (fsp_to_string): Clean out some crufty #ifdefs - now that we're using the jm_FSTYPENAME autoconf macro. - James Tanis reported the old version didn't compile on BSDI3. - - * configure.in: Move big block of list_mounted_fs checks into - new jm_LIST_MOUNTED_FILESYSTEMS macro. - Use new jm_FSTYPENAME macro. - - * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. - * src/ls.c: Add DIRED_ prefix to the macros: PUTCHAR, FPUTS, and - FPUTS_LITERAL - -1998-06-27 Jim Meyering <meyering@ascend.com> - - * src/copy.c (copy_reg): Detect identical source and dest here. - (copy_internal): Make the test symmetric. - - * tests/cp/same-file: New file. - * tests/cp/Makefile.am (TESTS): Add it. - -1998-06-26 Jim Meyering <meyering@ascend.com> - - * src/remove.c (remove_file): Remove `non-directory' part of - `removing non-directory FILE' verbose message. - -1998-06-23 Jim Meyering <meyering@ascend.com> - - * src/df.c (show_dev): Increase field width for blocks, used, - and available columns from 7 to 8. - -1998-06-21 Jim Meyering <meyering@ascend.com> - - * aclocal.m4: Regenerate with fixed gettext.m4 installed. - See README-alpha for details. - -1998-06-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/automake-wrap: Quote `&' in sed replacement text. - -1998-05-31 Jim Meyering <meyering@ascend.com> - - * Version 3.16p. - - * src/install.c (main): Fix argv-handling bug in my 1998-05-09 change. - Reported by Don Parsons. - -1998-05-30 Jim Meyering <meyering@ascend.com> - - * tests/ls/time-1: Clean up ctime test. Note that it fails also - on Solaris5.5.1 tmpfs file systems. - - Solve the `rm -f rm' problem more cleanly. - * src/.rm-warning: Remove file. - * src/automake-wrap: New file. - * src/Makefile.am (AUTOMAKE): Define to use automake-wrap. - (Makefile.in): Depend on automake-wrap. - (EXTRA_DIST): Add automake-wrap. - (DISTCLEANFILES): Remove definition. - (rm_DEPENDENCIES): Likewise. - (.rm-warn-stamp): Remove rule. - -1998-05-27 Jim Meyering <meyering@ascend.com> - - * tests/ls/Makefile.am (TESTS): s/cr-1/rt-1/ - * tests/ls/rt-1: New file, renamed from cr-1. - -1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/Makefile.am (.rm-warn-stamp): Cope with $(srcdir) != ".". - - * tests/ls/cr-1: Don't use the ctime for testing, it is impossible - to set it reliably. - -1998-05-25 Jim Meyering <meyering@ascend.com> - - * configure.in (_GNU_SOURCE): AC_DEFINE it here. - * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section. - [!_GNU_SOURCE]: Add #undef instead. - -1998-05-24 Jim Meyering <meyering@ascend.com> - - * Version 3.16o. - - * src/ansi2knr.c: Use new version from automake-1.3. - - * src/chown.c: Accept new option, --dereference. - --no-dereference is now the default. - (enum Change_status) [CH_NOT_APPLIED]: New member. - (change_symlinks): Enable this by default, now. - (describe_change): Handle new case. - (change_file_owner): Add new parameter: cmdline_arg. Update callers. - Reorganize to reflect changed semantics. - (LCHOWN): Remove definitions. - - * lib/lchown.c: New file. - -1998-05-21 Jim Meyering <meyering@ascend.com> - - * configure.in (ALL_LINGUAS): Add russian (ru). - -1998-05-16 Jim Meyering <meyering@ascend.com> - - * src/remove.c (hash_compare_strings): Return true or false, not 1/0. - (remove_cwd_entries): Use RM_OK, not equivalent literal `1'. - - * lib/hash.c (is_prime): Ansideclify. - (next_prime): Ansideclify. Add an assertion. - - * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS=' - lines from the m4/*.m4 macros, so the hack of including some - custom-replaced C source file names here is no longer needed. - - * configure.in (jm_MACROS): New wrapper macro. - Remove uses of most jm_* macros. - - * acconfig.h (HAVE_STRUCT_UTIMBUF): Remove #undef. Now it's handled - as part of utimbuf.m4. - (memcmp): Add #undef. - -1998-05-12 Jim Meyering <meyering@ascend.com> - - * configure.in: Use my replacement AC_ISC_POSIX rather than - open-coding it. - - * src/copy.c (copy_internal): Plug a small leak. - -1998-05-10 Jim Meyering <meyering@ascend.com> - - * src/mv.c (do_move): Remove lots of code that was duplicated in - copy.c (copy), now that copy() has better support for mv. This fixes - a bug with cross-filesystem `mv -i' whereby you could get two prompts - for the same destination file and eventually remove the destination - file even though one of the responses was negative. - Reported by Dirk Lattermann. - - * src/copy.h: Better support for mv: - [struct cp_options] (move_mode): New member. - * src/copy.c (copy_internal): Use new move_mode member. - Add parameter. - (copy): Add parameter. - - * tests/cp/Makefile.am (TESTS): Add backup-is-src. - * tests/mv/Makefile.am (TESTS): Likewise. - - * lib/userspec.c: Don't declare strdup if it's defined as a macro. - Reported by Lorne Baker. - - * src/Makefile.am (ginstall_SOURCES): Add copy.c and cp-hash.c. - - * src/mv.c (cp_option_init): Initialize new members. - * src/cp.c (cp_option_init): Likewise. - (main): Set new preserve_* options. - -1998-05-09 Jim Meyering <meyering@ascend.com> - - * src/copy.h: Support for install: - [struct cp_options] (failed_unlink_is_fatal): New member. - (preserve_owner_and_group): New member. - (preserve_chmod_bits): New member. - (preserve_timestamps): New member. - (preserve): Remove member. - (set_mode): New member. - (mode): New member. - * src/copy.c (new_nondir_mode): New function. Use where appropriate. - Use more-specific preserve_* members in place of removed `preserve'. - (copy_internal): Honor failed_unlink_is_fatal. - - * src/install.c (main): Rewrite argv-handling to be clearer. - (copy_file): Rewrite to use copy.c (copy). - (change_attributes): Get rid of now-(with chown wrapper)-unnecessary - `no_need_to_chown' parameter. Fix caller. - (install_file_in_file): Remove now-unnecessary `to_created' parameter. - (cp_option_init): New function. - Update several functions to take new parameter specifying copy options. - - * tests/install: New subdir, with one basic test. - * tests/Makefile.am (SUBDIRS): Add install. - * configure.in (AC_OUTPUT): Add tests/install/Makefile. - - * src/dd.c: Include safe-read.h. - Don't declare safe_read. - * src/touch.c: Likewise. - - * configure.in (jm_TYPE_SSIZE_T): Use it. - * acconfig.h (ssize_t): Add undef. - -1998-05-03 Jim Meyering <meyering@ascend.com> - - * po/: Update from gettext-0.10.35. - * intl/: Likewise. - * configure.in: Remove use of AC_LINK_FILES. - (AC_OUTPUT): Remove po/Makefile-generating sed command. - -1998-04-28 Jim Meyering <meyering@ascend.com> - - * src/dircolors.c (parse_line): Use ISSPACE, not isspace. - Use unsigned char * pointers, not potentially signed ones, to avoid - sign extension. - -1998-04-26 Jim Meyering <meyering@ascend.com> - - * configure.in: Use jm_ASSERT. - * acconfig.h: Add NDEBUG. - - * src/mv.c: Don't define NDEBUG. - * src/cp.c: Likewise. - -1998-04-14 Jim Meyering <meyering@ascend.com> - - * src/.rm-warning: New file. - * src/Makefile.am (EXTRA_DIST): Add .rm-warning - (DISTCLEANFILES): Add .rm-warn-stamp. - (rm_DEPENDENCIES): Depend on .rm-warn-stamp. - (.rm-warn-stamp): New rule. - (rm_prep): Comment out rule. - - * src/df.c (main): Use STREQ in string equality tests, not strcmp. - * src/dircolors.c (dc_parse_stream): Likewise. - (dc_parse_file): Likewise. - * src/du.c (main): Likewise. - * src/ls.c (decode_switches): Likewise. - * src/remove.c (hash_compare_strings): Likewise. - * src/touch.c (main): Likewise. - -1998-04-13 Jim Meyering <meyering@ascend.com> - - * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. - -1998-04-11 Jim Meyering <meyering@ascend.com> - - * lib/hash.c: Add curly braces around statements in - if/else/while/do/etc. that span more than a line -- even around - multiline simple statements or single-line simple statements - preceded by a comment line. - -1998-04-09 Jim Meyering <meyering@ascend.com> - - * configure.in: Don't use AC_PATH_PROG to check for perl, now that - we use jm_PERL. - -1998-04-06 Jim Meyering <meyering@ascend.com> - - * src/cp-hash.c (cph_hash_insert): Rename from now-conflicting - hash_insert. Also declare to be static. - * src/cp-hash.h (hash_insert): Remove declaration. - - * lib/hash.c: Lots of minor spec and name changes, and new comments. - (hash_rehash): Rewrite to be easier on the allocator. - From François Pinard. - * lib/hash.h: More comments. - * src/remove.c: Change names/usage of hash-related functions to work - with the above. - -1998-04-05 Jim Meyering <meyering@ascend.com> - - * lib/regex.c (WIDE_CHAR_SUPPORT): Define. - This now depends on HAVE_BTOWC so systems that lack btowc (like - solaris-2.5.1) don't lose. - -1998-04-04 Jim Meyering <meyering@eng.ascend.com> - - * GNUmakefile: Add conditionals so that running `make' in an - unconfigured source directory will get a reasonable diagnostic. - - * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal - know about the m4/ subdirectory. - * Makefile.maint (aclocal-files): Remove now-unnecessary (with - automake-1.2h and the above change) aclocal-related rules and includes. - -1998-04-01 Jim Meyering <meyering@eng.ascend.com> - - * tests/ls/cr-1: New file. - * tests/ls/Makefile.am (TESTS): Add cr-1. - -1998-03-31 Jim Meyering <meyering@eng.ascend.com> - - * src/system.h (TYPE_MAXIMUM): Cast result to `(t)' so this macro - works with `unsigned char'. - From Greg Wooledge. - (SCHAR_MIN, SCHAR_MAX, SHRT_MIN, SHRT_MAX, LONG_MAX, ULONG_MAX): Define. - - * lib/xstrtol.c: Merge with the version from textutils. - - * lib/memcmp.c (rpl_memcmp): Rename from memcmp. - -1998-03-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime, - rev_cmp_mtime, compare_atime, rev_cmp_atime, compare_size, - rev_cmp_size): Use file name as secondary sort key to get - consistent sorting. - -1998-03-28 Jim Meyering <meyering@eng.ascend.com> - - * src/copy.c: Add copyright. - * src/remove.c: Add copyright. - [_AIX]: Add #pragma alloca. - -1998-03-27 Jim Meyering <meyering@eng.ascend.com> - - * Makefile.maint ($(ACLOCAL_M4)): Replace old rule with this - dependency and the := assignment of ACLOCAL to make the default - rule use the `-I m4' option. - - * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. - -1998-03-23 Jim Meyering <meyering@eng.ascend.com> - - * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4 - automatically handles it. - -1998-03-21 Jim Meyering <meyering@eng.ascend.com> - - * lib/quotearg.h: Update from patch-2.5.3. - * lib/quotearg.c: Likewise. - * src/ls.c (decode_switches): Pass a null pointer instead of address - of quotearg_quoting_options. - -1998-03-19 Paul Eggert <eggert@twinsun.com> - - * lib/fsusage.h (struct fs_usage): New member - fsu_bavail_top_bit_set. - * lib/fsusage.c: Include <limits.h>. - (CHAR_BIT, EXTRACT_TOP_BIT, PROPAGATE_TOP_BIT): New macros. - (get_fs_usage): If top bit of system variable corresponding to - fsu_bavail is set, then set fsu_bavail_top_bit_set, and - sign-extend the value when storing it into fsu_bavail. - * src/df.c (show_dev): If fsu_bavail_top_bit_set is nonzero, - assume the original value corresponding to fsu_bavail was negative. - Reported by Arne Juul. - -1998-03-18 Jim Meyering <meyering@eng.ascend.com> - - * src/Makefile.am (rm-prep): Add dependency and rule to save users - with `.' too early in their PATH from the `rm: cannot unlink `rm': - Text file busy' error. Suggestion from Philippe De Muyter. - -1998-03-15 Jim Meyering <meyering@eng.ascend.com> - - * Version 3.16n. - - * lib/chown.c: Use #if, not #ifdef with HAVE_ macros. - * lib/closeout.c: Likewise. - * lib/dirname.c: Likewise. - * lib/euidaccess.c: Likewise. - * lib/fileblocks.c: Likewise. - * lib/filemode.c: Likewise. - * lib/ftruncate.c: Likewise. - * lib/group-member.c: Likewise. - * lib/isdir.c: Likewise. - * lib/long-options.c: Likewise. - * lib/mountlist.c: Likewise. - * lib/path-concat.c: Likewise. - * lib/save-cwd.c: Likewise. - * lib/savedir.c: Likewise. - * lib/strcasecmp.c: Likewise. - * lib/strdup.c: Likewise. - * lib/userspec.c: Likewise. - * lib/yesno.c:: Likewise. - - * src/chgrp.c: Use #if, not #ifdef with HAVE_ macros. - Use #if !, not #ifndef with HAVE_ macros. - * src/chown.c: Likewise. - * src/copy.c: Likewise. - * src/dd.c: Likewise. - * src/dircolors.c: Likewise. - * src/install.c: Likewise. - * src/ls.c: Likewise. - * src/mv.c: Likewise. - * src/touch.c: Likewise. - - * configure.in: Use jm_PREREQ. - -1998-03-14 Jim Meyering <meyering@eng.ascend.com> - - Revert most `getdate.h -> get-date.h' changes of 1998-02-20. - With automake-1.2f, that hack is no longer needed. - - * src/remove.c: Use `virtual memory exhausted' message, not - `Memory exhausted' to be consistent with the majority of other - such messages. - Say `removing all...', not `removing any...'. - * src/rmdir.c (remove_parents): Be consistent with documentation of - --verbose option and with remove.c in saying `removing...' before - the operation is attempted. - (main): Likewise. - Suggestions from Santiago Vila. - - * src/copy.c (copy_dir): Add new parameter, copy_into_self, and set it. - (copy_internal): Likewise. - (copy): Likewise. - Update all callers. - * src/copy.h (copy): Update prototype. - * src/cp.c (do_copy): Add unused arg in calls to copy. - * src/mv.c (do_move): Add ©_into_self arg in call to copy. - Don't remove source directory when copy_into_self is nonzero. - Reported by Arne Henrik Juul. - - * tests/mv/into-self: Test for the above. - * tests/mv/Makefile.am (TESTS): Add into-self. - -1998-02-28 Eli Zaretskii <eliz@is.elta.co.il> - - * userspec.c (parse_user_spec) [__DJGPP__]: Make function know - about any arbitrary user and group by pretending to be the user - and to belong to the group specified in `spec_arg' argument. - - * idcache.c (getuidbyname) [__DJGPP__]: Make function know about - any arbitrary user name. - (getgidbyname) [__DJGPP__]: Make function know about any arbitrary - group name. - -1998-02-24 Jim Meyering <meyering@eng.ascend.com> - - * lib/xstrtol.c (TYPE_SIGNED): Define. - (TYPE_MAXIMUM): Define. - (ULONG_MAX): Use TYPE_MAXIMUM. - (LONG_MAX): Use TYPE_MAXIMUM. - - * lib/fnmatch.c: Update from libit. - * lib/idcache.c: Update from libit. - -1998-02-23 Paul Eggert <eggert@twinsun.com> - - * lib/quotearg.h, lib/quotearg.c: New files. - * lib/Makefile.am (libfu_a_SOURCES): Add quotearg.c. - (noinst_HEADERS): Add quotearg.h. - - * src/ls.c: Include new file quotearg.h. - (enum indicator_style): Rename all to classify, and not_programs - to file_type, to match option spellings. All users changed. - (indicator_style_args): New constant. - (quote_funny_chars, quote_as_string, quote_shell): Remove; - (filename_quoting_options, dirname_quoting_options): Use these - variables instead. - (long_options): Add --indicator-style, --quoting-style, - --show-control-chars. Remove --quote-shell. - (dired_dump_obstack): Remove style parameter and don't output style. - (main): Go back to previous method of outputting //DIRED// - and //SUBDIRED// lines, without style. But add a new - //DIRED-OPTIONS// line that does output style. - (decode_switches, usage): Add --indicator-style, --quoting-style, - --show-control-chars. Remove --quote-shell. - (decode_switches): Default from QUOTING_STYLE environment variable. - Set new quoting vars. - (quote_name): Renamed from quote_filename. - Take new arg specifying quoting options. - Always print; do not have a special case for null FILE * argument. - All callers changed. - Move the guts of this function to new file quotearg.c. - (length_of_file_name_and_frills): Use quotearg_buffer instead - of (old) quote_filename to find length of file name. - - (decode_switches, parse_ls_color, print_dir, gobble_file, - get_link_name): Quote output in diagnostics. - - * NEWS, doc/fileutils.texi: Describe above changes. - * doc/fileutils.texi: Mention that control characters are output - as question marks if output is a terminal. - -1998-02-22 Jim Meyering <meyering@eng.ascend.com> - - * Version 3.16m. - - * ChangeLog-1997: New file. - * Makefile.am (EXTRA_DIST): Add ChangeLog-1997. - -1998-02-21 Jim Meyering <meyering@eng.ascend.com> - - * configure.in (AC_OUTPUT): Add tests/mv/Makefile. - * tests/Makefile.am (SUBDIRS): Add mv. - * tests/mv: New directory - * tests/mv/mv-special-1: New test. - -1998-02-20 Jim Meyering <meyering@eng.ascend.com> - - * src/touch.c: Include get-date.h. - Remove get_date decl. - - * lib/getdate.h: Removed. Could cause confusion with an - automake-generated `.y.h' rule. - * lib/get-date.h: Renamed from getdate.h. - * lib/getdate.y: s/getdate.h/get-date.h/ - * lib/Makefile.am (noinst_HEADERS): s/getdate.h/get-date.h/ - -1998-02-19 Jim Meyering <meyering@eng.ascend.com> - - 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il> - * lib/fileblocks.c [__DJGPP__]: Add missing typedef for daddr_t. - -1998-02-13 Jim Meyering <meyering@eng.ascend.com> - - * src/mv.c (cp_option_init): Set copy_as_regular to 0, not 1. - Otherwise, mv tries to open special files. - Reported by Kjetil Torgrim Homme. - -1998-02-08 Jim Meyering <meyering@eng.ascend.com> - - * Makefile.maint (cvs-dist): Update po/ to clear modified status - of *.po files before running cvs tag -c. - - * src/ln.c (usage): Reword to use `TARGET' and `LINK_NAME' in - description. - -1998-02-07 Jim Meyering <meyering@eng.ascend.com> - - * GNUmakefile: New file. - * Makefile.am (EXTRA_DIST): Add GNUmakefile. - Don't include Makefile.maint from here. It's included from GNUmakefile. - - * configure.in: Don't use AM_MAINTAINER_MODE. - (jm_PERL): Use this. - - * src/Makefile.am (EXTRA_DIST): Remove dcgen.pl. Add dcgen. - (CLEANFILES): Remove dcgen. - (dircolors.h): Use $(PERL). - (.pl): Remove rule. - -1998-02-01 Jim Meyering <meyering@na-net.ornl.gov> - - * POTFILES.in: Add remove.c. Reported by Santiago Vila. - -1998-01-28 Jim Meyering <meyering@na-net.ornl.gov> - - * src/df.c (print_header): Tweak format to align heading over - last column of `df -i' output. From Andreas Schwab. - -1998-01-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * Makefile.am: Include Makefile.maint from $(srcdir). - -1998-01-25 Jim Meyering <meyering@na-net.ornl.gov> - - * Version 3.16l. - - * Makefile.maint: New file. - * Makefile.am: Move rules common to textutils, fileutils, sh-utils - into Makefile.maint. - Include Makefile.maint. - (EXTRA_DIST): Add Makefile.maint. - - * src/cp.c (re_protect): Don't fail for non-root when chown fails - due not only to lack of permission (EPERM), but also to lack of - support (EINVAL). Reported by Bengt Martensson. - * src/copy.c (DO_CHOWN): Likewise. - -1998-01-24 Jim Meyering <meyering@na-net.ornl.gov> - - * tests/ls/time-1 (test_failure): Rename does not update ctime; - link does -- so use ln, not mv. - Note that the SunOS4.1.4 failure of the ctime test is expected. - - * src/system.h (TYPE_MINIMUM): Add extra outer cast to work around - bug in Cray C 5.0.3.0 when T == time_t. - - * tests/rm/r-1: Adjust expected output for changed format of - `rm --verbose'. - * tests/rm/r-2: Likewise. - -1998-01-23 Jim Meyering <meyering@na-net.ornl.gov> - - * lib/mktime.c (__mktime_internal): Work around bug in Irix4.0.5's - C compiler. From Kaveh Ghazi. - (TYPE_MINIMUM): Define. - (TYPE_MAXIMUM): Define. - (TIME_T_MIN): Use TYPE_MINIMUM. - (TIME_T_MAX): Use TYPE_MAXIMUM. - -1998-01-22 Jim Meyering <meyering@na-net.ornl.gov> - - * src/dd.c: Reorder functions to obviate forward dcls. - (quit): Declare to be inline to stifle compile warning. - - * src/cp.c (do_copy): Add unreachable `return 0' to stifle warning. - - * tests/rm/sunos-1: Don't use -f. Do adjust $RM if it's a - relative path. - - * tests/ls/time-1: Use GNU touch to work around problems with NFS - caching and/or clock skew. Reported by Kaveh Ghazi. - - * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Add TOUCH. - - * src/Makefile.am (noinst_HEADERS): Add remove.h. - (mv_SOURCES): Define. - (rm_SOURCES): Define. - -1998-01-21 Jim Meyering <meyering@na-net.ornl.gov> - - * src/install.c: Declare new global, backup_type. - (main): Initialize backup_type unconditionally. - (copy_file): Call find_backup_file_name with new argument, backup_type. - * src/ln.c: Declare new global, backup_type. - (main): Initialize backup_type unconditionally. - (do_link): Call find_backup_file_name with new argument, backup_type. - - * src/copy.c (copy_internal): Use x->backup_type, not the global. - (valid_options): Use VALID_BACKUP_TYPE and VALID_SPARSE_MODE. - - * src/copy.h (VALID_SPARSE_MODE): Define. - [struct cp_options] (backup_type): New member. - - * src/cp.c [NDEBUG]: Comment out definition. - (do_copy): Use x->backup_type, not the global. - - * src/remove.c: New file. Contains guts of old rm.c. - (remove_init): New function. - (remove_fini): New function. - (rm): Take third argument, specifying options. - * src/remove.h: New file. Associated dcls. - * src/rm.c: Remove and minimally librarify guts for use in mv.c. - (main): Pass options (`&x') to rm. - Call remove_init and remove_fini instead of open-coding them. - - * src/mv.c (rm_option_init): New function. - (cp_option_init): New function. - (copy_reg): Remove now-unused function. - (do_move): Set up for and use `copy.c (copy)' in place of copy_reg. - Set up for and use `remove.c (rm)' in place of unlink. - -1998-01-20 Jim Meyering <meyering@na-net.ornl.gov> - - * lib/backupfile.c: Use ANSI function definitions. - Remove global declaration of backup_type. - (simple_backup_suffix): Default to `~', not `.orig'. - Use PARAMS, not __BACKUPFILE_P. - (find_backup_file_name): Add parameter, backup_type. - * lib/backupfile.h: Remove extern declaration of backup_type. - Use PARAMS, not __BACKUPFILE_P. - (VALID_BACKUP_TYPE): Define. - (find_backup_file_name): Adjust prototype. - -1998-01-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * src/df.c (print_header): Fix inode format header to line it up - with the rest of the output. - -1998-01-13 Jim Meyering <meyering@na-net.ornl.gov> - - * lib/stat.c: Set errno to ENOENT, not EINVAL. This is consistent - with most other implementations. - -1998-01-12 Jim Meyering <meyering@na-net.ornl.gov> - - * lib/fileblocks.c: Include sys/param.h only #if HAVE_SYS_PARAM_H. - Move function-spanning `#if ...BSIZE' directive to follow inclusion - of sys/param.h since BSIZE is sometimes defined in sys/param.h. - Reported by Philippe De Muyter. - -1998-01-10 Jim Meyering <meyering@na-net.ornl.gov> - - * Version 3.16k. - - * src/install.c (install_file_to_path): New function. - FIXME: update fileutils.texi. - (main): Handle new option, -D. - Based on a patch from Marty Leisner. - (usage): Describe -D. - - * src/ls.c (decode_switches) [-u]: Fix bug whereby -u worked only - with -l or -t. Now, -u (like -c) implies --sort=time. - (usage): Correct descriptions of --sort, --time, and -t. - Suggestions from Andreas Schwab. - - Add test for the above fix. - * configure.in (AC_OUTPUT): Add tests/ls/Makefile. - * tests/Makefile.am (SUBDIRS): Add ls. - * tests/ls: New directory. - * tests/ls/Makefile.am: New file. - * tests/ls/time-1: New file. - - * lib/makepath.c (make_path): Reformat 3 if-stmts to test - `if (newly_created_dir)' only once. Suggestion from Andreas Schwab. - -1998-01-06 Jim Meyering <meyering@na-net.ornl.gov> - - * lib/getdate.y: Move inclusion of getdate.h and dependent extern - declarations down so getdate.h's prototype follows the sometimes- - enabled definition of `const' to nothing. Otherwise, the prototype - wouldn't match the definition because of the defined-away `const'. - From Kaveh Ghazi. - (get_date): ANSI-fy definition. - Add %expect directive. - -1998-01-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * lib/makepath.c (make_path): Put only newly created directories - on the LEADING_DIRS list. - -1998-01-05 Paul Eggert <eggert@twinsun.com> - - * lib/fsusage.c (PROPAGATE_ALL_ONES): New macro. - (get_fs_usage): If a value consists entirely of 1 bits, - propagate this info to the output by setting it to (uintmax_t) -1. - * src/df.c (df_readable): New function. - (show_dev): If a value consists entirely of 1 bits, or is derived - from some other value that consists entirely of 1 bits, report "-". - Check inode and block counts more carefully for plausibility, - to avoid arithmetic overflow when computing percentages. - -1998-01-04 Jim Meyering <meyering@na-net.ornl.gov> - - * Version 3.16j. - - * lib/Makefile.in: Regenerated with patched automake-1.2d. - See README-alpha. - - * src/chgrp.c: Use a single enumerated type, Verbosity, instead of - the two booleans, verbose and changes_only. This fixes a bug whereby - --change had the same effect as --verbose. - * src/chmod.c: Likewise. - * src/chown.c: Likewise. - Reported by Paul Eggert. - -1998-01-04 Paul Eggert <eggert@twinsun.com> - - Check for write errors more carefully. - - * lib/Makefile.am (libfu_a_SOURCES): Add closeout.c. - (noinst_HEADERS): Add closeout.h. - * lib/closeout.c, lib/closeout.h: New files. - * lib/long-options.c (parse_long_options), - src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c, - src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c, - src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, - src/mvdir.c, src/rm.c, src/rmdir.c, src/sync.c, src/touch.c - (main, usage): Check for write error to stdout before exiting. - Include "closeout.h". - -1998-01-03 Jim Meyering <meyering@na-net.ornl.gov> - - * src/df.c (show_dev): Treat `fsu.fsu_bavail == (unsigned long) -1' - just like `fsu.fsu_blocks == 0' as an indicator that usage information - is invalid. This happens with Solaris-5.5.1 CD-ROM mount points. - - * lib/save-cwd.h: Guard PARAMS-enabling definition with - `defined PROTOTYPES || (defined __STDC__ && __STDC__)' to avoid - problems with Irix4's cc. From Kaveh Ghazi. - * lib/getdate.h: Likewise, but just to be consistent. - - * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so - those files will be built via the ANSI2KNR-filtering rules if necessary. - Reported by Kaveh Ghazi. - -1998-01-02 Jim Meyering <meyering@na-net.ornl.gov> - - * Version 3.16i. - - Fix problem with `install -d'. Reported by Marty Leisner. - - * src/install.c (get_ids): When otherwise unspecified, - set uid and gid to -1. - * lib/makepath.c (make_path): Try to change ownership only if we've - just created the directory. Fix latent bug (s/&&/||/ in two places -- - also, note that it could not be exercised via install or mkdir) - whereby chown would not be invoked when only one of owner/group is - not -1. - -1998-01-01 Jim Meyering <meyering@na-net.ornl.gov> - - * src/rm.c (remove_cwd_entries): Initialize the entry-name obstack - only once and never free it. - - - ----- - - Copyright (C) 1998-2017 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without - modification, are permitted provided the copyright notice - and this notice are preserved. |