Browse Source

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
e40f48a421.
rs-1.0
Rich Felker 13 years ago
parent
commit
bb93ac3358
  1. 11
      src/network/inet_addr.c
  2. 16
      src/network/inet_legacy.c
  3. 10
      src/network/inet_ntoa.c

11
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;
}

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
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;
}
Loading…
Cancel
Save