diff options
Diffstat (limited to 'beos/beos_scaffolding.cpp')
-rw-r--r-- | beos/beos_scaffolding.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/beos/beos_scaffolding.cpp b/beos/beos_scaffolding.cpp index ae256bf0f..e0b3af943 100644 --- a/beos/beos_scaffolding.cpp +++ b/beos/beos_scaffolding.cpp @@ -405,6 +405,16 @@ void nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m BNode node(path.Path()); if (node.InitCheck() < B_OK) break; + if (node.IsSymLink()) { + // dereference the symlink + BEntry entry(path.Path(), true); + if (entry.InitCheck() < B_OK) + break; + if (entry.GetPath(&path) < B_OK) + break; + if (node.SetTo(path.Path()) < B_OK) + break; + } attr_info ai; if (node.GetAttrInfo("META:url", &ai) >= B_OK) { |