Fix STD build failing for target_os = "espidf" #145746
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A regression from #142938
cc @lolbinarycat
cc @ibraheemdev
ESP-IDF (and a few other embedded Tier-3 systems) is considered
cfg(unix)
, but it does not have theO_NOFOLLOW
flag because neither of its three supported filesystems (FATFS, LitteLF and Spiffs) has symbolic links in the first place.What this fix does is to keep the
set_permissions_nofollow
method available and non-failing for ESP-IDF, but it behaves as if noO_NONFOLLOW
was set. This should be fine as there is nothing to follow in the first place, as there are no symbolic links there.EDIT: Also added the same fix for Horizon, as requested by @Meziu.