aboutsummaryrefslogtreecommitdiff
path: root/lib/endian.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-12-31 11:47:54 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-12-31 12:16:58 +0000
commit7873f9bdbd9ec1f0746ca0b4cd6468ecac0e2880 (patch)
tree71a2b2bb4169098429cb70df456ca2046f498f24 /lib/endian.c
parent920e684d4082e0ebed900e79d5523cf14fbf05b2 (diff)
endian: Moved write functions to new module
Diffstat (limited to 'lib/endian.c')
-rw-r--r--lib/endian.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/endian.c b/lib/endian.c
index f95012905..e1c2142d1 100644
--- a/lib/endian.c
+++ b/lib/endian.c
@@ -45,3 +45,23 @@ unsigned int readint_le(unsigned char *buf)
return ((unsigned int)buf[0]) | ((unsigned int)buf[1] << 8) |
((unsigned int)buf[2] << 16) | ((unsigned int)buf[3] << 24);
}
+
+void write32_le(const int value, unsigned char *buffer)
+{
+ buffer[0] = (char)(value & 0x000000FF);
+ buffer[1] = (char)((value & 0x0000FF00) >> 8);
+ buffer[2] = (char)((value & 0x00FF0000) >> 16);
+ buffer[3] = (char)((value & 0xFF000000) >> 24);
+}
+
+#if (CURL_SIZEOF_CURL_OFF_T > 4)
+#if defined(HAVE_LONGLONG)
+void write64_le(const long long value, unsigned char *buffer)
+#else
+void write64_le(const __int64 value, unsigned char *buffer)
+#endif
+{
+ write32_le((int)value, buffer);
+ write32_le((int)(value >> 32), buffer + 4);
+}
+#endif