From 9ef594d4bf41d82bd4f42d05ead12fd3923f12ec Mon Sep 17 00:00:00 2001 From: "brendan%mozilla.org" Date: Fri, 22 Oct 1999 01:44:47 +0000 Subject: [PATCH] Avoid gratuitous initialization and extra sets of ok (r=shaver@mozilla.org). git-svn-id: svn://10.0.0.236/trunk@51482 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/src/jsobj.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/mozilla/js/src/jsobj.c b/mozilla/js/src/jsobj.c index 8f1307164ec..cd67c1db639 100644 --- a/mozilla/js/src/jsobj.c +++ b/mozilla/js/src/jsobj.c @@ -168,25 +168,26 @@ obj_setSlot(JSContext *cx, JSObject *obj, jsval id, jsval *vp) static JSBool obj_getCount(JSContext *cx, JSObject *obj, jsval id, jsval *vp) { - jsval iter_state = JSVAL_NULL; + jsval iter_state; jsid num_properties; - JSBool ok = JS_FALSE; + JSBool ok; /* Get the number of properties to enumerate. */ - if (!OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &iter_state, &num_properties)) + iter_state = JSVAL_NULL; + ok = OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &iter_state, &num_properties); + if (!ok) goto out; + if (!JSVAL_IS_INT(num_properties)) { JS_ASSERT(0); + *vp = JSVAL_ZERO; goto out; } *vp = num_properties; - ok = JS_TRUE; - - out: - if (iter_state != JSVAL_NULL && - !OBJ_ENUMERATE(cx, obj, JSENUMERATE_DESTROY, &iter_state, 0)) - ok = JS_FALSE; +out: + if (iter_state != JSVAL_NULL) + ok = OBJ_ENUMERATE(cx, obj, JSENUMERATE_DESTROY, &iter_state, 0); return ok; } @@ -2382,8 +2383,8 @@ js_Enumerate(JSContext *cx, JSObject *obj, JSIterateOp enum_op, if (proto_obj && (scope == (JSScope *)proto_obj->map)) { ida = js_NewIdArray(cx, 0); if (!ida) { - JS_UNLOCK_OBJ(cx, obj); - goto init_error; + JS_UNLOCK_OBJ(cx, obj); + goto init_error; } } else { /* Object has a private scope; Enumerate all props in scope. */