Преглед изворни кода

libobs: Fix os_safe_replace not working linux

Make sure the target file exists before attempting to create a backup.
This will allow for the function to work correctly if the target does
not yet exist.
fryshorts пре 8 година
родитељ
комит
0527cb5c15
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      libobs/util/platform-nix.c

+ 1 - 1
libobs/util/platform-nix.c

@@ -434,7 +434,7 @@ int os_rename(const char *old_path, const char *new_path)
 
 int os_safe_replace(const char *target, const char *from, const char *backup)
 {
-	if (backup && rename(target, backup) != 0)
+	if (backup && os_file_exists(target) && rename(target, backup) != 0)
 		return -1;
 	return rename(from, target);
 }