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