diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-09-23 02:21:49 +0300 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-10-31 18:44:59 +0800 |
commit | 9e14743ee5ba79181076bc33952245d5b18fbc58 (patch) | |
tree | e820e464ac33e638f7580e59e2d692d524b9540b | |
parent | Build: Update visibility.m4 from Gnulib. (diff) | |
download | xz-9e14743ee5ba79181076bc33952245d5b18fbc58.tar.xz |
tuklib_integer: Add missing write64be and write64le fallback functions.
-rw-r--r-- | src/common/tuklib_integer.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/common/tuklib_integer.h b/src/common/tuklib_integer.h index 24d9efb1..0eaca369 100644 --- a/src/common/tuklib_integer.h +++ b/src/common/tuklib_integer.h @@ -454,6 +454,40 @@ write32le(uint8_t *buf, uint32_t num) #endif +#ifndef write64be +static inline void +write64be(uint8_t *buf, uint64_t num) +{ + buf[0] = (uint8_t)(num >> 56); + buf[1] = (uint8_t)(num >> 48); + buf[2] = (uint8_t)(num >> 40); + buf[3] = (uint8_t)(num >> 32); + buf[4] = (uint8_t)(num >> 24); + buf[5] = (uint8_t)(num >> 16); + buf[6] = (uint8_t)(num >> 8); + buf[7] = (uint8_t)num; + return; +} +#endif + + +#ifndef write64le +static inline void +write64le(uint8_t *buf, uint64_t num) +{ + buf[0] = (uint8_t)num; + buf[1] = (uint8_t)(num >> 8); + buf[2] = (uint8_t)(num >> 16); + buf[3] = (uint8_t)(num >> 24); + buf[4] = (uint8_t)(num >> 32); + buf[5] = (uint8_t)(num >> 40); + buf[6] = (uint8_t)(num >> 48); + buf[7] = (uint8_t)(num >> 56); + return; +} +#endif + + ////////////////////////////// // Aligned reads and writes // ////////////////////////////// |