* cygwin.din: Sort.

(faccessat): Export.
	(fchmodat): Export.
	(fchownat): Export.
	(fstatat): Export.
	(futimesat): Export.
	(linkat): Export.
	(mkdirat): Export.
	(mkfifoat): Export.
	(mknodat): Export.
	(openat): Export.
	(readlinkat): Export.
	(renameat): Export.
	(symlinkat): Export.
	(unlinkat): Export.
	* path.cc (readlink): Align definition to POSIX.
	* syscalls.cc (gen_full_path_at): New static function.
	(faccessat): Implement.
	(fchmodat): Implement.
	(fchownat): Implement.
	(fstatat): Implement.
	(futimesat): Implement.
	(linkat): Implement.
	(mkdirat): Implement.
	(mkfifoat): Implement.
	(mknodat): Implement.
	(openat): Implement.
	(readlinkat): Implement.
	(renameat): Implement.
	(symlinkat): Implement.
	(unlinkat): Implement.
	* include/cygwin/version.h: Bump API minor number.
This commit is contained in:
Corinna Vinschen
2008-04-23 11:13:52 +00:00
parent ca48eb65e9
commit c57b57e5c4
5 changed files with 333 additions and 5 deletions

View File

@@ -2519,8 +2519,8 @@ symlink_info::case_check (char *path)
/* readlink system call */
extern "C" int
readlink (const char *path, char *buf, int buflen)
extern "C" ssize_t
readlink (const char *path, char *buf, size_t buflen)
{
if (buflen < 0)
{
@@ -2550,7 +2550,7 @@ readlink (const char *path, char *buf, int buflen)
return -1;
}
int len = min (buflen, (int) strlen (pathbuf.get_win32 ()));
ssize_t len = min (buflen, strlen (pathbuf.get_win32 ()));
memcpy (buf, pathbuf.get_win32 (), len);
/* errno set by symlink.check if error */