]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: guid - centralise a 'reset to the empty value' helper function
authorPhil Carmody <phil@dovecot.fi>
Mon, 5 Jan 2015 20:16:59 +0000 (22:16 +0200)
committerPhil Carmody <phil@dovecot.fi>
Mon, 5 Jan 2015 20:16:59 +0000 (22:16 +0200)
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 <phil@dovecot.fi>
src/lib/guid.h
src/lib/test-guid.c

index 6f0f6efc71c0dff7388a6cddd885ab36c85bf036..b4bad58c7f3a5c03a57d940d5ad8a847f8be8196 100644 (file)
@@ -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 */
index 5657d6c6b290d15bb63f93e02c3206ac7da77a9a..a8809c0db9394bbf972e6f454b9f692ac1a6eeb8 100644 (file)
@@ -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()");