* dir.cc (rmdir): Reorganize check for trailing dot to return correct error

when directory does not exist.
This commit is contained in:
Christopher Faylor 2006-02-04 19:02:42 +00:00
parent 324ce34bd5
commit 25bafd7b0e
2 changed files with 8 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2006-02-04 Christopher Faylor <cgf@timesys.com>
* dir.cc (rmdir): Reorganize check for trailing dot to return correct
error when directory does not exist.
2006-02-03 Christopher Faylor <cgf@timesys.com>
* dir.cc (mkdir): Reorganize check for trailing dot to return correct

View File

@ -295,12 +295,6 @@ rmdir (const char *dir)
if (efault.faulted (EFAULT))
return -1;
if (has_dot_last_component (dir))
{
set_errno (EINVAL);
return -1;
}
if (!(fh = build_fh_name (dir, NULL, PC_SYM_NOFOLLOW)))
goto done; /* errno already set */;
@ -309,8 +303,11 @@ rmdir (const char *dir)
debug_printf ("got %d error from build_fh_name", fh->error ());
set_errno (fh->error ());
}
else if (has_dot_last_component (dir))
set_errno (fh->exists () ? EINVAL : ENOENT);
else if (!fh->rmdir ())
res = 0;
delete fh;
done: