diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 32 |
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; |