mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2025-02-02 15:07:36 -05:00
Use remove() then rename() only on win32 - where it's required.
Don't use it on unix systems, which don't need it, and where doing _only_ rename() preserves atomicity. svn path=/icecast/trunk/icecast/; revision=6625
This commit is contained in:
parent
d11f777888
commit
dc9903512d
@ -366,6 +366,7 @@ int auth_htpasswd_deleteuser(auth_t *auth, char *username)
|
||||
fclose(passwdfile);
|
||||
|
||||
/* Now move the contents of the tmp file to the original */
|
||||
#ifdef _WIN32
|
||||
/* Windows won't let us rename a file if the destination file
|
||||
exists...so, lets remove the original first */
|
||||
if (remove(state->filename) != 0) {
|
||||
@ -373,11 +374,14 @@ int auth_htpasswd_deleteuser(auth_t *auth, char *username)
|
||||
tmpfile, state->filename, strerror(errno));
|
||||
}
|
||||
else {
|
||||
#endif
|
||||
if (rename(tmpfile, state->filename) != 0) {
|
||||
ERROR3("Problem moving temp authentication file to original \"%s\" - \"%s\": %s",
|
||||
tmpfile, state->filename, strerror(errno));
|
||||
}
|
||||
#ifdef _WIN32
|
||||
}
|
||||
#endif
|
||||
|
||||
free(tmpfile);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user