From d90c5be0a41485876294666e28b1a0c068d50526 Mon Sep 17 00:00:00 2001 From: Lukasz Pawelczyk Date: Wed, 22 Jun 2016 16:17:43 +0200 Subject: [PATCH] YACA: keytype2str helper function Make it more generic with ENUM_DESCRIBE Change-Id: I27ecd5832c1fc2d43dd82bf4399262d9745947f9 --- src/yaca/yaca-test-common.cpp | 30 ++++++++++++++++++++++-------- src/yaca/yaca-test-common.h | 2 ++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/yaca/yaca-test-common.cpp b/src/yaca/yaca-test-common.cpp index 2699c11..e5ba8e3 100644 --- a/src/yaca/yaca-test-common.cpp +++ b/src/yaca/yaca-test-common.cpp @@ -205,20 +205,34 @@ Buffer random_buffer(size_t length) return buffer; } -#define DIGEST_DESCRIBE(algo) case (algo): return #algo; +#define ENUM_DESCRIBE(enum_value) case (enum_value): return #enum_value; +const char* keytype2str(yaca_key_type_e key_type) +{ + switch (key_type) { + ENUM_DESCRIBE(YACA_KEY_TYPE_SYMMETRIC); + ENUM_DESCRIBE(YACA_KEY_TYPE_DES); + ENUM_DESCRIBE(YACA_KEY_TYPE_IV); + ENUM_DESCRIBE(YACA_KEY_TYPE_RSA_PRIV); + ENUM_DESCRIBE(YACA_KEY_TYPE_RSA_PUB); + ENUM_DESCRIBE(YACA_KEY_TYPE_DSA_PRIV); + ENUM_DESCRIBE(YACA_KEY_TYPE_DSA_PUB); + default: return "Unknown key type"; + } +} + const char* digest2str(yaca_digest_algorithm_e algo) { switch (algo) { - DIGEST_DESCRIBE(YACA_DIGEST_MD5); - DIGEST_DESCRIBE(YACA_DIGEST_SHA1); - DIGEST_DESCRIBE(YACA_DIGEST_SHA224); - DIGEST_DESCRIBE(YACA_DIGEST_SHA256); - DIGEST_DESCRIBE(YACA_DIGEST_SHA384); - DIGEST_DESCRIBE(YACA_DIGEST_SHA512); + ENUM_DESCRIBE(YACA_DIGEST_MD5); + ENUM_DESCRIBE(YACA_DIGEST_SHA1); + ENUM_DESCRIBE(YACA_DIGEST_SHA224); + ENUM_DESCRIBE(YACA_DIGEST_SHA256); + ENUM_DESCRIBE(YACA_DIGEST_SHA384); + ENUM_DESCRIBE(YACA_DIGEST_SHA512); default: return "Unknown digest algorithm"; } } -#undef DIGEST_DESCRIBE +#undef ENUM_DESCRIBE std::string truncate_str(const std::string& input, size_t len) { diff --git a/src/yaca/yaca-test-common.h b/src/yaca/yaca-test-common.h index 2815f8e..c4327ad 100644 --- a/src/yaca/yaca-test-common.h +++ b/src/yaca/yaca-test-common.h @@ -156,6 +156,8 @@ CtxPtr digest_init(yaca_digest_algorithm_e algo); Buffer random_buffer(size_t length); +const char* keytype2str(yaca_key_type_e algo); + const char* digest2str(yaca_digest_algorithm_e algo); /* If input is longer than len it is truncated and an ellipsis is appended. -- 2.7.4