X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=avl-cmp.c;h=39c1f5b081f38d5d047f6dfec488b722b31a5858;hp=2d0acecd9d1b3a72bd63b7a71eb0309340a8d98e;hb=6a7fb7d8df308d18167051447fa489de389588df;hpb=08a4bf2a299de28b46f59fc3fa2661e5632c2967 diff --git a/avl-cmp.c b/avl-cmp.c index 2d0acec..39c1f5b 100644 --- a/avl-cmp.c +++ b/avl-cmp.c @@ -15,6 +15,12 @@ */ #include #include "avl-cmp.h" +#include "blob.h" + +static inline int _min(int v1, int v2) +{ + return v1 < v2 ? v1 : v2; +} int avl_strcmp(const void *k1, const void *k2, void *ptr) @@ -22,3 +28,10 @@ avl_strcmp(const void *k1, const void *k2, void *ptr) return strcmp(k1, k2); } +int +avl_blobcmp(const void *k1, const void *k2, void *ptr) +{ + int len = _min(blob_raw_len(k1), blob_raw_len(k2)); + + return memcmp(k1, k2, len); +}