Opened 12 years ago
Closed 10 years ago
#267 closed defect (fixed)
Make _abspath() use path rewrite feature
Reported by: | dmik | Owned by: | bird |
---|---|---|---|
Priority: | normal | Milestone: | libc-0.6.6 |
Component: | libc | Version: | 0.6.4 |
Severity: | normal | Keywords: | |
Cc: |
Description
It seems that _abspath() does not involve a call to __libc_PathRewrite() to expand things like /@unixroot/my/path
to proper paths. As a result, an attempt to call this function on such a path will return X:/@unixroot/my/path
(where X: is the current drive) which in most cases will be a completely invalid path (which doesn't lead to what the original path before calling _abspath() would lead to).
More details are here http://svn.netlabs.org/qt4/ticket/282.
Change History (3)
comment:1 by , 11 years ago
Component: | baselayout → libc |
---|---|
Milestone: | → libc-0.6.6 |
Severity: | blocker → normal |
Status: | new → accepted |
comment:2 by , 10 years ago
comment:3 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Note:
See TracTickets
for help on using tickets.
The _abspath implemenation has other quirks, like _abspath("/dev/nul") or _abspath("/pipe/mypipe") will come out equally messed up by drive letters. Not to mention anything starting with a slash (or more than three) in chroot'ed mode.
Then there seems to be confusion as to what qualifies as a UNC path. The code only checks for two leading slashes before it concludes that it's a UNC path. That's not how OS/2 and Windows detects UNC paths - there should be exactly two slashes, no more.
The /dev/xxx and /pipe/yyy stuff is going to be interesting... I think we're just going to have to live with them never getting a drive letter in front of them. The path rewriting should be easier to handle, I think...