From: Phil Carmody Date: Mon, 5 Jan 2015 20:16:59 +0000 (+0200) Subject: lib: guid - centralise a 'reset to the empty value' helper function X-Git-Tag: 2.2.16.rc1~170 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=33750ba29b605a925af5aed58d3f3735422b1e25;p=thirdparty%2Fdovecot%2Fcore.git lib: guid - centralise a 'reset to the empty value' helper function This helper just ensures that the caller never has to get the sizeof() right. (Were a guid passed as a function parameter, mistakes could happen.) Signed-off-by: Phil Carmody --- diff --git a/src/lib/guid.h b/src/lib/guid.h index 6f0f6efc71..b4bad58c7f 100644 --- a/src/lib/guid.h +++ b/src/lib/guid.h @@ -12,6 +12,10 @@ const char *guid_generate(void); void guid_128_generate(guid_128_t guid_r); /* Returns TRUE if GUID is empty (not set / unknown). */ bool guid_128_is_empty(const guid_128_t guid) ATTR_PURE; +static inline void guid_128_empty(guid_128_t guid) +{ + memset(guid, 0, GUID_128_SIZE); +} /* Returns TRUE if two GUIDs are equal. */ bool guid_128_equals(const guid_128_t guid1, const guid_128_t guid2) ATTR_PURE; /* Copy GUID */ diff --git a/src/lib/test-guid.c b/src/lib/test-guid.c index 5657d6c6b2..a8809c0db9 100644 --- a/src/lib/test-guid.c +++ b/src/lib/test-guid.c @@ -10,13 +10,11 @@ void test_guid(void) 0xab, 0xcd, 0xef, 0xAB, 0xCD, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00 }; - guid_128_t guid1, guid2, guid3, empty_guid; + guid_128_t guid1, guid2, guid3; const char *str; char guidbuf[GUID_128_SIZE*2 + 2]; unsigned int i; - memset(empty_guid, 0, sizeof(empty_guid)); - test_begin("guid_128_generate()"); guid_128_generate(guid1); guid_128_generate(guid2); @@ -27,7 +25,9 @@ void test_guid(void) test_begin("guid_128_is_empty()"); test_assert(!guid_128_is_empty(guid1)); test_assert(!guid_128_is_empty(guid2)); - test_assert(guid_128_is_empty(empty_guid)); + guid_128_generate(guid3); + guid_128_empty(guid3); + test_assert(guid_128_is_empty(guid3)); test_end(); test_begin("guid_128_copy()");