diff options
author | Steve Holme <steve_holme@hotmail.com> | 2014-12-31 11:47:54 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2014-12-31 12:16:58 +0000 |
commit | 7873f9bdbd9ec1f0746ca0b4cd6468ecac0e2880 (patch) | |
tree | 71a2b2bb4169098429cb70df456ca2046f498f24 /lib/endian.c | |
parent | 920e684d4082e0ebed900e79d5523cf14fbf05b2 (diff) |
endian: Moved write functions to new module
Diffstat (limited to 'lib/endian.c')
-rw-r--r-- | lib/endian.c | 20 |
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 |