diff options
author | dimitri staessens <[email protected]> | 2017-06-04 18:31:07 +0200 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2017-06-04 18:54:45 +0200 |
commit | ea1248d40a0c68f3e6cf09d03354f7a5fc6e2612 (patch) | |
tree | cd13756e810c77dd36bedecf2a76058d6e3af4b8 /include | |
parent | 51aac5614ccd7928ba23af0cca0e94010f3fcebc (diff) | |
download | ouroboros-ea1248d40a0c68f3e6cf09d03354f7a5fc6e2612.tar.gz ouroboros-ea1248d40a0c68f3e6cf09d03354f7a5fc6e2612.zip |
include: Fix macro for printing hash
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/endian.h | 6 | ||||
-rw-r--r-- | include/ouroboros/hash.h | 11 |
2 files changed, 12 insertions, 5 deletions
diff --git a/include/ouroboros/endian.h b/include/ouroboros/endian.h index 4738159e..16200028 100644 --- a/include/ouroboros/endian.h +++ b/include/ouroboros/endian.h @@ -26,9 +26,15 @@ #if defined(__linux__) || defined(__CYGWIN__) +#ifndef _BSD_SOURCE #define _BSD_SOURCE +#endif +#ifndef __USE_BSD #define __USE_BSD +#endif +#ifndef _DEFAULT_SOURCE #define _DEFAULT_SOURCE +#endif #include <endian.h> #include <features.h> diff --git a/include/ouroboros/hash.h b/include/ouroboros/hash.h index de3ce541..eeca8a28 100644 --- a/include/ouroboros/hash.h +++ b/include/ouroboros/hash.h @@ -24,6 +24,7 @@ #ifndef OUROBOROS_LIB_HASH_H #define OUROBOROS_LIB_HASH_H +#include <ouroboros/endian.h> #include <ouroboros/ipcp.h> #include <ouroboros/crc32.h> @@ -32,11 +33,11 @@ #define HASH_FMT "%02x%02x%02x%02x" -#define HASH_VAL(hash) \ - ((*(unsigned int *) hash) & 0xFF000000) >> 24, \ - ((*(unsigned int *) hash) & 0x00FF0000) >> 16, \ - ((*(unsigned int *) hash) & 0x0000FF00) >> 8, \ - ((*(unsigned int *) hash) & 0x000000FF) +#define HASH_VAL(hash) \ + (betoh32(*(uint32_t *) hash) & 0xFF000000) >> 24, \ + (betoh32(*(uint32_t *) hash) & 0x00FF0000) >> 16, \ + (betoh32(*(uint32_t *) hash) & 0x0000FF00) >> 8, \ + (betoh32(*(uint32_t *) hash) & 0x000000FF) uint16_t hash_len(enum hash_algo algo); |