Skip to content

Fix unprovoked symlink errors in directory_entry - #353

Open
stm-ableton wants to merge 1 commit into
boostorg:developfrom
stm-ableton:fix-directory-entry-symlink-errors
Open

Fix unprovoked symlink errors in directory_entry#353
stm-ableton wants to merge 1 commit into
boostorg:developfrom
stm-ableton:fix-directory-entry-symlink-errors

Conversation

@stm-ableton

Copy link
Copy Markdown

Closes #352.

Also adds tests exercising directory_entry.

@stm-ableton
stm-ableton marked this pull request as draft August 3, 2026 09:53
@stm-ableton
stm-ableton marked this pull request as ready for review August 3, 2026 12:27
@Lastique

Lastique commented Aug 3, 2026

Copy link
Copy Markdown
Member

I'd like to let you know that there is a massive change to library headers coming soon, that will likely make PRs against headers non-applicable. You may want to hold off the work on this.

@stm-ableton
stm-ableton marked this pull request as draft August 3, 2026 14:59
@stm-ableton

Copy link
Copy Markdown
Author

@Lastique Thank you for the heads up. I've converted to draft for now.

@stm-ableton
stm-ableton force-pushed the fix-directory-entry-symlink-errors branch from 5a366ca to 15dbc1d Compare August 23, 2026 06:22
Since
boostorg@d508d49,
a number of functions in directory_entry's public interface call
directory_entry::refresh_impl, which updates the cached file status
comprehensively. On POSIX systems, for example, both lstat and stat are
called for symlinks, and stat errors are reported to the caller. As a
result, e.g. checking the status of a symlink with symlink_status
produces an error if the symlink target is gone or if access to it is
denied. In v4, this also affects the constructor overload that takes an
error_code, i.e. constructing a directory_entry with a path to a broken
symlink produces an error.

Add a parameter to refresh_impl allowing to configure what the caller is
interested in, thus avoiding false positives.
@stm-ableton
stm-ableton force-pushed the fix-directory-entry-symlink-errors branch from 15dbc1d to 76bf91a Compare August 23, 2026 09:04
@stm-ableton
stm-ableton marked this pull request as ready for review August 24, 2026 07:33
@stm-ableton

Copy link
Copy Markdown
Author

I've rebased around 2466fc1 (I assumed this was the change to library headers).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

directory_entry reports errors for dangling symlinks when it shouldn't

2 participants