Giống bài realpath nhưng target symlink có thể tương đối. Quy tắc phân giải
theo từng thành phần từ gốc giống realpath(3) thật:
resolved các thành phần đã phân giải và hàng đợi pending
các thành phần còn lại của p.resolved + [comp] thành một symlink:
resolved rỗng rồi nạp các thành phần target
vào đầu pending.comp vào resolved; nạp thẳng các
thành phần target (kể cả ..) vào đầu pending. Khi đó .. trong target sẽ
lùi trên resolved hiện tại (chính là thư mục chứa symlink).Lưu ý: do .. được xử lý trên resolved, một symlink tương đối ../c đặt tại
/a/b sẽ cho /c (giống hệ thống thật), chứ không phải /a/c. Giới hạn 40 lần
thay thế → ELOOP.
/a/b -> ../c; p=/a/b/d → /c/d/a -> link; p=/a/b → /link/bDòng 1: số mục n. n dòng name target. Dòng cuối: p.
0 ≤ n ≤ 100. Giới hạn 40.
Một dòng: realpath hoặc ELOOP.
Ví dụ:
Đầu vào:
1
/a/b ../c
/a/b/d
Đầu ra:
/c/d
Giải thích:
Đang tải editor...