aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2023-09-23 02:21:49 +0300
committerJia Tan <jiat0218@gmail.com>2023-10-31 18:44:59 +0800
commit9e14743ee5ba79181076bc33952245d5b18fbc58 (patch)
treee820e464ac33e638f7580e59e2d692d524b9540b
parentBuild: Update visibility.m4 from Gnulib. (diff)
downloadxz-9e14743ee5ba79181076bc33952245d5b18fbc58.tar.xz
tuklib_integer: Add missing write64be and write64le fallback functions.
-rw-r--r--src/common/tuklib_integer.h34
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 //
//////////////////////////////