背景
我阅读了关于readlink()的开放组规范,并且有一个名为 的错误ELOOP
,它表明“在解析路径参数期间遇到的符号链接中存在循环。”,所以我假设这个函数将继续路径解析,直到遇到非链接文件。
但是,我做了一个实验,发现readlink()
只解析传入的path
参数并停在那里,但直到到达非链接文件才继续解析。
我的问题
- 如果是 for ,那么将其视为可能的错误
realpath()
是有道理的。ELOOP
但是为什么它只ELOOP
存在一次路径呢?readlink()
- 我在规范中看到了这一点“添加了 [ELOOP] 可选错误条件以符合 IEEE P1003.1a 草案标准”,这是否意味着
readlink()
(是否一直解析直到到达非链接文件)的行为取决于实现?
我的 gcc 版本是8.2.1