Only run the merge tool on files with differences

If the backup file and the data file are equal, there is no need to run
the merge tool.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2014-07-17 11:47:00 +02:00
parent 7920e761c9
commit ae7d2d4c6b
3 changed files with 41 additions and 6 deletions

View File

@@ -1332,6 +1332,32 @@ int io_file_is_empty(char *file)
return -1;
}
/*
* Check whether two files are equal.
*/
int io_files_equal(const char *file1, const char *file2)
{
FILE *fp1, *fp2;
int ret = 0;
if (!file1 || !file2)
return 0;
fp1 = fopen(file1, "rb");
fp2 = fopen(file2, "rb");
while (!feof(fp1) && !feof(fp2)) {
if (fgetc(fp1) != fgetc(fp2))
goto cleanup;
}
ret = 1;
cleanup:
fclose(fp1);
fclose(fp2);
return ret;
}
/*
* Copy an existing file to a new location.
*/