diff options
author | Riccardo Spagni <ric@spagni.net> | 2018-11-14 21:29:58 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2018-11-14 21:29:58 +0200 |
commit | 9f4ae98d29c6ae3248c49819468a933cce0b0d0d (patch) | |
tree | 603e95104c8fcb5a065197edd4856fc6e6c4dfc2 | |
parent | Merge pull request #4814 (diff) | |
parent | common: fix base58 gcc -Werror=implicit-fallthrough (diff) | |
download | monero-9f4ae98d29c6ae3248c49819468a933cce0b0d0d.tar.xz |
Merge pull request #4844
d01bdaca common: fix base58 gcc -Werror=implicit-fallthrough (xiphon)
-rw-r--r-- | src/common/base58.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/common/base58.cpp b/src/common/base58.cpp index 75556cad9..b28a04f20 100644 --- a/src/common/base58.cpp +++ b/src/common/base58.cpp @@ -109,20 +109,8 @@ namespace tools assert(1 <= size && size <= sizeof(uint64_t)); uint64_t res = 0; - switch (9 - size) - { - case 1: res |= *data++; /* FALLTHRU */ - case 2: res <<= 8; res |= *data++; /* FALLTHRU */ - case 3: res <<= 8; res |= *data++; /* FALLTHRU */ - case 4: res <<= 8; res |= *data++; /* FALLTHRU */ - case 5: res <<= 8; res |= *data++; /* FALLTHRU */ - case 6: res <<= 8; res |= *data++; /* FALLTHRU */ - case 7: res <<= 8; res |= *data++; /* FALLTHRU */ - case 8: res <<= 8; res |= *data; break; - default: assert(false); - } - - return res; + memcpy(reinterpret_cast<uint8_t*>(&res) + sizeof(uint64_t) - size, data, size); + return SWAP64BE(res); } void uint_64_to_8be(uint64_t num, size_t size, uint8_t* data) |