diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index 00608e7e00..3acb687fd2 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -336,7 +336,13 @@ spew_entry( Entry * e, struct berval * path, int dolock, int *save_errnop ) tmpfname, STRERROR( save_errno ), 0 ); } else { +#ifdef _WIN32 + /* returns 0 on failure, nonzero on success */ + res = MoveFileEx( tmpfname, path->bv_val, + MOVEFILE_REPLACE_EXISTING ) == 0; +#else res = rename( tmpfname, path->bv_val ); +#endif if ( res == 0 ) { rs = LDAP_SUCCESS;