From e8ed3f92187860cb83ffbe5a13299620b0559068 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 7 Jul 2003 21:17:30 +0000
Subject: [PATCH] Created global resolve_host() method (AKA gethostbyaddr).
 gethostbyname is now an alias for resolve_ip().

---
 src/sbbs3/js_global.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index f9be990e72..a256868ab5 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -1410,6 +1410,28 @@ js_resolve_ip(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
 	return(JS_TRUE);
 }
 
+
+static JSBool
+js_resolve_host(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+	struct in_addr addr;
+	HOSTENT*	h;
+
+	*rval = JSVAL_NULL;
+
+	if(argv[0]==JSVAL_VOID)
+		return(JS_TRUE);
+
+	addr.s_addr=inet_addr(JS_GetStringBytes(JS_ValueToString(cx, argv[0])));
+	h=gethostbyaddr((char *)&addr,sizeof(addr),AF_INET);
+
+	if(h!=NULL && h->h_name!=NULL)
+		*rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,h->h_name));
+
+	return(JS_TRUE);
+
+}
+
 	
 static JSClass js_global_class = {
      "Global"				/* name			*/
@@ -1572,8 +1594,13 @@ static jsMethodSpec js_global_functions[] = {
 	{"md5_calc",		js_md5_calc,		1,	JSTYPE_STRING,	JSDOCSTR("string text [,bool hex]")
 	,JSDOCSTR("calculate and return 128-bit MD5 digest of text string, result encoded in base64 (default) or hexadecimal")
 	},
+	{"gethostbyname",	js_resolve_ip,		1,	JSTYPE_ALIAS },
 	{"resolve_ip",		js_resolve_ip,		1,	JSTYPE_STRING,	JSDOCSTR("string hostname")
-	,JSDOCSTR("resolve IP address of specified hostname")
+	,JSDOCSTR("resolve IP address of specified hostname (AKA gethostbyname)")
+	},
+	{"gethostbyaddr",	js_resolve_host,	1,	JSTYPE_ALIAS },
+	{"resolve_host",	js_resolve_host,	1,	JSTYPE_STRING,	JSDOCSTR("string ip_address")
+	,JSDOCSTR("resolve hostname of specified IP address (AKA gethostbyaddr)")
 	},
 	{0}
 };
-- 
GitLab