summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2009-09-26 15:51:53 +0000
committerEric Blake <eblake@redhat.com>2009-09-26 15:51:53 +0000
commit52dba6a5c45e8d8ba1e237a15213311dc11d91fb (patch)
tree58e8c9e0fea63d08c7f3e63ba3956e3196403d94 /winsup/cygwin/fhandler.cc
parent1e6459d3e5248a8253e73b602615820d14ee6483 (diff)
downloadcygnal-52dba6a5c45e8d8ba1e237a15213311dc11d91fb.tar.gz
cygnal-52dba6a5c45e8d8ba1e237a15213311dc11d91fb.tar.bz2
cygnal-52dba6a5c45e8d8ba1e237a15213311dc11d91fb.zip
Fix some POSIX-compliance bugs in link, rename, mkdir.
* syscalls.cc (link): Delete obsolete comment. Reject directories and missing source up front. (rename): Use correct errno for trailing '.'. Detect empty strings. Allow trailing slash to newpath iff oldpath is directory. * dir.cc (mkdir): Reject dangling symlink with trailing slash. * fhandler_disk_file.cc (fhandler_disk_file::link): Reject trailing slash. * fhandler.cc (fhandler_base::link): Match Linux errno.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 5f501a7b6..7a7d80148 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -1541,7 +1541,7 @@ fhandler_base::ftruncate (_off64_t length, bool allow_truncate)
int
fhandler_base::link (const char *newpath)
{
- set_errno (EINVAL);
+ set_errno (EPERM);
return -1;
}