-#ifdef HAVE_MINGW
- // We cannot atomically replace files on Windows.
- char bakname[PATH_MAX];
- snprintf(bakname, PATH_MAX, "%s.bak", filename);
- if(rename(tmpname, bakfile) || rename(bakfile, filename)) {
- rename(bakfile, filename);
-#else
- if(rename(tmpname, filename)) {
-#endif
- logger(mesh, MESHLINK_ERROR, "Failed to update `%s': %s", filename, strerror(errno));
- return false;