aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/process.c b/src/process.c
index 91bc090e76e..f6aa576e8b7 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1333,15 +1333,15 @@ Returns nil if format of ADDRESS is invalid. */)
1333 1333
1334 for (i = 0; i < nargs; i++) 1334 for (i = 0; i < nargs; i++)
1335 { 1335 {
1336 if (! RANGED_INTEGERP (0, p->u.contents[i], 65535)) 1336 if (! RANGED_INTEGERP (0, p->contents[i], 65535))
1337 return Qnil; 1337 return Qnil;
1338 1338
1339 if (nargs <= 5 /* IPv4 */ 1339 if (nargs <= 5 /* IPv4 */
1340 && i < 4 /* host, not port */ 1340 && i < 4 /* host, not port */
1341 && XINT (p->u.contents[i]) > 255) 1341 && XINT (p->contents[i]) > 255)
1342 return Qnil; 1342 return Qnil;
1343 1343
1344 args[i+1] = p->u.contents[i]; 1344 args[i+1] = p->contents[i];
1345 } 1345 }
1346 1346
1347 return Fformat (nargs+1, args); 1347 return Fformat (nargs+1, args);
@@ -1983,7 +1983,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
1983 len = sizeof (sin->sin_addr) + 1; 1983 len = sizeof (sin->sin_addr) + 1;
1984 address = Fmake_vector (make_number (len), Qnil); 1984 address = Fmake_vector (make_number (len), Qnil);
1985 p = XVECTOR (address); 1985 p = XVECTOR (address);
1986 p->u.contents[--len] = make_number (ntohs (sin->sin_port)); 1986 p->contents[--len] = make_number (ntohs (sin->sin_port));
1987 cp = (unsigned char *) &sin->sin_addr; 1987 cp = (unsigned char *) &sin->sin_addr;
1988 break; 1988 break;
1989 } 1989 }
@@ -1995,9 +1995,9 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
1995 len = sizeof (sin6->sin6_addr)/2 + 1; 1995 len = sizeof (sin6->sin6_addr)/2 + 1;
1996 address = Fmake_vector (make_number (len), Qnil); 1996 address = Fmake_vector (make_number (len), Qnil);
1997 p = XVECTOR (address); 1997 p = XVECTOR (address);
1998 p->u.contents[--len] = make_number (ntohs (sin6->sin6_port)); 1998 p->contents[--len] = make_number (ntohs (sin6->sin6_port));
1999 for (i = 0; i < len; i++) 1999 for (i = 0; i < len; i++)
2000 p->u.contents[i] = make_number (ntohs (ip6[i])); 2000 p->contents[i] = make_number (ntohs (ip6[i]));
2001 return address; 2001 return address;
2002 } 2002 }
2003#endif 2003#endif
@@ -2022,7 +2022,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
2022 2022
2023 i = 0; 2023 i = 0;
2024 while (i < len) 2024 while (i < len)
2025 p->u.contents[i++] = make_number (*cp++); 2025 p->contents[i++] = make_number (*cp++);
2026 2026
2027 return address; 2027 return address;
2028} 2028}
@@ -2093,7 +2093,7 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2093 { 2093 {
2094 struct sockaddr_in *sin = (struct sockaddr_in *) sa; 2094 struct sockaddr_in *sin = (struct sockaddr_in *) sa;
2095 len = sizeof (sin->sin_addr) + 1; 2095 len = sizeof (sin->sin_addr) + 1;
2096 hostport = XINT (p->u.contents[--len]); 2096 hostport = XINT (p->contents[--len]);
2097 sin->sin_port = htons (hostport); 2097 sin->sin_port = htons (hostport);
2098 cp = (unsigned char *)&sin->sin_addr; 2098 cp = (unsigned char *)&sin->sin_addr;
2099 sa->sa_family = family; 2099 sa->sa_family = family;
@@ -2104,12 +2104,12 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2104 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa; 2104 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa;
2105 uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr; 2105 uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr;
2106 len = sizeof (sin6->sin6_addr) + 1; 2106 len = sizeof (sin6->sin6_addr) + 1;
2107 hostport = XINT (p->u.contents[--len]); 2107 hostport = XINT (p->contents[--len]);
2108 sin6->sin6_port = htons (hostport); 2108 sin6->sin6_port = htons (hostport);
2109 for (i = 0; i < len; i++) 2109 for (i = 0; i < len; i++)
2110 if (INTEGERP (p->u.contents[i])) 2110 if (INTEGERP (p->contents[i]))
2111 { 2111 {
2112 int j = XFASTINT (p->u.contents[i]) & 0xffff; 2112 int j = XFASTINT (p->contents[i]) & 0xffff;
2113 ip6[i] = ntohs (j); 2113 ip6[i] = ntohs (j);
2114 } 2114 }
2115 sa->sa_family = family; 2115 sa->sa_family = family;
@@ -2140,8 +2140,8 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int
2140 } 2140 }
2141 2141
2142 for (i = 0; i < len; i++) 2142 for (i = 0; i < len; i++)
2143 if (INTEGERP (p->u.contents[i])) 2143 if (INTEGERP (p->contents[i]))
2144 *cp++ = XFASTINT (p->u.contents[i]) & 0xff; 2144 *cp++ = XFASTINT (p->contents[i]) & 0xff;
2145} 2145}
2146 2146
2147#ifdef DATAGRAM_SOCKETS 2147#ifdef DATAGRAM_SOCKETS
@@ -3723,7 +3723,9 @@ network_interface_info (Lisp_Object ifname)
3723 3723
3724 any = 1; 3724 any = 1;
3725 for (n = 0; n < 6; n++) 3725 for (n = 0; n < 6; n++)
3726 p->u.contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); 3726 p->contents[n] = make_number (((unsigned char *)
3727 &rq.ifr_hwaddr.sa_data[0])
3728 [n]);
3727 elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); 3729 elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr);
3728 } 3730 }
3729#elif defined (HAVE_GETIFADDRS) && defined (LLADDR) 3731#elif defined (HAVE_GETIFADDRS) && defined (LLADDR)
@@ -3746,7 +3748,7 @@ network_interface_info (Lisp_Object ifname)
3746 3748
3747 memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen); 3749 memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen);
3748 for (n = 0; n < 6; n++) 3750 for (n = 0; n < 6; n++)
3749 p->u.contents[n] = make_number (linkaddr[n]); 3751 p->contents[n] = make_number (linkaddr[n]);
3750 3752
3751 elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr); 3753 elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr);
3752 break; 3754 break;