1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-19 18:26:32 +02:00
Commit Graph

12990 Commits

Author SHA1 Message Date
Jim Meyering
77bc22f77a (trap): in chmod, use u+rwx, not 700 2002-06-15 09:54:08 +00:00
Jim Meyering
646e37ff59 *** empty log message *** 2002-06-15 09:46:43 +00:00
Jim Meyering
bf7c8ba557 (trap): Make sure the temporary hierarchy is writable before removing it. 2002-06-15 09:46:32 +00:00
Jim Meyering
59f339c1f8 Use better trap.
trap 'status=$?; cd $pwd; chmod -R 700 $t0; rm -rf $t0 && exit $status' 0
2002-06-15 09:45:05 +00:00
Jim Meyering
2309be536f Use quoted here doc by default,
so e.g., backticks don't need to be escaped.
2002-06-15 09:41:47 +00:00
Jim Meyering
14c7cfea4c (TESTS): Add perm-1. 2002-06-15 09:40:25 +00:00
Jim Meyering
6f809229ef *** empty log message *** 2002-06-15 09:40:07 +00:00
Jim Meyering
f09cbdc4b4 *** empty log message *** 2002-06-15 08:47:55 +00:00
Jim Meyering
ef159d5cdb . 2002-06-15 08:47:25 +00:00
Jim Meyering
58e6f3d386 *** empty log message *** 2002-06-15 08:47:12 +00:00
Jim Meyering
39237a241f (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t,
so that each temporary file name is unique and valid in the first
8 characters, for operation under DOS.
2002-06-15 08:46:59 +00:00
Jim Meyering
8ba0cddae4 (FILE_TYPE_H): Guard entire contents with #ifndef.
For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
have been included before this file.
2002-06-15 08:43:45 +00:00
Jim Meyering
13221a5a13 For GNU libc 2.2 and newer, ensure that <sys/types.h>
has been included before this file.
2002-06-15 08:40:55 +00:00
Jim Meyering
3351c8aada . 2002-06-15 08:04:23 +00:00
Jim Meyering
19548deac9 Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 08:03:24 +00:00
Jim Meyering
ff43f6b441 Change temp. file name: s/\.err/_err/, for DOS. 2002-06-15 08:02:16 +00:00
Jim Meyering
1d51d96e1e Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 08:01:41 +00:00
Jim Meyering
140f272a56 Remove leading `.' from temp. names. 2002-06-15 08:01:20 +00:00
Jim Meyering
9da59fff0d Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 07:56:40 +00:00
Jim Meyering
06b1f74288 *** empty log message *** 2002-06-15 07:37:29 +00:00
Jim Meyering
dbb90872ee (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. 2002-06-15 07:37:21 +00:00
Jim Meyering
cb8155615a (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. 2002-06-15 07:36:57 +00:00
Jim Meyering
b29576f01f *** empty log message *** 2002-06-15 06:54:05 +00:00
Jim Meyering
d404816448 (S_ISNAM): Add to list of S_IS* macros.
Rearrange #if directives for each S_IS macro.
From diffutils-2.8.2.
2002-06-15 06:53:57 +00:00
Jim Meyering
02d8535f9e *** empty log message *** 2002-06-14 07:53:01 +00:00
Jim Meyering
dfe88896b5 Use the version from diffutils-2.8.2. 2002-06-14 07:52:32 +00:00
Jim Meyering
0f19d3650b update from master sources 2002-06-13 09:30:02 +00:00
Jim Meyering
10c95a54b5 tweak expected message 2002-06-12 08:02:12 +00:00
Jim Meyering
f849e0aaac (do_move): Give one diagnostic, not two, when unable to
unlink a destination file.  This bug was introduced in fileutils-3.16l.

$ /bin/mv /etc/passwd /tmp
/bin/mv: cannot unlink `/etc/passwd': Permission denied
/bin/mv: cannot remove `/etc/passwd': Permission denied
[Exit 1]
2002-06-12 08:01:48 +00:00
Jim Meyering
7e6aff288f (rm): Fix typo in assertion. 2002-06-12 08:00:50 +00:00
Jim Meyering
c5b3b8e2b6 tweak output: s/ directory// 2002-06-07 14:57:19 +00:00
Jim Meyering
e20a6cfb82 *** empty log message *** 2002-06-07 14:49:33 +00:00
Jim Meyering
bae1890d5b Also accept the permission-denied diagnostic
issued by some losing systems.  Reported by Volker Borchert.
2002-06-07 14:49:21 +00:00
Jim Meyering
b2816db207 . 2002-06-07 14:44:02 +00:00
Jim Meyering
2e6f8bf01e *** empty log message *** 2002-06-07 14:43:41 +00:00
Jim Meyering
a3eb51b0e2 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
They're needed at least for NetBSD 1.5.2.
($statxfs_includes): Include those same headers.
($statxfs_includes): Include sys/vfs.h if available.
($statxfs_includes): Likewise for sys/statvfs.h.
Check for the following members in both structs statfs and statvfs:
f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
2002-06-07 14:43:36 +00:00
Jim Meyering
6d3ea70cf7 *** empty log message *** 2002-06-07 14:39:21 +00:00
Jim Meyering
b965b62436 (remove_entry): Use DT_IS_DIR only if
HAVE_STRUCT_DIRENT_D_TYPE is defined.
2002-06-07 14:39:09 +00:00
Jim Meyering
8bd3e55a54 . 2002-06-06 07:48:26 +00:00
Jim Meyering
cb93da5115 *** empty log message *** 2002-06-03 11:07:02 +00:00
Jim Meyering
9897e1994c (rm invocation): Add the warning (also in the --help output)
that the contents of a removed file are often recoverable.
2002-06-03 11:06:58 +00:00
Jim Meyering
52fc0276d7 *** empty log message *** 2002-06-02 21:30:07 +00:00
Jim Meyering
ce73721712 (enum RM_status) [RM_NONEMPTY_DIR]: New member.
(UPDATE_STATUS): New macro.
Include save-cwd.h.
(struct File_spec): Remove declaration.
Update prototypes.
2002-06-02 21:28:41 +00:00
Jim Meyering
0f6d0c6016 (main): Adapt to new calling sequence for rm. 2002-06-02 20:50:33 +00:00
Jim Meyering
a4b18d8961 (do_move): Adapt to new calling sequence for rm. 2002-06-02 20:50:20 +00:00
Jim Meyering
fb205872c1 Merge in all changes from no-recursion branch.
* 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.

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.

* 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.

* 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.

* 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.

* 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.
* 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.

* src/remove.c (rm): Free cwd_state, if necessary.

* 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'.
2002-06-02 20:49:03 +00:00
Jim Meyering
a4ff1d036d *** empty log message *** 2002-06-02 20:45:46 +00:00
Jim Meyering
26693888de . 2002-06-02 20:39:20 +00:00
Jim Meyering
63a8743830 (TESTS): Add rm5. 2002-06-02 20:39:00 +00:00
Jim Meyering
2ef6aec8ce Adjust, now that we no longer report `removing all entries of directory ...'. 2002-06-02 20:37:43 +00:00