From 08f9ab81d4c476bdca6e23aba00f615eb811d929 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 04:10:58 +0200 Subject: Merging upstream version 2:9.1.0374. Signed-off-by: Daniel Baumann --- src/misc2.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'src/misc2.c') diff --git a/src/misc2.c b/src/misc2.c index 6df0d39..c07ed80 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -3069,3 +3069,45 @@ get_special_pty_type(void) return 0; #endif } + +// compare two keyvalue_T structs by case sensitive value + int +cmp_keyvalue_value(const void *a, const void *b) +{ + keyvalue_T *kv1 = (keyvalue_T *)a; + keyvalue_T *kv2 = (keyvalue_T *)b; + + return STRCMP(kv1->value, kv2->value); +} + +// compare two keyvalue_T structs by value with length + int +cmp_keyvalue_value_n(const void *a, const void *b) +{ + keyvalue_T *kv1 = (keyvalue_T *)a; + keyvalue_T *kv2 = (keyvalue_T *)b; + + return STRNCMP(kv1->value, kv2->value, MAX(kv1->length, kv2->length)); +} + +// compare two keyvalue_T structs by case insensitive value + int +cmp_keyvalue_value_i(const void *a, const void *b) +{ + keyvalue_T *kv1 = (keyvalue_T *)a; + keyvalue_T *kv2 = (keyvalue_T *)b; + + return STRICMP(kv1->value, kv2->value); +} + +// compare two keyvalue_T structs by case insensitive value +// with length + int +cmp_keyvalue_value_ni(const void *a, const void *b) +{ + keyvalue_T *kv1 = (keyvalue_T *)a; + keyvalue_T *kv2 = (keyvalue_T *)b; + + return STRNICMP(kv1->value, kv2->value, MAX(kv1->length, kv2->length)); +} + -- cgit v1.2.3