From 0cc9b20c15460213e488bf5e70963b941482f628 Mon Sep 17 00:00:00 2001 From: William Harrington Date: Tue, 14 Jan 2025 16:06:02 -0600 Subject: Add source. --- sdk/net/gethost.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sdk/net/gethost.c (limited to 'sdk/net/gethost.c') diff --git a/sdk/net/gethost.c b/sdk/net/gethost.c new file mode 100644 index 0000000..f74997c --- /dev/null +++ b/sdk/net/gethost.c @@ -0,0 +1,39 @@ +/* + * Portable and simple host name lookup fuction. + * $Id$ + * Copyright (c) 1997 by Tycho Softworks. + * For conditions of distribution and reuse see product license. + */ + +#include + +struct hostent *gethost(const char *hostname) +{ + static struct in_addr saddr; + struct hostent *hp; + static struct hostent np; + static char host[24]; + static char *alias[] = {NULL}; + static struct in_addr *alist[] = {&saddr, NULL}; + + if(!hostname) + return NULL; + + if(isdigit(*hostname)) + { + saddr.s_addr = inet_addr(hostname); + hp = gethostbyaddr((void *)&saddr, sizeof(struct in_addr), AF_INET); + if(hp) + return hp; + + strcpy(host, hostname); + np.h_name = host; + np.h_aliases = alias; + np.h_addrtype = AF_INET; + np.h_length = 4; + np.h_addr_list = (char **)alist; + return &np; + } + else + return gethostbyname(hostname); +} -- cgit v1.2.3-54-g00ecf