File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -272,10 +272,14 @@ pub fn lookup_path_with(
272
272
let metadata = inode. metadata ( ) ?;
273
273
274
274
if metadata. is_symlink ( ) {
275
- let relative_path_str = inode. resolve_link ( ) ?;
276
- let relative_path = Path :: new ( & relative_path_str ) ;
275
+ let resolved_path_str = inode. resolve_link ( ) ?;
276
+ let resolved_path = Path :: new ( & resolved_path_str ) ;
277
277
278
- return lookup_path_with ( parent, relative_path, LookupMode :: None ) ;
278
+ if resolved_path. is_absolute ( ) {
279
+ return lookup_path ( resolved_path) ;
280
+ }
281
+
282
+ return lookup_path_with ( parent, resolved_path, LookupMode :: None ) ;
279
283
} else if metadata. is_directory ( ) {
280
284
if let Ok ( mount_point) = MOUNT_MANAGER . find_mount ( cwd. clone ( ) ) {
281
285
cwd = mount_point. root_entry ;
You can’t perform that action at this time.
0 commit comments