*vp = OBJECT_TO_JSVAL(nsIRDFNode::GetJSObject(cx, Target)); NS_RELEASE(Target);
*vp = Target ? OBJECT_TO_JSVAL(nsIRDFNode::GetJSObject(cx, Target)) : 0; NS_IF_RELEASE(Target);
nsIRDFArcsInCursor_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp){  if (!JSVAL_IS_INT(id))    return JS_TRUE;  nsresult result;  nsIRDFArcsInCursor *priv = (nsIRDFArcsInCursor *)JS_GetPrivate(cx, obj);  if (!priv)    return JS_TRUE;  switch (JSVAL_TO_INT(id)) {   case -1:    nsIRDFResource * Label;    result = priv->GetLabel(&Label);    if (NS_FAILED(result))      goto bad;    *vp = OBJECT_TO_JSVAL(nsIRDFResource::GetJSObject(cx, Label));    NS_RELEASE(Label);    break;   case -2:    nsIRDFNode * Target;    result = priv->GetTarget(&Target);    if (NS_FAILED(result))      goto bad;    *vp = OBJECT_TO_JSVAL(nsIRDFNode::GetJSObject(cx, Target));    NS_RELEASE(Target);    break;  }  return JS_TRUE;bad:  JS_ReportError(cx, XXXnsresult2string(result));  return JS_FALSE;}