Source-Changes-HG archive

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

[src/netbsd-2]: src/lib/libc/net Pull up revision 1.16 (requested by kleink i...



details:   https://anonhg.NetBSD.org/src/rev/67340e161e0a
branches:  netbsd-2
changeset: 563768:67340e161e0a
user:      riz <riz%NetBSD.org@localhost>
date:      Tue Jul 05 18:34:30 2005 +0000

description:
Pull up revision 1.16 (requested by kleink in ticket #2015):
struct netent.n_net used to be an unsigned long integer.
In XNS5, and subsequently in POSIX-2001 it was changed to socklen_t.
To accomodate for this while preserving binary compatibility with the
old interface, prepend or append 32 bits of padding, depending on
the (LP64 data model) architecture's endianness.  Fixes PR
standards/21411 from Ben Harris.
This should be deleted the next time the libc major number is
incremented.
Also, update getnetbyaddr(3)'s `net' argument accordingly.

diffstat:

 lib/libc/net/getnetent.c |  10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r 8bd81044950a -r 67340e161e0a lib/libc/net/getnetent.c
--- a/lib/libc/net/getnetent.c  Tue Jul 05 18:34:29 2005 +0000
+++ b/lib/libc/net/getnetent.c  Tue Jul 05 18:34:30 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: getnetent.c,v 1.15 2003/08/07 16:43:08 agc Exp $       */
+/*     $NetBSD: getnetent.c,v 1.15.4.1 2005/07/05 18:34:30 riz Exp $   */
 
 /*
  * Copyright (c) 1983, 1993
@@ -44,7 +44,7 @@
 static char sccsid[] = "@(#)getnetent.c        8.1 (Berkeley) 6/4/93";
 static char rcsid[] = "Id: getnetent.c,v 8.4 1997/06/01 20:34:37 vixie Exp ";
 #else
-__RCSID("$NetBSD: getnetent.c,v 1.15 2003/08/07 16:43:08 agc Exp $");
+__RCSID("$NetBSD: getnetent.c,v 1.15.4.1 2005/07/05 18:34:30 riz Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -122,6 +122,12 @@
 
        if (netf == NULL && (netf = fopen(_PATH_NETWORKS, "r" )) == NULL)
                return (NULL);
+#if (defined(__sparc__) && defined(_LP64)) ||          \
+    defined(__alpha__) ||                              \
+    (defined(__i386__) && defined(_LP64)) ||           \
+    (defined(__sh__) && defined(_LP64))
+       net.__n_pad0 = 0;
+#endif
 again:
        p = fgets(line, sizeof line, netf);
        if (p == NULL)



Home | Main Index | Thread Index | Old Index