static void test_compare(TestBatchRunner *runner) { ByteBuf *a = BB_new_bytes("foo\0a", 5); ByteBuf *b = BB_new_bytes("foo\0b", 5); BB_Set_Size(a, 4); BB_Set_Size(b, 4); TEST_INT_EQ(runner, BB_compare(&a, &b), 0, "BB_compare returns 0 for equal ByteBufs"); BB_Set_Size(a, 3); TEST_TRUE(runner, BB_compare(&a, &b) < 0, "shorter ByteBuf sorts first"); BB_Set_Size(a, 5); BB_Set_Size(b, 5); TEST_TRUE(runner, BB_compare(&a, &b) < 0, "NULL doesn't interfere with BB_compare"); DECREF(a); DECREF(b); }
int BBSortEx_compare_bbs(void *context, const void *va, const void *vb) { UNUSED_VAR(context); return BB_compare(va, vb); }
int BBSortEx_compare(BBSortEx *self, void *va, void *vb) { UNUSED_VAR(self); return BB_compare((ByteBuf**)va, (ByteBuf**)vb); }