Фон
Я читал об Открытой Спецификации Группы о readlink () , и есть ошибка под названием ELOOP
, которая указывает, что «В символьных ссылках, встречающихся при разрешении аргумента пути, существует цикл»., поэтому я предполагаю, что эта функция будет продолжать разрешение пути до тех пор, пока не будет обнаружен файл без ссылок.
Однако я провел эксперимент и обнаружил, что readlink()
разрешает только переданный аргумент path
и просто останавливается на нем, но не продолжает разрешать, пока не достигнет файла без ссылки.
Моя проблема
- Если это для
realpath()
, то имеет смысл иметь ELOOP
в качестве возможной ошибки. Но почему ELOOP
существует даже для readlink()
, а путь разрешается только один раз?
- Я видел это в спецификации «Необязательное условие ошибки [ELOOP] добавлено для согласования с черновым стандартом IEEE P1003.1a», означает ли это поведение
readlink()
(продолжает ли оно разрешаться до достижения не- файл ссылки) зависит от реализации?
моя версия gcc 8.2.1