1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

Add tdb_data_cmp

This commit is contained in:
Volker Lendecke 2009-07-13 17:03:52 +02:00
parent 3edcd55bf1
commit ed87594e5f
2 changed files with 21 additions and 0 deletions

View File

@ -59,4 +59,6 @@ struct tdb_wrap *tdb_wrap_open(TALLOC_CTX *mem_ctx,
NTSTATUS map_nt_error_from_tdb(enum TDB_ERROR err);
int tdb_data_cmp(TDB_DATA t1, TDB_DATA t2);
#endif /* __TDBUTIL_H__ */

View File

@ -630,3 +630,22 @@ NTSTATUS map_nt_error_from_tdb(enum TDB_ERROR err)
return NT_STATUS_INTERNAL_ERROR;
}
int tdb_data_cmp(TDB_DATA t1, TDB_DATA t2)
{
int ret;
if (t1.dptr == NULL && t2.dptr != NULL) {
return -1;
}
if (t1.dptr != NULL && t2.dptr == NULL) {
return 1;
}
if (t1.dptr == t2.dptr) {
return t1.dsize - t2.dsize;
}
ret = memcmp(t1.dptr, t2.dptr, MIN(t1.dsize, t2.dsize));
if (ret == 0) {
return t1.dsize - t2.dsize;
}
return ret;
}