Fix bug with realpath() on Windows

This commit is contained in:
Justine Tunney 2024-05-29 18:47:01 -07:00
parent 2816df59b2
commit f31a98d50a
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
4 changed files with 57 additions and 3 deletions

View file

@ -112,3 +112,15 @@ TEST(readlinkat, realpathReturnsLongPath) {
ASSERT_SYS(0, 0, touch("froot", 0644));
ASSERT_STARTSWITH("/c/", realpath("froot", buf));
}
TEST(readlinkat, c_drive) {
char buf[PATH_MAX];
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "/", buf, PATH_MAX));
if (!IsWindows())
return;
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "/c/", buf, PATH_MAX));
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "/c", buf, PATH_MAX));
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "c:", buf, PATH_MAX));
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "c:/", buf, PATH_MAX));
ASSERT_SYS(EINVAL, -1, readlinkat(AT_FDCWD, "c:\\", buf, PATH_MAX));
}