This is the mail archive of the glibc-bugs@sourceware.org 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]
Other format: [Raw text]

[Bug libc/18230] New: incorrect IN6_IS_ADDR_* macros in posix mode in netinet/in.h


https://sourceware.org/bugzilla/show_bug.cgi?id=18230

            Bug ID: 18230
           Summary: incorrect IN6_IS_ADDR_* macros in posix mode in
                    netinet/in.h
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: nszabolcs at gmail dot com
                CC: drepper.fsp at gmail dot com

IN6_IS_ADDR_UNSPECIFIED etc macros expand incorrectly refering to "s6_addr32"
member of the in6_addr struct, but there is no such member of the struct in
POSIX.

the following code fails to compile:

#define _POSIX_C_SOURCE 200809L
#include <netinet/in.h>
void f()
{
struct in6_addr x;
int i;
i = IN6_IS_ADDR_UNSPECIFIED(&x); // error: 'const struct in6_addr' has no
member named 's6_addr32'
i = IN6_IS_ADDR_LOOPBACK(&x); // likewise
i = IN6_IS_ADDR_LINKLOCAL(&x);
i = IN6_IS_ADDR_SITELOCAL(&x);
i = IN6_IS_ADDR_V4MAPPED(&x);
i = IN6_IS_ADDR_V4COMPAT(&x);
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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