From 087a743e446737983c7f39fc3d2aacca0f74a28d Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 17 Nov 2004 01:48:29 +0000 Subject: [PATCH] Using JSAPI function JS_GetClass() instead of private OBJ_GET_CLASS() macro (which requires #inclusion of private jsobj.h header file) in js_socket(). To get the correct prototype for JS_GetClass, JS_THREADSAFE must be defined (next commit). --- src/sbbs3/js_socket.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index b71da1235c..bda676376f 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -39,8 +39,6 @@ #ifdef JAVASCRIPT -#include <jsobj.h> /* Needed for OBJ_GET_CLASS macro */ - typedef struct { SOCKET sock; @@ -147,10 +145,11 @@ static ushort js_port(JSContext* cx, jsval val, int type) SOCKET DLLCALL js_socket(JSContext *cx, jsval val) { void* vp; + JSClass* cl; SOCKET sock=INVALID_SOCKET; - if(JSVAL_IS_OBJECT(val)) { - if(OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(val))->flags & JSCLASS_HAS_PRIVATE) + if(JSVAL_IS_OBJECT(val) && (cl=JS_GetClass(cx,JSVAL_TO_OBJECT(val)))!=NULL) { + if(cl->flags&JSCLASS_HAS_PRIVATE) if((vp=JS_GetPrivate(cx,JSVAL_TO_OBJECT(val)))!=NULL) sock=*(SOCKET*)vp; } else if(val!=JSVAL_VOID) -- GitLab