diff --git a/libc/bionic/cmsg_nxthdr.cpp b/libc/bionic/cmsg_nxthdr.cpp index 6f0a47c63..8a2b33e0d 100644 --- a/libc/bionic/cmsg_nxthdr.cpp +++ b/libc/bionic/cmsg_nxthdr.cpp @@ -28,7 +28,7 @@ #include -cmsghdr* cmsg_nxthdr(msghdr* msg, cmsghdr* cmsg) { +cmsghdr* __cmsg_nxthdr(msghdr* msg, cmsghdr* cmsg) { cmsghdr* ptr; ptr = reinterpret_cast(reinterpret_cast(cmsg) + CMSG_ALIGN(cmsg->cmsg_len)); size_t len = reinterpret_cast(ptr+1) - reinterpret_cast(msg->msg_control); @@ -37,3 +37,6 @@ cmsghdr* cmsg_nxthdr(msghdr* msg, cmsghdr* cmsg) { } return ptr; } + +// TODO: remove after NDK refresh. +__weak_alias(cmsg_nxthdr, __cmsg_nxthdr); diff --git a/libc/include/sys/socket.h b/libc/include/sys/socket.h index 7edaac9c8..ae2f2381e 100644 --- a/libc/include/sys/socket.h +++ b/libc/include/sys/socket.h @@ -107,7 +107,7 @@ struct cmsghdr { int cmsg_type; }; -#define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) +#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr((mhdr), (cmsg)) #define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) #define CMSG_DATA(cmsg) ((void*)((char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) #define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) @@ -117,7 +117,7 @@ struct cmsghdr { ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL) #define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char*)(cmsg) - (char*)(mhdr)->msg_control))) -struct cmsghdr* cmsg_nxthdr(struct msghdr*, struct cmsghdr*); +struct cmsghdr* __cmsg_nxthdr(struct msghdr*, struct cmsghdr*); #define SCM_RIGHTS 0x01 #define SCM_CREDENTIALS 0x02