Commit 018bd41edf9b5755099f996b3f8ddc43fde133c0
1 parent
417a3a38
Fix compilation on OpenBSD
In modbus-tcp.c: - Needed to include <signal.h> - Added Jay's fix for __OpenBSD__ - SIGPIPE ignore handler needs to return a pointer instead of an integer. Patch provided bu Barry Grumbine and Jason Oster.
Showing
1 changed file
with
3 additions
and
2 deletions
src/modbus-tcp.c
| @@ -20,6 +20,7 @@ | @@ -20,6 +20,7 @@ | ||
| 20 | #include <string.h> | 20 | #include <string.h> |
| 21 | #include <errno.h> | 21 | #include <errno.h> |
| 22 | #include <unistd.h> | 22 | #include <unistd.h> |
| 23 | +#include <signal.h> | ||
| 23 | #include <sys/types.h> | 24 | #include <sys/types.h> |
| 24 | 25 | ||
| 25 | #if defined(_WIN32) | 26 | #if defined(_WIN32) |
| @@ -32,7 +33,7 @@ | @@ -32,7 +33,7 @@ | ||
| 32 | # include <sys/socket.h> | 33 | # include <sys/socket.h> |
| 33 | # include <sys/ioctl.h> | 34 | # include <sys/ioctl.h> |
| 34 | 35 | ||
| 35 | -#if defined(OpenBSD) || (defined(__FreeBSD__) && __FreeBSD__ < 5) | 36 | +#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ < 5) |
| 36 | # define OS_BSD | 37 | # define OS_BSD |
| 37 | # include <netinet/in_systm.h> | 38 | # include <netinet/in_systm.h> |
| 38 | #endif | 39 | #endif |
| @@ -434,7 +435,7 @@ modbus_t* modbus_new_tcp(const char *ip, int port) | @@ -434,7 +435,7 @@ modbus_t* modbus_new_tcp(const char *ip, int port) | ||
| 434 | if (sigaction(SIGPIPE, &sa, NULL) < 0) { | 435 | if (sigaction(SIGPIPE, &sa, NULL) < 0) { |
| 435 | /* The debug flag can't be set here... */ | 436 | /* The debug flag can't be set here... */ |
| 436 | fprintf(stderr, "Coud not install SIGPIPE handler.\n"); | 437 | fprintf(stderr, "Coud not install SIGPIPE handler.\n"); |
| 437 | - return -1; | 438 | + return NULL; |
| 438 | } | 439 | } |
| 439 | #endif | 440 | #endif |
| 440 | 441 |