Wed, 27 Feb 2013 10:09:23 +0100
comparator module
universe@89 | 1 | #include "comparator.h" |
universe@89 | 2 | |
universe@89 | 3 | int ucx_strcmp(void *s1, void *s2, void *data) { |
universe@89 | 4 | return strcmp((char*)s1, (char*)s2); |
universe@89 | 5 | } |
universe@89 | 6 | |
universe@89 | 7 | int ucx_strncmp(void *s1, void *s2, void *n) { |
universe@89 | 8 | return strncmp((char*)s1, (char*)s2, *((size_t*) n)); |
universe@89 | 9 | } |
universe@89 | 10 | |
universe@89 | 11 | int ucx_intcmp(void *i1, void *i2, void *data) { |
universe@89 | 12 | int a = *((int*) i1); |
universe@89 | 13 | int b = *((int*) i2); |
universe@89 | 14 | if (a == b) { |
universe@89 | 15 | return 0; |
universe@89 | 16 | } else { |
universe@89 | 17 | return a < b ? -1 : 1; |
universe@89 | 18 | } |
universe@89 | 19 | } |
universe@89 | 20 | |
universe@89 | 21 | int ucx_ptrcmp(void *ptr1, void *ptr2, void *data) { |
universe@89 | 22 | if (ptr1 == ptr2) { |
universe@89 | 23 | return 0; |
universe@89 | 24 | } else { |
universe@89 | 25 | return ptr1 < ptr2 ? -1 : 1; |
universe@89 | 26 | } |
universe@89 | 27 | } |