Auto-Merge pull request #2517 from trustchk/aix
authorcollectd bot <32910397+collectd-bot@users.noreply.github.com>
Sun, 12 Nov 2017 21:04:11 +0000 (22:04 +0100)
committerGitHub <noreply@github.com>
Sun, 12 Nov 2017 21:04:11 +0000 (22:04 +0100)
Automatically merged due to "Automerge" label

src/libcollectdclient/network_parse.c

index 6703411..2365ab0 100644 (file)
 #include <endian.h>
 #elif HAVE_SYS_ENDIAN_H
 #include <sys/endian.h>
+#else /* fallback */
+__attribute__((const)) static uint16_t be16toh(uint16_t n) {
+  uint8_t tmp[2];
+  memmove(tmp, &n, sizeof(tmp));
+
+  return ((uint16_t)tmp[0] << 8) | ((uint16_t)tmp[1] << 0);
+}
+
+__attribute__((const)) static uint64_t be64toh(uint64_t n) {
+  uint8_t tmp[8];
+  memmove(tmp, &n, sizeof(tmp));
+
+  return ((uint64_t)tmp[0] << 56) | ((uint64_t)tmp[1] << 48) |
+         ((uint64_t)tmp[2] << 40) | ((uint64_t)tmp[3] << 32) |
+         ((uint64_t)tmp[4] << 24) | ((uint64_t)tmp[5] << 16) |
+         ((uint64_t)tmp[6] << 8) | ((uint64_t)tmp[7] << 0);
+}
 #endif
 
 #if HAVE_GCRYPT_H