diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index b71da1235c96171fafb0b60d5bdb38221d356819..bda676376f3aef572333f23c4f29512031474559 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)