Browse Source

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 years ago
parent
commit
0527cb5c15
1 changed files with 1 additions and 1 deletions
  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)
 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 -1;
 	return rename(from, target);
 	return rename(from, target);
 }
 }