#endif
}
-/* Returns 0 on success, -1 on most errors, and -2 if we got an error
- * trying to copy the file across file systems. */
+/* Returns 0 on successful rename, 1 if we successfully copied the file
+ * across filesystems, -2 if copy_file() failed, and -1 on other errors. */
int robust_rename(char *from, char *to, int mode)
{
int tries = 4;
if (copy_file(from, to, mode) != 0)
return -2;
do_unlink(from);
- return 0;
+ return 1;
default:
return -1;
}