]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
endian: Added 16-bit integer write function
authorSteve Holme <steve_holme@hotmail.com>
Wed, 31 Dec 2014 15:58:07 +0000 (15:58 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Wed, 31 Dec 2014 16:03:01 +0000 (16:03 +0000)
lib/curl_endian.c
lib/curl_endian.h

index 41202d73d9fec97eda446c84bf26167920eea9bc..2d291c84cf5c8c01532ee631c375b7438b1acc81 100644 (file)
@@ -62,6 +62,23 @@ unsigned int Curl_read32_le(unsigned char *buf)
          ((unsigned int)buf[2] << 16) | ((unsigned int)buf[3] << 24);
 }
 
+/*
+ * Curl_write16_le()
+ *
+ * This function converts a 16-bit integer from the native endian format,
+ * to little endian format ready for sending down the wire.
+ *
+ * Parameters:
+ *
+ * value    [in]     - The 16-bit integer value.
+ * buffer   [in]     - A pointer to the output buffer.
+ */
+void Curl_write16_le(const short value, unsigned char *buffer)
+{
+  buffer[0] = (char)(value & 0x00FF);
+  buffer[1] = (char)((value & 0xFF00) >> 8);
+}
+
 /*
  * Curl_write32_le()
  *
index a8811c94092a9b2f93db01c44d525da73ecc0ab7..79eb3e8f6367e6675762ae1a2b119f2aceaf5185 100644 (file)
@@ -28,6 +28,9 @@ unsigned short Curl_read16_le(unsigned char *buf);
 /* Converts a 32-bit integer from little endian */
 unsigned int Curl_read32_le(unsigned char *buf);
 
+/* Converts a 16-bit integer to little endian */
+void Curl_write16_le(const short value, unsigned char *buffer);
+
 /* Converts a 32-bit integer to little endian */
 void Curl_write32_le(const int value, unsigned char *buffer);