[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: [bug #6047] rm -f "" prints diagnostic message under the Hurd]

From: Ognyan Kulev
Subject: Re: [Fwd: [bug #6047] rm -f "" prints diagnostic message under the Hurd]
Date: Thu, 29 Apr 2004 12:32:35 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040122 Debian/1.6-0.backports.org.1

Thomas Bushnell, BSG wrote:
Ognyan Kulev <ogi@fmi.uni-sofia.bg> writes:

I'm more inclined to change EINVAL into ENOENT in diskfs_lookup.

No, any such change should be in the caller, not in diskfs_lookup.

OK. I've checked all uses of diskfs_lookup in libdiskfs, and these shell commands all fail with EINVAL:

$ ln x ""                     dir_link
$ rm ""                               dir_unlink
$ mkdir ""                    dir_mkdir
$ rmdir ""                    dir_rmdir

The following shell commands (that end up using dir_rename) give other errors, but C program that uses ANSI function rename() gives EINVAL:

mv x ""                               here "" is recognized as "."
                                and mv complains
mv "" x                               here stat("") gives ENOENT
                                and we don't reach dir_rename

I would like to make a patch. But first, what are the sensible errors? Here is what I think:

dir_link("x", "") returns EINVAL
dir_unlink("") returns ENOENT
dir_mkdir("") returns EINVAL
dir_rmdir("") returns ENOENT
dir_rename("x", "") returns EINVAL
dir_rename("", "x") returns ENOENT

mv x "" should give EINVAL, I think. I suppose this is for the coreutils developers.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]