Windows: Work around misbehaved rename().
commitea9e98c3a54d3b693367fbb8c87812b17ad95869
authorJohannes Sixt <johannes.sixt@telecom.at>
Fri, 7 Dec 2007 21:19:40 +0000 (7 22:19 +0100)
committerJohannes Sixt <johannes.sixt@telecom.at>
Mon, 23 Jun 2008 11:40:18 +0000 (23 13:40 +0200)
treecc4abaa44db9b3067917c2d20c29929d2f9005c1
parent132a6e903fd912d02392db55c407267103766f19
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>
compat/mingw.c
compat/mingw.h