diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2004-08-26 19:04:33 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2004-08-26 19:04:33 +0000 |
commit | b4421c65e1a2a25683c17765b61d5e7916ed0fe6 (patch) | |
tree | 2d270f463da03c24ce8656791b2e4f82abf38837 /print/pips800/files/ekpnavi-1.1.2.diff | |
parent | 92de51a7a129c78687fcb10349910b42d17bbf16 (diff) |
Notes
Diffstat (limited to 'print/pips800/files/ekpnavi-1.1.2.diff')
-rw-r--r-- | print/pips800/files/ekpnavi-1.1.2.diff | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/print/pips800/files/ekpnavi-1.1.2.diff b/print/pips800/files/ekpnavi-1.1.2.diff new file mode 100644 index 000000000000..80c866ecd175 --- /dev/null +++ b/print/pips800/files/ekpnavi-1.1.2.diff @@ -0,0 +1,57 @@ +Index: src/ekpcom.c +diff -u -p src/ekpcom.c.orig src/ekpcom.c +--- src/ekpcom.c.orig Wed Jul 30 23:06:39 2003 ++++ src/ekpcom.c Tue Aug 24 23:37:45 2004 +@@ -42,15 +42,25 @@ sock_open (void) + { + int sockfd, len; + struct sockaddr_in address; ++#ifndef MSG_NOSIGNAL ++ const int on = 1; ++#endif + + if (server_sock_fd >= 0) + return 0; + + /* ソケットオープン */ + sockfd = socket (AF_INET, SOCK_STREAM, 0); ++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE) ++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on)); ++#endif ++ memset(&address, 0, sizeof(address)); + address.sin_family = AF_INET; + address.sin_addr.s_addr = htonl (INADDR_ANY); + address.sin_port = htons (35586); ++#ifdef __FreeBSD__ ++ address.sin_len = sizeof(address); ++#endif + len = sizeof (address); + if (connect (sockfd, (struct sockaddr *)&address, len)) + { +@@ -92,7 +102,11 @@ sock_write (char* buf, int* lp_wsize) + packet[4] = size % 0xFF; + memcpy (packet + Header_Size, buf, size); + ++#ifndef MSG_NOSIGNAL ++ size = send (server_sock_fd, packet, size + Header_Size, 0); ++#else + size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL); ++#endif + + if (size < 0) + return -1; +@@ -116,7 +130,11 @@ sock_read (char* buf, int* lp_rsize) + if (size <= 0) + return 0; + ++#ifndef MSG_NOSIGNAL ++ dsize = recv (server_sock_fd, packet, size, 0); ++#else + dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL); ++#endif + + if (dsize < 0) + return -1; ++ #ifdef __FreeBSD__ ++ address.sin_len = sizeof(address); ++ #endif |