]> git.seodisparate.com - SimpleArchiver/commitdiff
big-endian convert: Use stdint.h
authorStephen Seo <seo.disparate@gmail.com>
Mon, 15 Jul 2024 07:59:15 +0000 (16:59 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Mon, 15 Jul 2024 08:00:49 +0000 (17:00 +0900)
Replace "unsigned short" with uint16_t, "unsigned int" with uint32_t,
and "unsigned long long" with uint64_t.

src/helpers.c
src/helpers.h
src/test.c

index 0007f2060646806ff55a328d388b5a8c7a4c60b9..55394489977f1a1d636bfb59092a4de90a76aedd 100644 (file)
 
 int simple_archiver_helper_is_big_endian(void) {
   union {
-    unsigned int i;
+    uint32_t i;
     char c[4];
   } bint = {0x01020304};
 
   return bint.c[0] == 1 ? 1 : 0;
 }
 
-void simple_archiver_helper_16_bit_be(unsigned short *value) {
+void simple_archiver_helper_16_bit_be(uint16_t *value) {
   if (simple_archiver_helper_is_big_endian() == 0) {
     unsigned char c = ((unsigned char *)value)[0];
     ((unsigned char *)value)[0] = ((unsigned char *)value)[1];
@@ -35,7 +35,7 @@ void simple_archiver_helper_16_bit_be(unsigned short *value) {
   }
 }
 
-void simple_archiver_helper_32_bit_be(unsigned int *value) {
+void simple_archiver_helper_32_bit_be(uint32_t *value) {
   if (simple_archiver_helper_is_big_endian() == 0) {
     for (unsigned int i = 0; i < 2; ++i) {
       unsigned char c = ((unsigned char *)value)[i];
@@ -45,7 +45,7 @@ void simple_archiver_helper_32_bit_be(unsigned int *value) {
   }
 }
 
-void simple_archiver_helper_64_bit_be(unsigned long long *value) {
+void simple_archiver_helper_64_bit_be(uint64_t *value) {
   if (simple_archiver_helper_is_big_endian() == 0) {
     for (unsigned int i = 0; i < 4; ++i) {
       unsigned char c = ((unsigned char *)value)[i];
index f5915fd3b3b2ee86bf05dad036cc6dc8dff902ba..cb4c04007d4e1af21542a4a5899c826d00db741d 100644 (file)
 #ifndef SEODISPARATE_COM_SIMPLE_ARCHIVER_HELPERS_H_
 #define SEODISPARATE_COM_SIMPLE_ARCHIVER_HELPERS_H_
 
+#include <stdint.h>
+
 static const unsigned int MAX_SYMBOLIC_LINK_SIZE = 512;
 
 /// Returns non-zero if this system is big-endian.
 int simple_archiver_helper_is_big_endian(void);
 
 /// Swaps value from/to big-endian. Nop on big-endian systems.
-void simple_archiver_helper_16_bit_be(unsigned short *value);
+void simple_archiver_helper_16_bit_be(uint16_t *value);
 
 /// Swaps value from/to big-endian. Nop on big-endian systems.
-void simple_archiver_helper_32_bit_be(unsigned int *value);
+void simple_archiver_helper_32_bit_be(uint32_t *value);
 
 /// Swaps value from/to big-endian. Nop on big-endian systems.
-void simple_archiver_helper_64_bit_be(unsigned long long *value);
+void simple_archiver_helper_64_bit_be(uint64_t *value);
 
 #endif
index 7f070976beabf1926591c76d6c5f879516b118a8..6d1dfdba8ea0faf2fe1bbe0c83044793c76b03a2 100644 (file)
@@ -114,7 +114,7 @@ int main(void) {
   {
     // Only if system is little-endian.
     if (simple_archiver_helper_is_big_endian() == 0) {
-      unsigned short u16 = 0x0102;
+      uint16_t u16 = 0x0102;
       CHECK_TRUE(((unsigned char *)&u16)[0] == 2);
       CHECK_TRUE(((unsigned char *)&u16)[1] == 1);
       simple_archiver_helper_16_bit_be(&u16);
@@ -124,7 +124,7 @@ int main(void) {
       CHECK_TRUE(((unsigned char *)&u16)[0] == 2);
       CHECK_TRUE(((unsigned char *)&u16)[1] == 1);
 
-      unsigned int u32 = 0x01020304;
+      uint32_t u32 = 0x01020304;
       CHECK_TRUE(((unsigned char *)&u32)[0] == 4);
       CHECK_TRUE(((unsigned char *)&u32)[1] == 3);
       CHECK_TRUE(((unsigned char *)&u32)[2] == 2);
@@ -140,7 +140,7 @@ int main(void) {
       CHECK_TRUE(((unsigned char *)&u32)[2] == 2);
       CHECK_TRUE(((unsigned char *)&u32)[3] == 1);
 
-      unsigned long long u64 = 0x010203040a0b0c0d;
+      uint64_t u64 = 0x010203040a0b0c0d;
       CHECK_TRUE(((unsigned char *)&u64)[0] == 0xd);
       CHECK_TRUE(((unsigned char *)&u64)[1] == 0xc);
       CHECK_TRUE(((unsigned char *)&u64)[2] == 0xb);