From e7bf838b1ed77dccea8e9fd775e73c3d00654790 Mon Sep 17 00:00:00 2001 From: Gino Notto Date: Fri, 12 Oct 2018 11:34:32 -0700 Subject: [PATCH] src: change macro to fn Change base64_encoded_size and unbase64 to inline functions. The base64_encoded_size is a constexpr to be used in function declarations. PR-URL: https://github.com/nodejs/node/pull/23603 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Gireesh Punathil Reviewed-By: Sakthipriyan Vairamani --- src/base64.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/base64.h b/src/base64.h index a19d11f71c65f5..aedec375eba550 100644 --- a/src/base64.h +++ b/src/base64.h @@ -10,8 +10,9 @@ namespace node { //// Base 64 //// -#define base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4) - +static inline constexpr size_t base64_encoded_size(size_t size) { + return ((size + 2 - ((size + 2) % 3)) / 3 * 4); +} // Doesn't check for padding at the end. Can be 1-2 bytes over. static inline size_t base64_decoded_size_fast(size_t size) { @@ -48,8 +49,9 @@ size_t base64_decoded_size(const TypeName* src, size_t size) { extern const int8_t unbase64_table[256]; -#define unbase64(x) \ - static_cast(unbase64_table[static_cast(x)]) +inline static int8_t unbase64(uint8_t x) { + return unbase64_table[x]; +} template