Commit Graph
4 Commits
Author SHA1 Message Date
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
xXPBSXxandClaude Sonnet 5.5 faec856276 test(libc): remove the rename test files in Cleanup
Cleanup removed only the three directories, so a run that stopped between
creating the symbolic link and removing it left the link behind and every later
run failed at its creation with EEXIST. Cleanup now also removes the plain file
and the link, and the link name and plain file name moved to namespace scope.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 15:24:19 +02:00
xXPBSXxandClaude Sonnet 5.5 34acda3429 test(libc): cover rename through a file and through a symbolic link loop
Rename of file/. fails with ENOTDIR and of loop/. with ELOOP on Linux, where
status() of the parent reports the error instead of "not found"; the test also
runs the file case on Windows, where it passes with and without the change.
The loop case needs a symbolic link and runs on Linux only.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 14:16:54 +02:00
xXPBSXxandClaude Sonnet 5.5 9899ba0fa2 fix(libc): fail a rename of a path that ends in a dot component with EINVAL
rename and sceKernelRename resolved "dir/." to "dir" and renamed the directory. FreeBSD 11.4's lookup fails a last component of "." for DELETE and RENAME with EINVAL, for the source and the destination alike. Check the guest string before it is resolved: a last component of "." (also under trailing slashes) fails with EINVAL when its parent exists, ENOENT when it does not and ENOTDIR when it is not a directory.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 02:57:14 +02:00