Opened 12 years ago
Closed 11 years ago
#288 closed defect (fixed)
rename() fails if dest file is r/o
| Reported by: | dmik | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | libc-0.6.6 |
| Component: | libc | Version: | 0.6.5 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
I found out that rename ("file1", "file2") will fail if "file2" has a r/o bit set. This is because DosDelete fails on such files with RC = 5. This failure violates the POSIX requirements which in turn breaks e.g. the mv command which uses rename() internally.
See here https://github.com/bitwiseworks/mozilla-os2/issues/29#issuecomment-38677608 for more details.
Attachments (1)
Change History (5)
comment:1 by , 12 years ago
by , 12 years ago
| Attachment: | rename.diff added |
|---|
comment:2 by , 12 years ago
The fix (against the libc-0.6 branch) is attached. I tested it and it fixes mv here.
comment:3 by , 12 years ago
| Milestone: | libc-0.7 → libc-0.6.6 |
|---|
comment:4 by , 11 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Committed a fix in r3905 for both trunk and branch.
Note:
See TracTickets
for help on using tickets.

I would really like to see this fix in libc-6.6 since
mvis frequently used by make install etc. and this is a common source of failure (I saw that more than once).