--- src/apprentice.c | 71 ++++--------------------------------------------------- src/cdf.c | 53 +++-------------------------------------- 2 files changed, 10 insertions(+), 114 deletions(-) --- src/apprentice.c +++ src/apprentice.c 2019-02-21 07:03:30.961751563 +0000 @@ -50,7 +50,7 @@ FILE_RCSID("@(#)$File: apprentice.c,v 1. #endif #include #include - +#include #define EATAB {while (isascii(CAST(unsigned char, *l)) && \ isspace(CAST(unsigned char, *l))) ++l;} @@ -123,9 +123,11 @@ private struct mlist *mlist_alloc(void); private void mlist_free(struct mlist *); private void byteswap(struct magic *, uint32_t); private void bs1(struct magic *); -private uint16_t swap2(uint16_t); -private uint32_t swap4(uint32_t); -private uint64_t swap8(uint64_t); + +#define swap2(x) bswap_16(x) +#define swap4(x) bswap_32(x) +#define swap8(x) bswap_64(x) + private char *mkdbname(struct magic_set *, const char *, int); private struct magic_map *apprentice_buf(struct magic_set *, struct magic *, size_t); @@ -3282,67 +3284,6 @@ byteswap(struct magic *magic, uint32_t n } /* - * swap a short - */ -private uint16_t -swap2(uint16_t sv) -{ - uint16_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); - d[0] = s[1]; - d[1] = s[0]; - return rv; -} - -/* - * swap an int - */ -private uint32_t -swap4(uint32_t sv) -{ - uint32_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); - d[0] = s[3]; - d[1] = s[2]; - d[2] = s[1]; - d[3] = s[0]; - return rv; -} - -/* - * swap a quad - */ -private uint64_t -swap8(uint64_t sv) -{ - uint64_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); -#if 0 - d[0] = s[3]; - d[1] = s[2]; - d[2] = s[1]; - d[3] = s[0]; - d[4] = s[7]; - d[5] = s[6]; - d[6] = s[5]; - d[7] = s[4]; -#else - d[0] = s[7]; - d[1] = s[6]; - d[2] = s[5]; - d[3] = s[4]; - d[4] = s[3]; - d[5] = s[2]; - d[6] = s[1]; - d[7] = s[0]; -#endif - return rv; -} - -/* * byteswap a single magic entry */ private void --- src/cdf.c +++ src/cdf.c 2019-02-21 07:05:15.503772161 +0000 @@ -48,6 +48,7 @@ FILE_RCSID("@(#)$File: cdf.c,v 1.114 201 #include #include #include +#include #ifndef EFTYPE #define EFTYPE EINVAL @@ -120,55 +121,9 @@ cdf_calloc(const char *file __attribute_ return calloc(n, u); } -/* - * swap a short - */ -static uint16_t -_cdf_tole2(uint16_t sv) -{ - uint16_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); - d[0] = s[1]; - d[1] = s[0]; - return rv; -} - -/* - * swap an int - */ -static uint32_t -_cdf_tole4(uint32_t sv) -{ - uint32_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); - d[0] = s[3]; - d[1] = s[2]; - d[2] = s[1]; - d[3] = s[0]; - return rv; -} - -/* - * swap a quad - */ -static uint64_t -_cdf_tole8(uint64_t sv) -{ - uint64_t rv; - uint8_t *s = RCAST(uint8_t *, RCAST(void *, &sv)); - uint8_t *d = RCAST(uint8_t *, RCAST(void *, &rv)); - d[0] = s[7]; - d[1] = s[6]; - d[2] = s[5]; - d[3] = s[4]; - d[4] = s[3]; - d[5] = s[2]; - d[6] = s[1]; - d[7] = s[0]; - return rv; -} +#define _cdf_tole2(x) bswap_16(x) +#define _cdf_tole4(x) bswap_32(x) +#define _cdf_tole8(x) bswap_64(x) /* * grab a uint32_t from a possibly unaligned address, and return it in