mirror of
https://https.git.savannah.gnu.org/git/coreutils.git
synced 2026-01-27 01:44:21 +00:00
8347 lines
286 KiB
Plaintext
8347 lines
286 KiB
Plaintext
2002-07-20 Jim Meyering <meyering@lucent.com>
|
||
|
||
* 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<46>d<EFBFBD>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<53>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<61>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>
|
||
|
||
Tranform 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<61>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<61>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<61>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<61>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<61>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<61>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<61>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.
|
||
|
||
Local Variables:
|
||
version-control: never
|
||
End:
|