diff options
author | June McEnroe <june@causal.agency> | 2020-04-27 11:20:46 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-04-27 11:20:46 -0400 |
commit | 5087d9b746c7dab3ac738a4d1558f60829255f58 (patch) | |
tree | 974914f8a4aefd70af8b55eb943c048421f41967 | |
parent | Free order (diff) | |
download | bubger-5087d9b746c7dab3ac738a4d1558f60829255f58.tar.gz bubger-5087d9b746c7dab3ac738a4d1558f60829255f58.zip |
Clean up decode.c
-rw-r--r-- | decode.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/decode.c b/decode.c index 2604f73..8578c41 100644 --- a/decode.c +++ b/decode.c @@ -90,11 +90,6 @@ static const char Base64[64] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" }; -static uint8_t unbase64(char ch) { - const char *ptr = strchr(Base64, ch); - return (ptr ? ptr - Base64 : 0); -} - static void decodeBase64(struct Buffer *dst, const char *src) { while (src[0] && src[1] && src[2] && src[3]) { if (!strchr(Base64, src[0])) { @@ -104,7 +99,7 @@ static void decodeBase64(struct Buffer *dst, const char *src) { uint32_t bits = 0; for (int i = 0; i < 4; ++i) { bits <<= 6; - bits |= unbase64(src[i]); + bits |= strchr(Base64, src[i]) - Base64; } *bufferDest(dst, 1) = bits >> 16; if (src[2] != '=') *bufferDest(dst, 1) = bits >> 8; @@ -116,8 +111,7 @@ static void decodeBase64(struct Buffer *dst, const char *src) { static char unhex(char ch) { if (ch <= '9') return ch - '0'; if (ch <= 'F') return 0xA + ch - 'A'; - if (ch <= 'f') return 0xA + ch - 'a'; - return 0; + return 0xA + ch - 'a'; } static void decodeQ(struct Buffer *dst, const char *src) { |