Exemple #1
0
static void
test_gba_cmp(void)
{
	GByteArray *a = g_byte_array_new();
	GByteArray *b = g_byte_array_new();

	guint v = 0;
	for (register guint i=0; i<COUNT ;++i) {
		_dummy_gba(a, v++, 4);
		_dummy_gba(b, v++, 4);
		g_assert(0 != metautils_gba_cmp(a, b));
	}
	for (register guint i=0; i<COUNT ;++i) {
		_dummy_gba(a, v++, 4);
		_dummy_gba(b, v++, 5);
		g_assert(0 != metautils_gba_cmp(a, b));
	}
	for (register guint i=0; i<COUNT ;++i) {
		_dummy_gba(a, v, 4);
		_dummy_gba(b, v, 5);
		v++;
		g_assert(0 != metautils_gba_cmp(a, b));
	}
	for (register guint i=0; i<COUNT ;++i) {
		_dummy_gba(a, v, 4);
		_dummy_gba(b, v, 4);
		v++;
		g_assert(0 == metautils_gba_cmp(a, b));
	}
	for (register guint i=0; i<COUNT ;++i) {
		_dummy_gba(a, v, 4);
		v++;
		g_assert(0 == metautils_gba_cmp(a, a));
	}

	g_byte_array_free(a, TRUE);
	g_byte_array_free(b, TRUE);
}
/**
 * Compare two chunk hashes.
 *
 * @return TRUE if both hashes are equal, FALSE otherwise
 */
gboolean
hash_equals(gconstpointer a, gconstpointer b)
{
	int res = metautils_gba_cmp((GByteArray *)a, (GByteArray *)b);
	return (res == 0);
}