summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authoritojun <itojun@NetBSD.org>1999-12-13 04:36:10 +0000
committeritojun <itojun@NetBSD.org>1999-12-13 04:36:10 +0000
commit6beb13746bcd706d9e13dea94e81cfc7d13e2bab (patch)
tree83dc099d9cbebfa9016d20ab11d65cc959b40dd3 /libexec
parente9dcae109b1c6e3fbaa7873fdf7de636fa57360f (diff)
avoid use of s6_addr32, as it is non-standard.
(sync with KAME)
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ftpd/ftpd.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c
index 63206972ba5..9112e4a92ad 100644
--- a/libexec/ftpd/ftpd.c
+++ b/libexec/ftpd/ftpd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ftpd.c,v 1.73 1999/12/12 14:05:54 lukem Exp $ */
+/* $NetBSD: ftpd.c,v 1.74 1999/12/13 04:36:10 itojun Exp $ */
/*
* Copyright (c) 1997-1999 The NetBSD Foundation, Inc.
@@ -109,7 +109,7 @@ __COPYRIGHT(
#if 0
static char sccsid[] = "@(#)ftpd.c 8.5 (Berkeley) 4/28/95";
#else
-__RCSID("$NetBSD: ftpd.c,v 1.73 1999/12/12 14:05:54 lukem Exp $");
+__RCSID("$NetBSD: ftpd.c,v 1.74 1999/12/13 04:36:10 itojun Exp $");
#endif
#endif /* not lint */
@@ -347,13 +347,14 @@ main(argc, argv)
* I hate to do this, but this is the easiest solution.
*/
union sockunion tmp_addr;
+ const int off = sizeof(struct in6_addr) - sizeof(struct in_addr);
tmp_addr = his_addr;
memset(&his_addr, 0, sizeof(his_addr));
his_addr.su_sin.sin_family = AF_INET;
his_addr.su_sin.sin_len = sizeof(his_addr.su_sin);
memcpy(&his_addr.su_sin.sin_addr,
- &tmp_addr.su_sin6.sin6_addr.s6_addr32[3],
+ &tmp_addr.su_sin6.sin6_addr.s6_addr[off],
sizeof(his_addr.su_sin.sin_addr));
his_addr.su_sin.sin_port = tmp_addr.su_sin6.sin6_port;
@@ -362,7 +363,7 @@ main(argc, argv)
ctrl_addr.su_sin.sin_family = AF_INET;
ctrl_addr.su_sin.sin_len = sizeof(ctrl_addr.su_sin);
memcpy(&ctrl_addr.su_sin.sin_addr,
- &tmp_addr.su_sin6.sin6_addr.s6_addr32[3],
+ &tmp_addr.su_sin6.sin6_addr.s6_addr[off],
sizeof(ctrl_addr.su_sin.sin_addr));
ctrl_addr.su_sin.sin_port = tmp_addr.su_sin6.sin6_port;
#else