From f2379159f8dbda5fba74fae3e72be1c67acc0054 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Fri, 3 Jul 2015 15:40:44 -0400 Subject: [PATCH] Added COUNTOF to misc.h to count elements in an array (fails on pointers). Moved CRYPTOPP_UNUSED to misc.h --- config.h | 2 -- misc.h | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/config.h b/config.h index d853b330..be719d84 100644 --- a/config.h +++ b/config.h @@ -94,8 +94,6 @@ typedef unsigned char byte; // put in global namespace to avoid ambiguity with other byte typedefs -#define CRYPTOPP_UNUSED(x) ((void)x) // cast to void. Portable way to suppress unused variable - NAMESPACE_BEGIN(CryptoPP) typedef unsigned short word16; diff --git a/misc.h b/misc.h index 5b778c7c..303c29c6 100644 --- a/misc.h +++ b/misc.h @@ -66,6 +66,18 @@ struct CompileAssert #define CRYPTOPP_ASSERT_JOIN(X, Y) CRYPTOPP_DO_ASSERT_JOIN(X, Y) #define CRYPTOPP_DO_ASSERT_JOIN(X, Y) X##Y +// ************** unused variable suppression *************** +// Cast to void. Portable way to suppress warning +#define CRYPTOPP_UNUSED(x) ((void)x) + +// ************** counting elements in an array *************** +// VS2005 added _countof macro, fails on pointers +#if defined(_MSC_VER) && (_MSC_VER >= 1400) +# define COUNTOF(x) _countof(x) +#else +# define COUNTOF(x) (sizeof(x)/sizeof(x[0])) +#endif + // ************** misc classes *************** class CRYPTOPP_DLL Empty