فهرست منبع

split inet_addr and inet_ntoa back into their own files

despite being practically deprecated, these functions are still part
of the standard and thus cannot reside in a file that also contains
namespace pollution. this reverts some of the changes made in commit
e40f48a421a9176e3e298b5bac75f0355b219e58.
Rich Felker 11 سال پیش
والد
کامیت
bb93ac3358
3فایلهای تغییر یافته به همراه21 افزوده شده و 16 حذف شده
  1. 11 0
      src/network/inet_addr.c
  2. 0 16
      src/network/inet_legacy.c
  3. 10 0
      src/network/inet_ntoa.c

+ 11 - 0
src/network/inet_addr.c

@@ -0,0 +1,11 @@
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include "__dns.h"
+
+in_addr_t inet_addr(const char *p)
+{
+	struct sockaddr_in sin;
+	if (__ipparse(&sin, AF_INET, p)) return -1;
+	return sin.sin_addr.s_addr;
+}

+ 0 - 16
src/network/inet_legacy.c

@@ -1,16 +1,8 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
-#include <stdio.h>
 #include "__dns.h"
 
-in_addr_t inet_addr(const char *p)
-{
-	struct sockaddr_in sin;
-	if (__ipparse(&sin, AF_INET, p)) return -1;
-	return sin.sin_addr.s_addr;
-}
-
 in_addr_t inet_network(const char *p)
 {
 	return ntohl(inet_addr(p));
@@ -21,14 +13,6 @@ int inet_aton(const char *cp, struct in_addr *inp)
 	return inet_pton(AF_INET, cp, (void *)inp) > 0;
 }
 
-char *inet_ntoa(struct in_addr in)
-{
-	static char buf[16];
-	unsigned char *a = (void *)&in;
-	snprintf(buf, sizeof buf, "%d.%d.%d.%d", a[0], a[1], a[2], a[3]);
-	return buf;
-}
-
 struct in_addr inet_makeaddr(int net, int host)
 {
 	uint32_t n = net, h = host;

+ 10 - 0
src/network/inet_ntoa.c

@@ -0,0 +1,10 @@
+#include <arpa/inet.h>
+#include <stdio.h>
+
+char *inet_ntoa(struct in_addr in)
+{
+	static char buf[16];
+	unsigned char *a = (void *)&in;
+	snprintf(buf, sizeof buf, "%d.%d.%d.%d", a[0], a[1], a[2], a[3]);
+	return buf;
+}