svn commit: r203990 - head/lib/libc/sys

Bruce Evans brde at optusnet.com.au
Wed Feb 17 20:41:16 UTC 2010


On Wed, 17 Feb 2010, Garrett Cooper wrote:

> On Wed, Feb 17, 2010 at 11:13 AM, Bruce Evans <brde at optusnet.com.au> wrote:
>> On Thu, 18 Feb 2010, Bruce Evans wrote:

>>>> ...
>>
>> Related bug: unlink(1) bogusly prints a messages that looks like
>> strerror(EISDIR).  It doesn't even try unlink(2) on directories,
>> but prints this message from a private string.
>> ...
>> Anyway, unlink(1) shouldn't fall into rm(1)'s error handling to to
>> print its diagnostic.  It should use a special message (matching its
>> man page) for directories, or just try unlink(2).
>>
>> rm(1)'s current special message should say something about directory
>> removal requiring -d, and not look like strerror(EISDIR).  Or since
>> directory removal is prohibited by the kernel, the -d option can never
>> work, so it should have been removed ~10 years ago when the kernel was
>> changed to prohibit it.
>
> 1. Where is EISDIR used in rm(1)?

Nowhere.  As described above, unlink[rm](1) prints a message that looks
like sterror(EISDIR) from a private string.  It doesn't even fake the
string properly (the real message capitalizes "Is").

> 2. phk's example in a latter email used unlink(2), not unlink(1).

My first reply was about unlink(2).  My second reply was originally
about the related bug in unlink(1) but expanded to cover related bugs
in rm(1).

Bruce


More information about the svn-src-head mailing list