This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch for sa_len


We've received a bug report that AF_UNIX is missing in sa_len.c.
Looking closer I noticed some more missing AF_* cases and added them.

There're still some families which aren't handled but I couldn't find
the relevant sockaddr_* anywhere.

Btw. looking over <sys/socket.h>, I noticed sockaddr_dl but couldn't
find a declaration anywhere.  Is this really correct?

Andreas

1999-02-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Add some
	missing cases. Reported by Craig Metz <cmetz@inner.net> 
	[PR libc/964].

--- sysdeps/unix/sysv/linux/sa_len.c.~1~	Tue Apr  7 11:11:21 1998
+++ sysdeps/unix/sysv/linux/sa_len.c	Sun Feb 14 13:17:22 1999
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,11 +18,15 @@
 
 #include <sys/socket.h>
 
+#include <netash/ash.h>
 #include <netatalk/at.h>
 #include <netax25/ax25.h>
+#include <neteconet/ec.h>
 #include <netinet/in.h>
 #include <netipx/ipx.h>
+#include <netpacket/packet.h>
 #include <netrose/rose.h>
+#include <sys/un.h>
 
 int
 __libc_sa_len (sa_family_t af)
@@ -31,14 +35,22 @@
     {
     case AF_APPLETALK:
       return sizeof (struct sockaddr_at);
+    case AF_ASH:
+      return sizeof (struct sockaddr_ash);
     case AF_AX25:
       return sizeof (struct sockaddr_ax25);
+    case AF_ECONET:
+      return sizeof (struct sockaddr_ec);      
     case AF_INET:
       return sizeof (struct sockaddr_in);
     case AF_INET6:
       return sizeof (struct sockaddr_in6);
     case AF_IPX:
       return sizeof (struct sockaddr_ipx);
+    case AF_LOCAL:
+      return sizeof (struct sockaddr_un);
+    case AF_PACKET:
+      return sizeof (struct sockaddr_ll);
     case AF_ROSE:
       return sizeof (struct sockaddr_rose);
     }

-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]