From c7713f19de344e89ae0fdeb547f1ff749b106255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Wed, 31 Aug 2022 10:20:33 +0200 Subject: [PATCH] src: remove base64_select_table and base64_table node::base64_encode() uses ::base64_encode() when the mode is Base64Mode::NORMAL, so base64_select_table is only ever called for Base64Mode::URL and thus only ever returns base64_table_url, but never base64_table. Also move base64_table_url into base64-inl.h. PR-URL: https://github.com/nodejs/node/pull/44425 Reviewed-By: James M Snell Reviewed-By: Minwoo Jung --- src/base64-inl.h | 6 +++++- src/base64.h | 16 ---------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/base64-inl.h b/src/base64-inl.h index 5546951df9b464..6c9280d1ff1c75 100644 --- a/src/base64-inl.h +++ b/src/base64-inl.h @@ -9,6 +9,10 @@ namespace node { +static constexpr char base64_table_url[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789-_"; + extern const int8_t unbase64_table[256]; @@ -144,7 +148,7 @@ inline size_t base64_encode(const char* src, unsigned k; unsigned n; - const char* table = base64_select_table(mode); + const char* table = base64_table_url; i = 0; k = 0; diff --git a/src/base64.h b/src/base64.h index 0db096810cd4a8..d93291f101bb94 100644 --- a/src/base64.h +++ b/src/base64.h @@ -17,22 +17,6 @@ enum class Base64Mode { URL }; -static constexpr char base64_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789+/"; - -static constexpr char base64_table_url[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789-_"; - -static inline const char* base64_select_table(Base64Mode mode) { - switch (mode) { - case Base64Mode::NORMAL: return base64_table; - case Base64Mode::URL: return base64_table_url; - default: UNREACHABLE(); - } -} - static inline constexpr size_t base64_encoded_size( size_t size, Base64Mode mode = Base64Mode::NORMAL) {