Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-07-29 11:58:55 +0300
committerFelix Fietkau <nbd@nbd.name>2016-07-29 11:58:55 +0300
commit72613ca2c8f9b9905c6372c1b19ecbcd7cace007 (patch)
treee34fa4a5c6870ba0dc30dc2d1c5500d10a756e3a /avl-cmp.c
parentd3fa561e5abcc88e02eb289c24d0b1d4d05adb54 (diff)
avl: add blob comparator function
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'avl-cmp.c')
-rw-r--r--avl-cmp.c13
1 files changed, 13 insertions, 0 deletions
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 <string.h>
#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);
+}