From c1a33d6bd3b1186471045f86907485d2bb5bba0c Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Tue, 10 Nov 2009 22:06:59 +0000
Subject: [PATCH] Rather than copnstructing the prototype, simply return whem
 resolving with a NULL private data.

---
 src/sbbs3/js_user.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c
index 3677bbcbb3..c78344c647 100644
--- a/src/sbbs3/js_user.c
+++ b/src/sbbs3/js_user.c
@@ -1202,14 +1202,13 @@ static JSBool js_user_resolve(JSContext *cx, JSObject *obj, jsval id)
 	JSObject*		newobj;
 	private_t*		p;
 
+	if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL)
+		return(JS_TRUE);
+
 	if(id != JSVAL_NULL)
 		name=JS_GetStringBytes(JSVAL_TO_STRING(id));
 
 	if(name==NULL || strcmp(name, "stats")==0) {
-		if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) {
-			JS_ReportError(cx,getprivate_failure,WHERE);
-			return(JS_FALSE);
-		}
 		/* user.stats */
 		if((newobj=JS_DefineObject(cx, obj, "stats"
 			,&js_user_stats_class, NULL, JSPROP_ENUMERATE|JSPROP_READONLY))==NULL) 
@@ -1225,10 +1224,6 @@ static JSBool js_user_resolve(JSContext *cx, JSObject *obj, jsval id)
 	}
 
 	if(name==NULL || strcmp(name, "security")==0) {
-		if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) {
-			JS_ReportError(cx,getprivate_failure,WHERE);
-			return(JS_FALSE);
-		}
 		/* user.security */
 		if((newobj=JS_DefineObject(cx, obj, "security"
 			,&js_user_security_class, NULL, JSPROP_ENUMERATE|JSPROP_READONLY))==NULL) 
@@ -1243,10 +1238,6 @@ static JSBool js_user_resolve(JSContext *cx, JSObject *obj, jsval id)
 	}
 
 	if(name==NULL || strcmp(name, "limits")==0) {
-		if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) {
-			JS_ReportError(cx,getprivate_failure,WHERE);
-			return(JS_FALSE);
-		}
 		/* user.limits */
 		if((newobj=JS_DefineObject(cx, obj, "limits"
 			,&js_user_limits_class, NULL, JSPROP_ENUMERATE|JSPROP_READONLY))==NULL) 
@@ -1270,7 +1261,7 @@ static JSBool js_user_enumerate(JSContext *cx, JSObject *obj)
 
 static JSClass js_user_class = {
      "User"					/* name			*/
-    ,JSCLASS_HAS_PRIVATE|JSCLASS_CONSTRUCT_PROTOTYPE	/* flags		*/
+    ,JSCLASS_HAS_PRIVATE	/* flags		*/
 	,JS_PropertyStub		/* addProperty	*/
 	,JS_PropertyStub		/* delProperty	*/
 	,js_user_get			/* getProperty	*/
-- 
GitLab