Forráskód Böngészése

simplify comparators using B_COMPARE

ambrop7 13 éve
szülő
commit
2d34d4cec2

+ 2 - 7
client/PasswordListener.c

@@ -36,6 +36,7 @@
 #include <misc/offset.h>
 #include <misc/byteorder.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <base/BLog.h>
 #include <security/BRandom.h>
 #include <nspr_support/DummyPRFileDesc.h>
@@ -53,13 +54,7 @@ static void client_receiver_handler (struct PasswordListenerClient *client);
 
 int password_comparator (void *user, uint64_t *p1, uint64_t *p2)
 {
-    if (*p1 < *p2) {
-        return -1;
-    }
-    if (*p1 > *p2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*p1, *p2);
 }
 
 void remove_client (struct PasswordListenerClient *client)

+ 2 - 7
examples/bavl_test.c

@@ -32,6 +32,7 @@
 #include <misc/offset.h>
 #include <misc/debug.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <structure/BAVL.h>
 #include <security/BRandom.h>
 
@@ -43,13 +44,7 @@ struct mynode {
 
 static int int_comparator (void *user, int *val1, int *val2)
 {
-    if (*val1 < *val2) {
-        return -1;
-    }
-    if (*val1 > *val2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*val1, *val2);
 }
 
 static void print_indent (int indent)

+ 2 - 7
examples/bheap_test.c

@@ -29,6 +29,7 @@
 
 #include <misc/offset.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <structure/BHeap.h>
 #include <security/BRandom.h>
 
@@ -40,13 +41,7 @@ struct mynode {
 
 static int int_comparator (void *user, int *val1, int *val2)
 {
-    if (*val1 < *val2) {
-        return -1;
-    }
-    if (*val1 > *val2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*val1, *val2);
 }
 
 static void print_indent (int indent)

+ 2 - 7
flow/PacketPassFairQueue.c

@@ -32,18 +32,13 @@
 #include <misc/debug.h>
 #include <misc/offset.h>
 #include <misc/minmax.h>
+#include <misc/compare.h>
 
 #include <flow/PacketPassFairQueue.h>
 
 static int time_comparator (void *user, uint64_t *time1, uint64_t *time2)
 {
-    if (*time1 < *time2) {
-        return -1;
-    }
-    if (*time1 > *time2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*time1, *time2);
 }
 
 static uint64_t get_current_time (PacketPassFairQueue *m)

+ 2 - 7
flow/PacketPassPriorityQueue.c

@@ -31,18 +31,13 @@
 
 #include <misc/debug.h>
 #include <misc/offset.h>
+#include <misc/compare.h>
 
 #include <flow/PacketPassPriorityQueue.h>
 
 static int int_comparator (void *user, int *prio1, int *prio2)
 {
-    if (*prio1 < *prio2) {
-        return -1;
-    }
-    if (*prio1 > *prio2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*prio1, *prio2);
 }
 
 static void schedule (PacketPassPriorityQueue *m)

+ 2 - 1
ncd/NCDModuleIndex.c

@@ -33,6 +33,7 @@
 #include <misc/offset.h>
 #include <misc/balloc.h>
 #include <misc/hashfun.h>
+#include <misc/compare.h>
 #include <base/BLog.h>
 
 #include "NCDModuleIndex.h"
@@ -45,7 +46,7 @@
 static int string_pointer_comparator (void *user, const char **s1, const char **s2)
 {
     int cmp = strcmp(*s1, *s2);
-    return (cmp > 0) - (cmp < 0);
+    return B_COMPARE(cmp, 0);
 }
 
 static struct NCDModuleIndex_module * find_module (NCDModuleIndex *o, const char *type)

+ 2 - 1
ncd/NCDRequestClient.c

@@ -36,6 +36,7 @@
 #include <misc/byteorder.h>
 #include <misc/expstring.h>
 #include <misc/offset.h>
+#include <misc/compare.h>
 #include <protocol/packetproto.h>
 #include <protocol/requestproto.h>
 #include <base/BLog.h>
@@ -81,7 +82,7 @@ static int uint32_comparator (void *unused, void *vv1, void *vv2)
 {
     uint32_t *v1 = vv1;
     uint32_t *v2 = vv2;
-    return (*v1 > *v2) - (*v1 < *v2);
+    return B_COMPARE(*v1, *v2);
 }
 
 static void report_error (NCDRequestClient *o)

+ 2 - 7
ncd/modules/dynamic_depend.c

@@ -39,6 +39,7 @@
 
 #include <misc/offset.h>
 #include <misc/debug.h>
+#include <misc/compare.h>
 #include <structure/LinkedList0.h>
 #include <structure/BAVL.h>
 #include <ncd/NCDModule.h>
@@ -82,13 +83,7 @@ static void depend_free (struct depend *o);
 static int stringptr_comparator (void *user, char **v1, char **v2)
 {
     int cmp = strcmp(*v1, *v2);
-    if (cmp < 0) {
-        return -1;
-    }
-    if (cmp > 0) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(cmp, 0);
 }
 
 static int val_comparator (void *user, NCDValRef *v1, NCDValRef *v2)

+ 2 - 8
ncd/modules/net_dns.c

@@ -39,6 +39,7 @@
 #include <misc/offset.h>
 #include <misc/bsort.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <structure/LinkedList2.h>
 #include <ncd/NCDModule.h>
 #include <ncd/NCDIfConfig.h>
@@ -125,14 +126,7 @@ static int dns_sort_comparator (const void *v1, const void *v2)
 {
     const struct dns_sort_entry *e1 = v1;
     const struct dns_sort_entry *e2 = v2;
-    
-    if (e1->priority < e2->priority) {
-        return -1;
-    }
-    if (e1->priority > e2->priority) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(e1->priority, e2->priority);
 }
 
 static int set_servers (void)

+ 2 - 7
predicate/BPredicate.c

@@ -34,6 +34,7 @@
 #include <misc/debug.h>
 #include <misc/offset.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <predicate/BPredicate_internal.h>
 #include <predicate/BPredicate_parser.h>
 #include <predicate/LexMemoryBufferInput.h>
@@ -52,13 +53,7 @@ void yyerror (YYLTYPE *yylloc, yyscan_t scanner, struct predicate_node **result,
 static int string_comparator (void *user, char *s1, char *s2)
 {
     int cmp = strcmp(s1, s2);
-    if (cmp < 0) {
-        return -1;
-    }
-    if (cmp > 0) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(cmp, 0);
 }
 
 static int eval_function (BPredicate *p, struct predicate_node *root)

+ 2 - 7
server/server.c

@@ -53,6 +53,7 @@
 #include <misc/loglevel.h>
 #include <misc/loggers_string.h>
 #include <misc/open_standard_streams.h>
+#include <misc/compare.h>
 #include <predicate/BPredicate.h>
 #include <base/DebugObject.h>
 #include <base/BLog.h>
@@ -2126,13 +2127,7 @@ int relay_predicate_func_raddr_cb (void *user, void **args)
 
 int peerid_comparator (void *unused, peerid_t *p1, peerid_t *p2)
 {
-    if (*p1 < *p2) {
-        return -1;
-    }
-    if (*p1 > *p2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*p1, *p2);
 }
 
 struct peer_know * create_know (struct client_data *from, struct client_data *to, int relay_server, int relay_client)

+ 2 - 7
stringmap/BStringMap.c

@@ -31,19 +31,14 @@
 #include <string.h>
 
 #include <misc/offset.h>
+#include <misc/compare.h>
 
 #include <stringmap/BStringMap.h>
 
 static int string_comparator (void *unused, char **str1, char **str2)
 {
     int c = strcmp(*str1, *str2);
-    if (c < 0) {
-        return -1;
-    }
-    if (c > 0) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(c, 0);
 }
 
 static void free_entry (BStringMap *o, struct BStringMap_entry *e)

+ 2 - 7
udevmonitor/NCDUdevCache.c

@@ -33,6 +33,7 @@
 #include <misc/offset.h>
 #include <misc/string_begins_with.h>
 #include <misc/concat_strings.h>
+#include <misc/compare.h>
 #include <base/BLog.h>
 
 #include <udevmonitor/NCDUdevCache.h>
@@ -42,13 +43,7 @@
 static int string_comparator (void *unused, const char **str1, const char **str2)
 {
     int c = strcmp(*str1, *str2);
-    if (c < 0) {
-        return -1;
-    }
-    if (c > 0) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(c, 0);
 }
 
 static void free_device (NCDUdevCache *o, struct NCDUdevCache_device *device)

+ 2 - 7
udpgw/udpgw.c

@@ -43,6 +43,7 @@
 #include <misc/bsize.h>
 #include <misc/open_standard_streams.h>
 #include <misc/balloc.h>
+#include <misc/compare.h>
 #include <structure/LinkedList1.h>
 #include <structure/BAVL.h>
 #include <base/BLog.h>
@@ -1290,11 +1291,5 @@ struct connection * find_connection (struct client *client, uint16_t conid)
 
 int uint16_comparator (void *unused, uint16_t *v1, uint16_t *v2)
 {
-    if (*v1 < *v2) {
-        return -1;
-    }
-    if (*v1 > *v2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*v1, *v2);
 }

+ 7 - 19
udpgw_client/UdpGwClient.c

@@ -32,6 +32,7 @@
 
 #include <misc/offset.h>
 #include <misc/byteorder.h>
+#include <misc/compare.h>
 #include <base/BLog.h>
 
 #include <udpgw_client/UdpGwClient.h>
@@ -57,13 +58,7 @@ static struct UdpGwClient_connection * reuse_connection (UdpGwClient *o, struct
 
 static int uint16_comparator (void *unused, uint16_t *v1, uint16_t *v2)
 {
-    if (*v1 < *v2) {
-        return -1;
-    }
-    if (*v1 > *v2) {
-        return 1;
-    }
-    return 0;
+    return B_COMPARE(*v1, *v2);
 }
 
 static int compare_addresses (BAddr v1, BAddr v2)
@@ -71,19 +66,12 @@ static int compare_addresses (BAddr v1, BAddr v2)
     ASSERT(v1.type == BADDR_TYPE_IPV4)
     ASSERT(v2.type == BADDR_TYPE_IPV4)
     
-    if (v1.ipv4.port < v2.ipv4.port) {
-        return -1;
-    }
-    if (v1.ipv4.port > v2.ipv4.port) {
-        return 1;
+    int cmp = B_COMPARE(v1.ipv4.port, v2.ipv4.port);
+    if (cmp) {
+        return cmp;
     }
-    if (v1.ipv4.ip < v2.ipv4.ip) {
-        return -1;
-    }
-    if (v1.ipv4.ip > v2.ipv4.ip) {
-        return 1;
-    }
-    return 0;
+    
+    return B_COMPARE(v1.ipv4.ip, v2.ipv4.ip);
 }
 
 static int conaddr_comparator (void *unused, struct UdpGwClient_conaddr *v1, struct UdpGwClient_conaddr *v2)