pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/libfetch/files Use s6_addr32 if present as macro a...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/10e8835641ce
branches:  trunk
changeset: 610014:10e8835641ce
user:      joerg <joerg%pkgsrc.org@localhost>
date:      Mon Oct 15 22:43:24 2012 +0000

description:
Use s6_addr32 if present as macro and fallback to memcpy otherwise.

diffstat:

 net/libfetch/files/ftp.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (22 lines):

diff -r 88cb106b3598 -r 10e8835641ce net/libfetch/files/ftp.c
--- a/net/libfetch/files/ftp.c  Mon Oct 15 21:27:08 2012 +0000
+++ b/net/libfetch/files/ftp.c  Mon Oct 15 22:43:24 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ftp.c,v 1.42 2012/04/07 15:27:21 joerg Exp $   */
+/*     $NetBSD: ftp.c,v 1.43 2012/10/15 22:43:24 joerg Exp $   */
 /*-
  * Copyright (c) 1998-2004 Dag-Erling Coïdan Smørgrav
  * Copyright (c) 2008, 2009, 2010 Joerg Sonnenberger <joerg%NetBSD.org@localhost>
@@ -146,7 +146,11 @@
            !IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr))
                return;
        sin4 = (struct sockaddr_in *)sin6;
-       addr = *(uint32_t *)&sin6->sin6_addr.s6_addr[12];
+#ifdef s6_addr32
+       addr = sin6->sin6_addr.s6_addr32[3];
+#else
+       memcpy(&addr, &sin6->sin6_addr.s6_addr[12], sizeof(addr));
+#endif
        port = sin6->sin6_port;
        memset(sin4, 0, sizeof(struct sockaddr_in));
        sin4->sin_addr.s_addr = addr;



Home | Main Index | Thread Index | Old Index