#include <stdlib.h>
typedef int(*CompareFuncT)(void *, void *);
struct SortedList
{
CompareFuncT comp;
};
typedef struct SortedList * SortedListPtr;
SortedListPtr SLCreate(CompareFuncT cf){
SortedListPtr slp
= malloc(sizeof(struct SortedList
));
slp->comp = cf;
return slp;
}
int compareInts(void *p1, void *p2)
{
int i1 = *(int*)p1;
int i2 = *(int*)p2;
return i1 - i2;
}
int main(){
SLCreate(compareInts);
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgp0eXBlZGVmIGludCgqQ29tcGFyZUZ1bmNUKSh2b2lkICosIHZvaWQgKik7CgpzdHJ1Y3QgU29ydGVkTGlzdAp7CiAgICBDb21wYXJlRnVuY1QgY29tcDsKfTsKdHlwZWRlZiBzdHJ1Y3QgU29ydGVkTGlzdCAqIFNvcnRlZExpc3RQdHI7CgpTb3J0ZWRMaXN0UHRyIFNMQ3JlYXRlKENvbXBhcmVGdW5jVCBjZil7CglTb3J0ZWRMaXN0UHRyIHNscCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IFNvcnRlZExpc3QpKTsKCglzbHAtPmNvbXAgPSBjZjsKCXJldHVybiBzbHA7Cn0KCmludCBjb21wYXJlSW50cyh2b2lkICpwMSwgdm9pZCAqcDIpCnsKCWludCBpMSA9ICooaW50KilwMTsKCWludCBpMiA9ICooaW50KilwMjsKCglyZXR1cm4gaTEgLSBpMjsKfQoKaW50IG1haW4oKXsKCVNMQ3JlYXRlKGNvbXBhcmVJbnRzKTsKfQ==