fix malloc-brk-fail
[libc-test] / src / api / arpa_inet.c
index 52b013a..82b5c52 100644 (file)
@@ -1,6 +1,7 @@
 #include <arpa/inet.h>
 #define T(t) (t*)0;
 #define C(n) switch(n){case n:;}
+#define I(t,e) {t x[sizeof(t)==sizeof(e)] = {e};}
 static void f()
 {
 T(in_port_t)
@@ -13,28 +14,28 @@ C(INET_ADDRSTRLEN)
 C(INET6_ADDRSTRLEN)
 
 #ifdef htonl
-C(htonl(0))
+I(uint32_t, htonl(0LL))
 #else
-uint32_t(*p_htonl)(uint32_t) = htonl;
+{uint32_t(*p)(uint32_t) = htonl;}
 #endif
 #ifdef htons
-C(htons(0))
+I(uint16_t, htons(0LL))
 #else
-uint16_t(*p_htons)(uint16_t) = htons;
+{uint16_t(*p)(uint16_t) = htons;}
 #endif
 #ifdef ntohl
-C(ntohl(0))
+I(uint32_t, ntohl(0LL))
 #else
-uint32_t(*p_ntohl)(uint32_t) = ntohl;
+{uint32_t(*p)(uint32_t) = ntohl;}
 #endif
 #ifdef ntohs
-C(ntohs(0))
+I(uint16_t, ntohs(0LL))
 #else
-uint16_t(*p_ntohs)(uint16_t) = ntohs;
+{uint16_t(*p)(uint16_t) = ntohs;}
 #endif
 
-in_addr_t(*p_inet_addr)(const char*) = inet_addr;
-char*(*p_inet_ntoa)(struct in_addr) = inet_ntoa;
-const char*(*p_inet_ntop)(int,const void*restrict,char*restrict,socklen_t) = inet_ntop;
-int(*p_inet_pton)(int,const char*restrict,void*restrict) = inet_pton;
+{in_addr_t(*p)(const char*) = inet_addr;}
+{char*(*p)(struct in_addr) = inet_ntoa;}
+{const char*(*p)(int,const void*restrict,char*restrict,socklen_t) = inet_ntop;}
+{int(*p)(int,const char*restrict,void*restrict) = inet_pton;}
 }