diff options
author | xiphon <xiphon@protonmail.com> | 2018-11-13 12:15:18 +0000 |
---|---|---|
committer | xiphon <xiphon@protonmail.com> | 2018-11-13 12:15:18 +0000 |
commit | d01bdaca12bd759462f91783ca63ec178f6c3268 (patch) | |
tree | 603e95104c8fcb5a065197edd4856fc6e6c4dfc2 /src/common/base58.cpp | |
parent | Merge pull request #4814 (diff) | |
download | monero-d01bdaca12bd759462f91783ca63ec178f6c3268.tar.xz |
common: fix base58 gcc -Werror=implicit-fallthrough
Diffstat (limited to 'src/common/base58.cpp')
-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) |