Jim Meyering [Sat, 13 Oct 2001 19:57:08 +0000 (19:57 +0000)]
(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.
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.
Jim Meyering [Sat, 6 Oct 2001 16:43:07 +0000 (16:43 +0000)]
(record_dest): Avoid a small leak.
(copy_internal): Call remember_copied only for 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.
Jim Meyering [Sun, 30 Sep 2001 21:39:51 +0000 (21:39 +0000)]
(jm_LIST_MOUNTED_FILESYSTEMS): See if
`struct fsstat' has the `f_fstypename' member.
Use that to define FS_TYPE, which is now used to make
the getfsstat link test tighter.
Jim Meyering [Sun, 30 Sep 2001 21:28:15 +0000 (21:28 +0000)]
[MOUNTED_GETFSSTAT]:
Include <sys/ucred.h>, for Apple Darwin.
Include sys/mount.h and sys/fs_types.h only if available.
(FS_TYPE): Define.
(read_filesystem_list): Use FS_TYPE.
Jim Meyering [Sat, 29 Sep 2001 10:27:28 +0000 (10:27 +0000)]
(jm_LIST_MOUNTED_FILESYSTEMS)
Check for these headers: sys/param.h sys/ucred.h sys/mount.h
sys/fs_types.h, and make the link-test for getfsstat guard #include
directives with appropriate #if HAVE_*_H tests so that we can
detect getfsstat on Apple Darwin1.3.7 systems.
Also fix harmless typo in cache variable name: s/getsstat/getfsstat/.
Jim Meyering [Sat, 29 Sep 2001 08:13:18 +0000 (08:13 +0000)]
(jm_LIST_MOUNTED_FILESYSTEMS)
[one-argument getmntent function]): Include stdio.h before mntent.h.
SunOS4.1.x needs it for the declaration of `FILE'.
Patch by Volker Borchert.
Jim Meyering [Fri, 28 Sep 2001 19:51:19 +0000 (19:51 +0000)]
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.
Jim Meyering [Fri, 28 Sep 2001 19:43:17 +0000 (19:43 +0000)]
Accept new option: --reply={yes,no,query}
(enum) [REPLY_OPTION]: Define.
(usage): Describe new option.
Split long usage string into smaller pieces.
(main): Handle new option.
Jim Meyering [Fri, 28 Sep 2001 19:37:38 +0000 (19:37 +0000)]
* xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
Check for strtoul and strtoumax,
as those declarations are made even in the signed case.
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
Likewise, for strtol and strtoimax.
Jim Meyering [Fri, 28 Sep 2001 19:34:31 +0000 (19:34 +0000)]
(strtol): Do not declare if HAVE_DECL_STRTOL.
(strtoul): Do not declare if HAVE_DECL_STRTOUL.
(strtoimax, strtoumax): Do not declare if already defined as a macro.