This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/18230] New: incorrect IN6_IS_ADDR_* macros in posix mode in netinet/in.h
- From: "nszabolcs at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 10 Apr 2015 09:55:10 +0000
- Subject: [Bug libc/18230] New: incorrect IN6_IS_ADDR_* macros in posix mode in netinet/in.h
- Auto-submitted: auto-generated
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.