author | Johannes Sixt <johannes.sixt@telecom.at> | |
Fri, 7 Dec 2007 21:19:40 +0000 (22:19 +0100) | ||
committer | Johannes Sixt <johannes.sixt@telecom.at> | |
Mon, 23 Jun 2008 11:40:18 +0000 (13:40 +0200) | ||
commit | ea9e98c3a54d3b693367fbb8c87812b17ad95869 | |
tree | cc4abaa44db9b3067917c2d20c29929d2f9005c1 | tree | snapshot |
parent | 132a6e903fd912d02392db55c407267103766f19 | commit | diff |
Windows: Work around misbehaved rename().
Windows's rename() is based on the MoveFile() API, which fails if the
destination exists. Here we work around the problem by using MoveFileEx().
Furthermore, the posixly correct error is returned if the destination is
a directory.
The implementation is still slightly incomplete, however, because of the
missing error code translation: We assume that the failure is due to
permissions.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Windows's rename() is based on the MoveFile() API, which fails if the
destination exists. Here we work around the problem by using MoveFileEx().
Furthermore, the posixly correct error is returned if the destination is
a directory.
The implementation is still slightly incomplete, however, because of the
missing error code translation: We assume that the failure is due to
permissions.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
compat/mingw.c | diff | blob | history | |
compat/mingw.h | diff | blob | history |