diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index e4827d99a8a989786ed4852fe9830af9e556873f..23c4ff572634aa7873d1fd2b6572a5927e5a8291 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -740,11 +740,13 @@ static JSBool js_get_msg_header_resolve(JSContext *cx, JSObject *obj, jsid id) privatemsg_t* p; char* name=NULL; jsrefcount rc; - jsval idval; - JS_IdToValue(cx, id, &idval); - if(idval != JSVAL_NULL) + if(id != JSID_VOID && id != JSID_EMPTY) { + jsval idval; + + JS_IdToValue(cx, id, &idval); name=JS_GetStringBytes(JSVAL_TO_STRING(idval)); + } /* If we have already enumerated, we're done here... */ if((p=(privatemsg_t*)JS_GetPrivate(cx,obj))==NULL) @@ -928,7 +930,7 @@ static JSBool js_get_msg_header_enumerate(JSContext *cx, JSObject *obj) { privatemsg_t* p; - js_get_msg_header_resolve(cx, obj, JSVAL_NULL); + js_get_msg_header_resolve(cx, obj, JSID_VOID); if((p=(privatemsg_t*)JS_GetPrivate(cx,obj))==NULL) return(JS_TRUE); @@ -1488,7 +1490,7 @@ js_save_msg(JSContext *cx, uintN argc, jsval *arglist) } if(!SMB_IS_OPEN(&(p->smb))) { - if(!js_open(cx, arglist, &open_rval)) + if(!js_open(cx, 0, arglist)) return(JS_FALSE); if(JS_RVAL(cx, arglist) == JSVAL_FALSE) return(JS_TRUE); @@ -1878,18 +1880,20 @@ static jsSyncMethodSpec js_msgbase_functions[] = { static JSBool js_msgbase_resolve(JSContext *cx, JSObject *obj, jsid id) { char* name=NULL; - jsval idval; - JS_IdToValue(cx, id, &idval); - if(idval != JSVAL_NULL) + if(id != JSID_VOID && id != JSID_EMPTY) { + jsval idval; + + JS_IdToValue(cx, id, &idval); name=JS_GetStringBytes(JSVAL_TO_STRING(idval)); + } return(js_SyncResolve(cx, obj, name, js_msgbase_properties, js_msgbase_functions, NULL, 0)); } static JSBool js_msgbase_enumerate(JSContext *cx, JSObject *obj) { - return(js_msgbase_resolve(cx, obj, JSVAL_NULL)); + return(js_msgbase_resolve(cx, obj, JSID_VOID)); } static JSClass js_msgbase_class = {