Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/commonio.c: Rely on the POSIX.1-2008 behavior of realpath(3) #1223

Merged
merged 1 commit into from
Mar 3, 2025

Conversation

alejandro-colomar
Copy link
Collaborator

Link: <shadow-maint#1222 (comment)>
Link: <https://stackoverflow.com/questions/60802732/are-realpath-portability-concerns-obsolete>
Reported-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
@alejandro-colomar alejandro-colomar added the Simpler A good issue for a new beginner label Feb 23, 2025
@ikerexxe
Copy link
Collaborator

ikerexxe commented Mar 3, 2025

I only have a question here. Is it POSIX.1-2008 or POSIX.1-2018? I would say it is the second but I prefer to have it confirmed.

@alejandro-colomar
Copy link
Collaborator Author

alejandro-colomar commented Mar 3, 2025

I only have a question here. Is it POSIX.1-2008 or POSIX.1-2018? I would say it is the second but I prefer to have it confirmed.

$ man standards 2>/dev/null | grep '^       POSIX.1'
       POSIX.1‐1988
       POSIX.1‐1990
       POSIX.1b (formerly known as POSIX.4)
       POSIX.1c (formerly known as POSIX.4a)
       POSIX.1d
       POSIX.1g
       POSIX.1j
       POSIX.1‐1996
       POSIX.1‐2001
       POSIX.1‐2008
       POSIX.1‐2017

You're probably asking about POSIX.1-2017. POSIX.1-2008 is the major revision of the POSIX standard. In 2017, a Technical Corrigenda was issued, but which didn't meaningfully change the standard, so we keep referring to the 2008 one. It's similar to C11 and C17. C11 was a major revision of ISO C, and C17 is just the same with a Technical Corrigenda applied.

If you go to the online publication of POSIX.1-2017, it says that at the top (in other words):

The Open Group Base Specifications Issue 7, 2018 edition
IEEE Std 1003.1™-2017 (Revision of IEEE Std 1003.1-2008)

https://pubs.opengroup.org/onlinepubs/9699919799/

(BTW, it is the 2018 edition because it was finally published in 2018, but the name is 2017 because it was finalized in 2017; just like C23 is called C23 even if it was published by ISO in 2024 --because ISO is so slow at publishing what the C Committee handles to them--.)

Copy link
Collaborator

@ikerexxe ikerexxe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation, now I see why I got confused. LGTM!

@ikerexxe ikerexxe merged commit 7a16663 into shadow-maint:master Mar 3, 2025
10 checks passed
@alejandro-colomar alejandro-colomar deleted the rp branch March 3, 2025 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Simpler A good issue for a new beginner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants