From 00f637fdc6e017cfd6969ad81d11b35c0e98ab39 Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Tue, 13 Aug 2019 18:34:20 -0400 Subject: [PATCH] bt_uuid_compare: return actual comparison Previous implementation resulted in non-equal uuid_a being flagged as smaller than uuid_b even when it was actually bigger. Signed-off-by: Jonathan Rajotte Change-Id: I00dfe935f21514d78bd586bb52729c5e147c8a36 Reviewed-on: https://review.lttng.org/c/babeltrace/+/1912 CI-Build: Philippe Proulx Tested-by: jenkins Reviewed-by: Philippe Proulx --- src/common/uuid.c | 8 +------- tests/lib/test_bt_uuid.c | 5 ++++- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/common/uuid.c b/src/common/uuid.c index f6d895a8..7f817d01 100644 --- a/src/common/uuid.c +++ b/src/common/uuid.c @@ -103,13 +103,7 @@ end: BT_HIDDEN int bt_uuid_compare(const bt_uuid_t uuid_a, const bt_uuid_t uuid_b) { - int ret = 0; - - if (memcmp(uuid_a, uuid_b, BT_UUID_LEN) != 0) { - ret = -1; - } - - return ret; + return memcmp(uuid_a, uuid_b, BT_UUID_LEN); } BT_HIDDEN diff --git a/tests/lib/test_bt_uuid.c b/tests/lib/test_bt_uuid.c index 3aef05ed..27c870d6 100644 --- a/tests/lib/test_bt_uuid.c +++ b/tests/lib/test_bt_uuid.c @@ -24,7 +24,7 @@ #include "common/uuid.h" -#define NR_TESTS 21 +#define NR_TESTS 23 static const char valid_str_1[] = "3d260c88-75ea-47b8-a7e2-d6077c0378d9"; static const char valid_str_2[] = "611cf3a6-a68b-4515-834f-208bc2762592"; @@ -127,6 +127,9 @@ void run_test_bt_uuid_compare(void) bt_uuid_from_str(valid_str_2, uuid2); ret = bt_uuid_compare(uuid1, uuid2); ok(ret != 0, "bt_uuid_compare - Compare different UUID, expect failure"); + ok(ret < 0, "bt_uuid_compare - Compare different UUID, expect uuid1 smaller"); + ret = bt_uuid_compare(uuid2, uuid1); + ok(ret > 0, "bt_uuid_compare - Compare different UUID, expect uuid2 bigger"); } static -- 2.34.1