--- a/mb_slave.c Tue Dec 10 16:07:49 2019 +0000
+++ b/mb_slave.c Mon Jun 01 14:15:03 2020 +0100
@@ -107,6 +107,58 @@
+/* Determine endianess of platform... */ +/* WARNING: The following files are being included: + * <stdib.h> --> <endian.h> --> <bits/endian.h> + * endian.h defines the following constants as: + * #define __LITTLE_ENDIAN and LITTLE_ENDIAN as 1234 + * #define __BIG_ENDIAN and BIG_ENDIAN as 4321 + * #define __PDP_ENDIAN and PDP_ENDIAN as 3412 + * bits/endian.h defines the constant BYTE_ORDER as: + * #define __BYTE_ORDER as __LITTLE_ENDIAN + * endian.h then sets the following constants + * (if __USE_BSD is set, which seems to be true): + * # define LITTLE_ENDIAN __LITTLE_ENDIAN + * # define BIG_ENDIAN __BIG_ENDIAN + * # define PDP_ENDIAN __PDP_ENDIAN + * # define BYTE_ORDER __BYTE_ORDER +/* If we still don't know byte order, try to get it from <endian.h> */ +/* If we still don't know byte order => if using gcc, use it to determine byte order... */ + /* We have GCC, which should define __LITTLE_ENDIAN__ */ +# if defined(__LITTLE_ENDIAN__) +# define __BYTE_ORDER __LITTLE_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif /* __BYTE_ORDER */ +# error "Unable to determine platform's byte order. Aborting compilation." +#elif __BYTE_ORDER == __BIG_ENDIAN +# warning "Compiling for BIG endian platform." +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# warning "Compiling for LITTLE endian platform." +# error "Aborting compilation due to unsuported byte order (neither BIG not LITTLE endian)." * Functions to convert u16 variables
* between network and host byte order
@@ -122,40 +174,6 @@
* conversion functions...
-/* if using gcc, use it to determine byte order... */
- /* We have GCC, which should define __LITTLE_ENDIAN__ */
-# if defined(__LITTLE_ENDIAN__)
-# define __BYTE_ORDER __LITTLE_ENDIAN
-# define __BYTE_ORDER __BIG_ENDIAN
-#endif /* __BYTE_ORDER */
-/* If we still don't know byte order, try to get it from <sys/param.h> */
-# if BYTE_ORDER == LITTLE_ENDIAN
-# define __BYTE_ORDER __LITTLE_ENDIAN
-# if BYTE_ORDER == BIG_ENDIAN
-# define __BYTE_ORDER __BIG_ENDIAN
-# endif /* BYTE_ORDER */
-#endif /* __BYTE_ORDER */
# if __BYTE_ORDER == __LITTLE_ENDIAN
--- a/mb_tcp.c Tue Dec 10 16:07:49 2019 +0000
+++ b/mb_tcp.c Mon Jun 01 14:15:03 2020 +0100
@@ -1517,8 +1517,8 @@
/* Check the parameters we were passed... */
if(sin_initaddr(&tmp_addr,
- node_addr.addr.tcp.host, 0,
- node_addr.addr.tcp.service, 0,
+ node_addr.addr.tcp.host, 1, // 1 => allow host NULL, "" or "*" -> INADDR_ANY + node_addr.addr.tcp.service, 1, // 1 => allow serivce NULL or "" -> port = 0