Module Name: src
Committed By: christos
Date: Fri Jan 14 23:56:13 UTC 2011
Modified Files:
src/libexec/ftpd: ftpcmd.y
Log Message:
PR/44390: Paul Koning: make code gcc-4.5.1 friendly.
To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 src/libexec/ftpd/ftpcmd.y
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/libexec/ftpd/ftpcmd.y
diff -u src/libexec/ftpd/ftpcmd.y:1.90 src/libexec/ftpd/ftpcmd.y:1.91
--- src/libexec/ftpd/ftpcmd.y:1.90 Mon Jul 13 15:05:40 2009
+++ src/libexec/ftpd/ftpcmd.y Fri Jan 14 18:56:13 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: ftpcmd.y,v 1.90 2009/07/13 19:05:40 roy Exp $ */
+/* $NetBSD: ftpcmd.y,v 1.91 2011/01/14 23:56:13 christos Exp $ */
/*-
* Copyright (c) 1997-2009 The NetBSD Foundation, Inc.
@@ -72,7 +72,7 @@
#if 0
static char sccsid[] = "@(#)ftpcmd.y 8.3 (Berkeley) 4/6/94";
#else
-__RCSID("$NetBSD: ftpcmd.y,v 1.90 2009/07/13 19:05:40 roy Exp $");
+__RCSID("$NetBSD: ftpcmd.y,v 1.91 2011/01/14 23:56:13 christos Exp $");
#endif
#endif /* not lint */
@@ -967,18 +967,24 @@
NUMBER
{
#ifdef INET6
- char *a, *p;
+ unsigned char buf[16];
- memset(&data_dest, 0, sizeof(data_dest));
+ (void)memset(&data_dest, 0, sizeof(data_dest));
data_dest.su_len = sizeof(struct sockaddr_in6);
data_dest.su_family = AF_INET6;
- p = (char *)&data_dest.su_port;
- p[0] = $39.i; p[1] = $41.i;
- a = (char *)&data_dest.si_su.su_sin6.sin6_addr;
- a[0] = $5.i; a[1] = $7.i; a[2] = $9.i; a[3] = $11.i;
- a[4] = $13.i; a[5] = $15.i; a[6] = $17.i; a[7] = $19.i;
- a[8] = $21.i; a[9] = $23.i; a[10] = $25.i; a[11] = $27.i;
- a[12] = $29.i; a[13] = $31.i; a[14] = $33.i; a[15] = $35.i;
+ buf[0] = $39.i; buf[1] = $41.i;
+ (void)memcpy(&data_dest.su_port, buf,
+ sizeof(&data_dest.su_port));
+ buf[0] = $5.i; buf[1] = $7.i;
+ buf[2] = $9.i; buf[3] = $11.i;
+ buf[4] = $13.i; buf[5] = $15.i;
+ buf[6] = $17.i; buf[7] = $19.i;
+ buf[8] = $21.i; buf[9] = $23.i;
+ buf[10] = $25.i; buf[11] = $27.i;
+ buf[12] = $29.i; buf[13] = $31.i;
+ buf[14] = $33.i; buf[15] = $35.i;
+ (void)memcpy(&data_dest.si_su.su_sin6.sin6_addr,
+ buf, sizeof(data_dest.si_su.su_sin6.sin6_addr));
if (his_addr.su_family == AF_INET6) {
/* XXX: more sanity checks! */
data_dest.su_scope_id = his_addr.su_scope_id;