aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/process.c b/src/process.c
index 20f84990d6f..2ed8a690193 100644
--- a/src/process.c
+++ b/src/process.c
@@ -21,8 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23 23
24#define PROCESS_INLINE EXTERN_INLINE
25
26#include <stdio.h> 24#include <stdio.h>
27#include <errno.h> 25#include <errno.h>
28#include <sys/types.h> /* Some typedefs are used in sys/file.h. */ 26#include <sys/types.h> /* Some typedefs are used in sys/file.h. */
@@ -1335,15 +1333,15 @@ Returns nil if format of ADDRESS is invalid. */)
1335 1333
1336 for (i = 0; i < nargs; i++) 1334 for (i = 0; i < nargs; i++)
1337 { 1335 {
1338 if (! RANGED_INTEGERP (0, p->contents[i], 65535)) 1336 if (! RANGED_INTEGERP (0, p->u.contents[i], 65535))
1339 return Qnil; 1337 return Qnil;
1340 1338
1341 if (nargs <= 5 /* IPv4 */ 1339 if (nargs <= 5 /* IPv4 */
1342 && i < 4 /* host, not port */ 1340 && i < 4 /* host, not port */
1343 && XINT (p->contents[i]) > 255) 1341 && XINT (p->u.contents[i]) > 255)
1344 return Qnil; 1342 return Qnil;
1345 1343
1346 args[i+1] = p->contents[i]; 1344 args[i+1] = p->u.contents[i];
1347 } 1345 }
1348 1346
1349 return Fformat (nargs+1, args); 1347 return Fformat (nargs+1, args);
@@ -1982,7 +1980,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
1982 len = sizeof (sin->sin_addr) + 1; 1980 len = sizeof (sin->sin_addr) + 1;
1983 address = Fmake_vector (make_number (len), Qnil); 1981 address = Fmake_vector (make_number (len), Qnil);
1984 p = XVECTOR (address); 1982 p = XVECTOR (address);
1985 p->contents[--len] = make_number (ntohs (sin->sin_port)); 1983 p->u.contents[--len] = make_number (ntohs (sin->sin_port));
1986 cp = (unsigned char *) &sin->sin_addr; 1984 cp = (unsigned char *) &sin->sin_addr;
1987 break; 1985 break;
1988 } 1986 }
@@ -1994,9 +1992,9 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
1994 len = sizeof (sin6->sin6_addr)/2 + 1; 1992 len = sizeof (sin6->sin6_addr)/2 + 1;
1995 address = Fmake_vector (make_number (len), Qnil); 1993 address = Fmake_vector (make_number (len), Qnil);
1996 p = XVECTOR (address); 1994 p = XVECTOR (address);
1997 p->contents[--len] = make_number (ntohs (sin6->sin6_port)); 1995 p->u.contents[--len] = make_number (ntohs (sin6->sin6_port));
1998 for (i = 0; i < len; i++) 1996 for (i = 0; i < len; i++)
1999 p->contents[i] = make_number (ntohs (ip6[i])); 1997 p->u.contents[i] = make_number (ntohs (ip6[i]));
2000 return address; 1998 return address;
2001 } 1999 }
2002#endif 2000#endif
@@ -2021,7 +2019,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
2021 2019
2022 i = 0; 2020 i = 0;
2023 while (i < len) 2021 while (i < len)
2024 p->contents[i++] = make_number (*cp++); 2022 p->u.contents[i++] = make_number (*cp++);
2025 2023
2026 return address; 2024 return address;
2027} 2025}
@@ -2092,7 +2090,7 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2092 { 2090 {
2093 struct sockaddr_in *sin = (struct sockaddr_in *) sa; 2091 struct sockaddr_in *sin = (struct sockaddr_in *) sa;
2094 len = sizeof (sin->sin_addr) + 1; 2092 len = sizeof (sin->sin_addr) + 1;
2095 hostport = XINT (p->contents[--len]); 2093 hostport = XINT (p->u.contents[--len]);
2096 sin->sin_port = htons (hostport); 2094 sin->sin_port = htons (hostport);
2097 cp = (unsigned char *)&sin->sin_addr; 2095 cp = (unsigned char *)&sin->sin_addr;
2098 sa->sa_family = family; 2096 sa->sa_family = family;
@@ -2103,12 +2101,12 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2103 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa; 2101 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa;
2104 uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr; 2102 uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr;
2105 len = sizeof (sin6->sin6_addr) + 1; 2103 len = sizeof (sin6->sin6_addr) + 1;
2106 hostport = XINT (p->contents[--len]); 2104 hostport = XINT (p->u.contents[--len]);
2107 sin6->sin6_port = htons (hostport); 2105 sin6->sin6_port = htons (hostport);
2108 for (i = 0; i < len; i++) 2106 for (i = 0; i < len; i++)
2109 if (INTEGERP (p->contents[i])) 2107 if (INTEGERP (p->u.contents[i]))
2110 { 2108 {
2111 int j = XFASTINT (p->contents[i]) & 0xffff; 2109 int j = XFASTINT (p->u.contents[i]) & 0xffff;
2112 ip6[i] = ntohs (j); 2110 ip6[i] = ntohs (j);
2113 } 2111 }
2114 sa->sa_family = family; 2112 sa->sa_family = family;
@@ -2139,8 +2137,8 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2139 } 2137 }
2140 2138
2141 for (i = 0; i < len; i++) 2139 for (i = 0; i < len; i++)
2142 if (INTEGERP (p->contents[i])) 2140 if (INTEGERP (p->u.contents[i]))
2143 *cp++ = XFASTINT (p->contents[i]) & 0xff; 2141 *cp++ = XFASTINT (p->u.contents[i]) & 0xff;
2144} 2142}
2145 2143
2146#ifdef DATAGRAM_SOCKETS 2144#ifdef DATAGRAM_SOCKETS
@@ -3731,7 +3729,7 @@ FLAGS is the current flags of the interface. */)
3731 3729
3732 any = 1; 3730 any = 1;
3733 for (n = 0; n < 6; n++) 3731 for (n = 0; n < 6; n++)
3734 p->contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); 3732 p->u.contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]);
3735 elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); 3733 elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr);
3736 } 3734 }
3737#elif defined (HAVE_GETIFADDRS) && defined (LLADDR) 3735#elif defined (HAVE_GETIFADDRS) && defined (LLADDR)
@@ -3754,7 +3752,7 @@ FLAGS is the current flags of the interface. */)
3754 3752
3755 memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen); 3753 memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen);
3756 for (n = 0; n < 6; n++) 3754 for (n = 0; n < 6; n++)
3757 p->contents[n] = make_number (linkaddr[n]); 3755 p->u.contents[n] = make_number (linkaddr[n]);
3758 3756
3759 elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr); 3757 elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr);
3760 break; 3758 break;
@@ -4849,7 +4847,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
4849#else 4847#else
4850 { 4848 {
4851 struct sockaddr pname; 4849 struct sockaddr pname;
4852 int pnamelen = sizeof (pname); 4850 socklen_t pnamelen = sizeof (pname);
4853 4851
4854 /* If connection failed, getpeername will fail. */ 4852 /* If connection failed, getpeername will fail. */
4855 xerrno = 0; 4853 xerrno = 0;