]> git.ipfire.org Git - thirdparty/coreutils.git/commit
rm -r would get a failed assertion when run from an inaccessible
authorJim Meyering <jim@meyering.net>
Sat, 29 May 2004 22:04:55 +0000 (22:04 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 29 May 2004 22:04:55 +0000 (22:04 +0000)
commit9c29642d378a87cf60ce7bd7310d541f1053e495
tree9bda3e3ce583a87bfa08095ed71db16c62862b07
parentf679d4d08d9183ed85ffe773b8650070b4c2d40c
rm -r would get a failed assertion when run from an inaccessible
directory and with two or more command line arguments including an
absolute-named directory followed by a relative-named directory.

(struct cwd_state): Define.
(AD_pop_and_chdir): Redesign interface so that a restore_cwd failure
can be detected by the caller.  Instead of returning a malloc'd
directory name, communicate it to caller via a new parameter, and
return an indication of whether restore_cwd failed.  Update caller.
Eliminate an unnecessary call to AC_stack_top.
(remove_dir): Change type of cwd_state parameter to `struct cwd_state'
so we can now communicate to caller whether/how functions like
restore_cwd have failed.  Update caller.
(rm_1): Fail if we've failed to restore the working directory
and the name of the next file to remove is `.'-relative.
(rm): Fail if the require_restore_cwd flag is true and we've
failed to restore the working directory.
src/remove.c