mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
util: added file_compare() utility function
file_compare() returns true if two files are the same. It is meant for small files. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
d6fb64c512
commit
ae95d611b6
@ -601,6 +601,11 @@ _PUBLIC_ int vfdprintf(int fd, const char *format, va_list ap) PRINTF_ATTRIBUTE(
|
||||
_PUBLIC_ int fdprintf(int fd, const char *format, ...) PRINTF_ATTRIBUTE(2,3);
|
||||
_PUBLIC_ bool large_file_support(const char *path);
|
||||
|
||||
/*
|
||||
compare two files, return true if the two files have the same content
|
||||
*/
|
||||
bool file_compare(const char *path1, const char *path2);
|
||||
|
||||
/* The following definitions come from lib/util/util.c */
|
||||
|
||||
|
||||
|
@ -435,3 +435,25 @@ _PUBLIC_ bool large_file_support(const char *path)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
compare two files, return true if the two files have the same content
|
||||
*/
|
||||
bool file_compare(const char *path1, const char *path2)
|
||||
{
|
||||
size_t size1, size2;
|
||||
char *p1, *p2;
|
||||
TALLOC_CTX *mem_ctx = talloc_new(NULL);
|
||||
|
||||
p1 = file_load(path1, &size1, 0, mem_ctx);
|
||||
p2 = file_load(path2, &size2, 0, mem_ctx);
|
||||
if (!p1 || !p2 || size1 != size2) {
|
||||
talloc_free(mem_ctx);
|
||||
return false;
|
||||
}
|
||||
if (memcmp(p1, p2, size1) != 0) {
|
||||
talloc_free(mem_ctx);
|
||||
return false;
|
||||
}
|
||||
talloc_free(mem_ctx);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user