diff --git a/src/helpers.c b/src/helpers.c index 0007f20..5539448 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -20,14 +20,14 @@ 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]; diff --git a/src/helpers.h b/src/helpers.h index f5915fd..cb4c040 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -19,18 +19,20 @@ #ifndef SEODISPARATE_COM_SIMPLE_ARCHIVER_HELPERS_H_ #define SEODISPARATE_COM_SIMPLE_ARCHIVER_HELPERS_H_ +#include + 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 diff --git a/src/test.c b/src/test.c index 7f07097..6d1dfdb 100644 --- a/src/test.c +++ b/src/test.c @@ -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);