RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   11-Jul-2017 13:50:41
  Branch: rpm-5_4                          Handle: 2017071111504100

  Modified files:           (Branch: rpm-5_4)
    rpm/js                  rpmaug-js.c rpmbf-js.c rpmcudf-js.c rpmdb-js.c
                            rpmdbc-js.c rpmdbe-js.c rpmdc-js.c rpmio-js.c
                            rpmmpf-js.c rpmmpw-js.c rpmseq-js.c rpmsm-js.c
                            rpmts-js.c rpmtxn-js.c

  Log:
    - rpmjs: replace JSVAL_{TRUE,FALSE} returns with
    args.rval().setBoolean().

  Summary:
    Revision    Changes     Path
    1.11.4.11   +10 -10     rpm/js/rpmaug-js.c
    1.10.4.10   +11 -11     rpm/js/rpmbf-js.c
    1.6.4.10    +14 -16     rpm/js/rpmcudf-js.c
    1.31.4.9    +46 -46     rpm/js/rpmdb-js.c
    1.14.4.9    +16 -17     rpm/js/rpmdbc-js.c
    1.21.4.10   +97 -97     rpm/js/rpmdbe-js.c
    1.9.4.10    +4  -4      rpm/js/rpmdc-js.c
    1.9.4.10    +8  -8      rpm/js/rpmio-js.c
    1.7.4.9     +13 -13     rpm/js/rpmmpf-js.c
    1.21.4.10   +6  -6      rpm/js/rpmmpw-js.c
    1.7.4.9     +20 -20     rpm/js/rpmseq-js.c
    1.8.4.9     +3  -3      rpm/js/rpmsm-js.c
    1.33.4.10   +3  -3      rpm/js/rpmts-js.c
    1.11.4.9    +12 -13     rpm/js/rpmtxn-js.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/js/rpmaug-js.c
  ============================================================================
  $ cvs diff -u -r1.11.4.10 -r1.11.4.11 rpmaug-js.c
  --- rpm/js/rpmaug-js.c        11 Jul 2017 11:13:11 -0000      1.11.4.10
  +++ rpm/js/rpmaug-js.c        11 Jul 2017 11:50:41 -0000      1.11.4.11
  @@ -142,11 +142,11 @@
   
       switch (rpmaugInsert(aug, _path, _label, _before)) {
       case 0:  /* success */
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       default:
       case -1: /* failure */
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
        break;
       }
       ok = true;
  @@ -194,11 +194,11 @@
   
       switch (rpmaugMv(aug, _src, _dst)) {
       case 0:  /* success */
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       default:
       case -1: /* failure */
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
        break;
       }
       ok = true;
  @@ -257,11 +257,11 @@
   
       switch (rpmaugSave(aug)) {
       case 0:  /* success */
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       default:
       case -1: /* failure */
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
        break;
       }
       ok = true;
  @@ -281,11 +281,11 @@
   
       switch (rpmaugLoad(aug)) {
       case 0:  /* success */
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       default:
       case -1: /* failure */
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
        break;
       }
       ok = true;
  @@ -310,11 +310,11 @@
   
       switch (rpmaugPrint(aug, NULL, _path)) {
       case 0:  /* success */
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       default:
       case -1: /* failure */
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
        break;
       }
       ok = true;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmbf-js.c
  ============================================================================
  $ cvs diff -u -r1.10.4.9 -r1.10.4.10 rpmbf-js.c
  --- rpm/js/rpmbf-js.c 11 Jul 2017 11:13:11 -0000      1.10.4.9
  +++ rpm/js/rpmbf-js.c 11 Jul 2017 11:50:41 -0000      1.10.4.10
  @@ -31,11 +31,11 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "s", &_s)))
           goto exit;
   
  -    *vp = (rpmbfAdd(bf, _s, 0) == 0 ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean(rpmbfAdd(bf, _s, 0) == 0);
       ok = true;
   exit:
       return ok;
  @@ -53,11 +53,11 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "s", &_s)))
           goto exit;
   
  -    *vp = (rpmbfChk(bf, _s, 0) > 0 ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean(rpmbfChk(bf, _s, 0) > 0);
       ok = true;
   exit:
       return ok;
  @@ -73,7 +73,7 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = (rpmbfClr(bf) == 0 ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean(rpmbfClr(bf) == 0);
       ok = true;
       return ok;
   }
  @@ -90,11 +90,11 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "s", &_s)))
           goto exit;
   
  -    *vp = (rpmbfDel(bf, _s, 0) == 0 ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean(rpmbfDel(bf, _s, 0) == 0);
       ok = true;
   exit:
       return ok;
  @@ -113,13 +113,13 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "o", &o))
        || (_b = JS_GetInstancePrivate(cx, o, &rpmbfClass, NULL)) == NULL)
           goto exit;
   
       if (!rpmbfIntersect(_a, _b))
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
       ok = true;
   exit:
       return ok;
  @@ -138,13 +138,13 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "o", &o))
        || (_b = JS_GetInstancePrivate(cx, o, &rpmbfClass, NULL)) == NULL)
           goto exit;
   
       if (!rpmbfUnion(_a, _b))
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
       ok = true;
   exit:
       return ok;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmcudf-js.c
  ============================================================================
  $ cvs diff -u -r1.6.4.9 -r1.6.4.10 rpmcudf-js.c
  --- rpm/js/rpmcudf-js.c       11 Jul 2017 11:13:11 -0000      1.6.4.9
  +++ rpm/js/rpmcudf-js.c       11 Jul 2017 11:50:41 -0000      1.6.4.10
  @@ -61,7 +61,7 @@
        int _flags = RPMCUDV_CUDF;      /* XXX FIXME */
        const char * _av[] = { _fn, NULL };
        rpmcudf Y = rpmcudfNew((char **)_av, _flags);
  -     *vp = (rpmcudfIsSolution(cudf, Y) ? JSVAL_TRUE : JSVAL_FALSE);
  +     args.rval().setBoolean(rpmcudfIsSolution(cudf, Y));
        Y = rpmcudfFree(Y);
        _fn = _free(_fn);
       } else
  @@ -139,48 +139,46 @@
       if (ptr == NULL)
        return true;
   
  +    args.rval().setUndefined();
       switch (tiny) {
       case _DEBUG:
  -     *vp = INT_TO_JSVAL(_debug);
  +     args.rval().setInt32(_debug);
        break;
       case _HASPREAMBLE:
  -     *vp = (cudf && rpmcudfHasPreamble(cudf) ? JSVAL_TRUE : JSVAL_FALSE);
  +     if (cudf) args.rval().setBoolean(rpmcudfHasPreamble(cudf));
        break;
       case _HASREQUEST:
  -     *vp = (cudf && rpmcudfHasRequest(cudf) ? JSVAL_TRUE : JSVAL_FALSE);
  +     if (cudf) args.rval().setBoolean(rpmcudfHasRequest(cudf));
        break;
       case _ISCONSISTENT:
  -     *vp = (cudf && rpmcudfIsConsistent(cudf) ? JSVAL_TRUE : JSVAL_FALSE);
  +     if (cudf) args.rval().setBoolean(rpmcudfIsConsistent(cudf));
        break;
       case _INSTALLEDSIZE:
  -     *vp = (cudf ? INT_TO_JSVAL(rpmcudfInstalledSize(cudf)) : JSVAL_VOID);
  +     if (cudf) args.rval().setInt32(rpmcudfInstalledSize(cudf));
        break;
       case _UNIVERSESIZE:
  -     *vp = (cudf ? INT_TO_JSVAL(rpmcudfUniverseSize(cudf)) : JSVAL_VOID);
  +     if (cudf) args.rval().setInt32(rpmcudfUniverseSize(cudf));
        break;
       case _PREAMBLE:
        if (cudf && cudf->V.typ == RPMCUDV_CUDFDOC) {
            rpmcudfPrintPreamble(cudf);
  -         *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
  +         args.rval().setString(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
            (void) rpmiobEmpty(cudf->iob);
  -     } else
  -         *vp = JSVAL_VOID;
  +     }
        break;
       case _REQUEST:
        if (cudf && cudf->V.typ == RPMCUDV_CUDFDOC) {
            rpmcudfPrintRequest(cudf);
  -         *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
  +         args.rval().setString(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
            (void) rpmiobEmpty(cudf->iob);
  -     } else
  -         *vp = JSVAL_VOID;
  +     }
        break;
       case _UNIVERSE:
        if (cudf && cudf->V.typ == RPMCUDV_CUDFDOC) {
            rpmcudfPrintUniverse(cudf);
  -         *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
  +         args.rval().setString(JS_NewStringCopyZ(cx, rpmiobStr(cudf->iob)));
            (void) rpmiobEmpty(cudf->iob);
  -     } else
  -         *vp = JSVAL_VOID;
  +     }
        break;
       default:
        break;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmdb-js.c
  ============================================================================
  $ cvs diff -u -r1.31.4.8 -r1.31.4.9 rpmdb-js.c
  --- rpm/js/rpmdb-js.c 11 Jul 2017 11:13:11 -0000      1.31.4.8
  +++ rpm/js/rpmdb-js.c 11 Jul 2017 11:50:41 -0000      1.31.4.9
  @@ -151,7 +151,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "oo/u", &o_txn, &o_db, 
&_flags)))
        goto exit;
  @@ -177,7 +177,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -202,7 +202,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o_db, &_flags)))
  @@ -228,7 +228,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -251,13 +251,13 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = db->close(db, _flags);
        if (ret)
            db->err(db, ret, "DB->close");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        db = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -282,7 +282,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
        goto exit;
  @@ -299,7 +299,7 @@
        if (ret)
            db->err(db, ret, "DB->compact");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -323,7 +323,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/ou", &o, &_flags)))
        goto exit;
  @@ -375,7 +375,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/u", &o, &_kv, &_flags)))
        goto exit;
  @@ -393,7 +393,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        case DB_NOTFOUND:
            *vp = JSVAL_VOID;
  @@ -424,7 +424,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/u", &o, &_kv, &_flags)))
        goto exit;
  @@ -438,12 +438,12 @@
        int ret = db->exists(db, _txn, _RPMDBT_PTR(_k), _flags);
        switch (ret) {
        default:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            db->err(db, ret, "DB->exists");
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        case DB_NOTFOUND:
            *vp = JSVAL_VOID;
  @@ -476,7 +476,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/vu", &o, &_kv, &_dv, 
&_flags)))
        goto exit;
  @@ -500,7 +500,7 @@
   #endif
        switch (ret) {
        default:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            db->err(db, ret, "DB->get");
            goto exit;
            break;
  @@ -538,7 +538,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       /* Build the cursor list. */
       for (i = 0; i < argc; i++) {
  @@ -571,7 +571,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            if ((o = JS_NewObject(cx, &rpmdbcClass, NULL, NULL)) == NULL
             || !JS_SetPrivate(cx, o, (void *)_dbc))
            {
  @@ -605,7 +605,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/u", &o, &_kv, &_flags)))
        goto exit;
  @@ -663,7 +663,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "os/suui", &o, &_file, 
&_database, &_type, &_oflags, &_mode)))
        goto exit;
  @@ -691,7 +691,7 @@
               /* XXX only DB_UPGRADE/DB_VERIFY are currently implemented */
               ret = db->set_feedback(db, rpmdb_feedback);
               if (ret) db->err(db, ret, "DB->set_feedback");
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        }
       }
   
  @@ -721,7 +721,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/vu", &o, &_kv, &_dv, 
&_flags)))
        goto exit;
  @@ -737,7 +737,7 @@
        int ret = db->pget(db, _txn, _RPMDBT_PTR(_k), _RPMDBT_PTR(_p), 
_RPMDBT_PTR(_d), _flags);
        switch (ret) {
        default:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            db->err(db, ret, "DB->pget");
            goto exit;
            break;
  @@ -775,7 +775,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ovv/u", &o, &_kv, &_dv, 
&_flags)))
        goto exit;
  @@ -791,12 +791,12 @@
        int ret = db->put(db, _txn, _RPMDBT_PTR(_k), _RPMDBT_PTR(_d), _flags);
        switch (ret) {
        default:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            db->err(db, ret, "DB->put");
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        case DB_NOTFOUND:
            *vp = JSVAL_VOID;
  @@ -824,7 +824,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "s/s", &_file, &_database)))
        goto exit;
  @@ -835,7 +835,7 @@
        if (ret)
            fprintf(stderr, "db->remove: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        db = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -861,7 +861,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "sss", &_file, &_database, 
&_newname)))
        goto exit;
  @@ -874,7 +874,7 @@
        if (ret)
            db->err(db, ret, "DB->rename");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -898,7 +898,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
        goto exit;
  @@ -912,7 +912,7 @@
        if (ret)
            db->err(db, ret, "DB->stat");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        /* XXX FIXME: format for return. ugh */
        _sp = _free(_sp);
       }
  @@ -936,7 +936,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -946,7 +946,7 @@
        if (ret)
            db->err(db, ret, "DB->stat_print");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -967,7 +967,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       /* XXX check argc? */
   
  @@ -976,7 +976,7 @@
        if (ret)
            db->err(db, ret, "DB->sync");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1000,7 +1000,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       /* XXX check argc? */
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
  @@ -1037,7 +1037,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "s", &_file)))
        goto exit;
  @@ -1049,7 +1049,7 @@
            db->err(db, ret, "DB->upgrade");
            goto exit;
        }
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1073,7 +1073,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (db == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ssu", &_file, &_database, 
&_flags)))
        goto exit;
  @@ -1084,7 +1084,7 @@
        if (ret)
            fprintf(stderr, "db->verify: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        db = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -1355,7 +1355,7 @@
   
       if (d != dorig) {
           if (!JS_NewNumberValue(cx, d, vp))
  -            *vp = JSVAL_FALSE;
  +            args.rval().setBoolean(false);
       } else
        *vp = JSVAL_VOID;
   
  @@ -1563,7 +1563,7 @@
            *vp = !db->set_cachesize(db, _gb, _b, _nc)
                ? JSVAL_TRUE : JSVAL_FALSE;
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        break;
       case _CREATE_DIR:
   #if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8)
  @@ -1579,11 +1579,11 @@
        if (!strcmp(_s, "stdout")) _fp = stdout;
        if (!strcmp(_s, "stderr")) _fp = stderr;
        db->set_errfile(db, _fp);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _ERRPFX:
        db->set_errpfx(db, _s);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _FLAGS:     *vp = _PUT_U(db->set_flags(db, _u));    break;
       case _H_FFACTOR: *vp = _PUT_U(db->set_h_ffactor(db, _u));        break;
  @@ -1598,7 +1598,7 @@
            /* XXX FIXME: fp = fopen(_s, O_RDWR); with error checking */
        }
        db->set_errfile(db, _fp);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _PAGESIZE:  *vp = _PUT_U(db->set_pagesize(db, _u));         break;
       case _PARTITION_DIRS:    break;  /* XXX FIXME */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmdbc-js.c
  ============================================================================
  $ cvs diff -u -r1.14.4.8 -r1.14.4.9 rpmdbc-js.c
  --- rpm/js/rpmdbc-js.c        11 Jul 2017 11:13:11 -0000      1.14.4.8
  +++ rpm/js/rpmdbc-js.c        11 Jul 2017 11:50:41 -0000      1.14.4.9
  @@ -54,13 +54,13 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = dbc->close(dbc);
        if (ret)
            fprintf(stderr, "DBC->close: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        dbc = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -84,7 +84,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o", &_o))
        ||      (_otherdbc = JS_GetInstancePrivate(cx, _o, &rpmdbcClass, NULL)) 
== NULL)
  @@ -102,7 +102,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = (!_result ? JSVAL_TRUE : JSVAL_FALSE);
  +         args.rval().setBoolean(!_result);
            break;
        }
       }
  @@ -125,7 +125,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        db_recno_t _count = 0;
        uint32_t _flags = 0;
  @@ -161,7 +161,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -173,7 +173,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -197,7 +197,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -246,7 +246,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "v/vu", &_kv, &_dv, &_flags)))
        goto exit;
  @@ -301,7 +301,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "v/vu", &_kv, &_dv, &_flags)))
        goto exit;
  @@ -348,7 +348,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbc == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "vv/u", &_kv, &_dv, &_flags)))
        goto exit;
  @@ -361,11 +361,11 @@
        switch (ret) {
        default:
            fprintf(stderr, "DBC->put: %s\n", db_strerror(ret));
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        case DB_NOTFOUND:
            *vp = JSVAL_VOID;
  @@ -459,6 +459,7 @@
       if (ptr == NULL)
        return true;
   
  +    args.rval().setUndefined();
       switch (tiny) {
       case _DEBUG:
        if (!JS_ValueToInt32(cx, *vp, &_debug))
  @@ -468,10 +469,8 @@
       {        uint32_t _u = 0;
        if (JS_ValueToECMAUint32(cx, *vp, &_u)) {
            DB_CACHE_PRIORITY _priority = _u;
  -         *vp = !dbc->set_priority(dbc, _priority)
  -             ? JSVAL_TRUE : JSVAL_FALSE;
  -     } else
  -         *vp = JSVAL_VOID;
  +         args.rval().setBoolean(!dbc->set_priority(dbc, _priority));
  +     }
       }        break;
       default:
        break;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmdbe-js.c
  ============================================================================
  $ cvs diff -u -r1.21.4.9 -r1.21.4.10 rpmdbe-js.c
  --- rpm/js/rpmdbe-js.c        11 Jul 2017 11:13:11 -0000      1.21.4.9
  +++ rpm/js/rpmdbe-js.c        11 Jul 2017 11:50:41 -0000      1.21.4.10
  @@ -165,7 +165,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (dbenv->app_private != NULL) {
        JSObject * _o = NULL;
  @@ -210,13 +210,13 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = dbenv->close(dbenv, _flags);
           if (ret)
            fprintf(stderr, "DB_ENV->close: %s", db_strerror(ret));
           else
  -            *vp = JSVAL_TRUE;
  +            args.rval().setBoolean(true);
        dbenv = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -241,7 +241,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "S/S", &js_file, &js_database)))
        goto exit;
  @@ -255,7 +255,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->dbremove(%s,%s)", _file, _database);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _file = _free(_file);
        _database = _free(_database);
       }
  @@ -281,7 +281,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "SSS", &js_file, &js_database, 
&js_newname)))
        goto exit;
  @@ -296,7 +296,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->dbrename(%s,%s,%s)", _file, 
_database, _newname);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _file = _free(_file);
        _database = _free(_database);
        _newname = _free(_newname);
  @@ -332,10 +332,10 @@
            dbenv->err(dbenv, ret, "DB_ENV->failchk(0x%x)", _flags);
            break;
        case DB_RUNRECOVERY:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -360,7 +360,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "S/u", &js_file, &_flags)))
        goto exit;
  @@ -371,7 +371,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->fileid_reset(%s,0x%x)", _file, 
_flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _file = _free(_file);
       }
       ok = true;
  @@ -394,7 +394,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_atype)))
        goto exit;
  @@ -405,7 +405,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_detect(0x%x,0x%x)", _flags, 
_atype);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -467,7 +467,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "u/uu", &_id, &_flags, &_mode)))
        goto exit;
  @@ -478,7 +478,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_get(0x%x,0x%x,0x%x_", _id, 
_flags, _mode);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _l->mode = _mode;
       }
   
  @@ -533,7 +533,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "u", &_id)))
        goto exit;
  @@ -543,7 +543,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_id_free(0x%x)", _id);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -566,7 +566,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
   #ifdef       NOTYET
       if (!(ok = JS_ConvertArguments(cx, args, "u/uu", &_id, &_flags, 
_lock_mode)))
  @@ -579,7 +579,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_put()");
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -601,7 +601,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -612,7 +612,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -635,7 +635,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -645,7 +645,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -668,7 +668,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "u/u", &_id, &_flags)))
        goto exit;
  @@ -679,7 +679,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lock_vec(0x%x,0x%x)", _id, _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -701,7 +701,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
  @@ -716,7 +716,7 @@
            dbenv->err(dbenv, ret, "DB_ENV->log_archive(0x%x)", _flags);
            break;
        case DB_RUNRECOVERY:
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        case 0:
            if (_av == NULL) {
  @@ -755,7 +755,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -815,7 +815,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "uu", &_lsn.file, 
&_lsn.offset)))
        goto exit;
  @@ -825,7 +825,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_flush(%u:%u)", _lsn.file, 
_lsn.offset);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -847,7 +847,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       /*XXX  FIXME: parse additional arguments */
       if (!(ok = JS_ConvertArguments(cx, args, "S", &js_fmt)))
  @@ -860,7 +860,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_printf(%s)", _fmt);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _fmt = _free(_fmt);
       }
   
  @@ -884,7 +884,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "uu/u", &_lsn.file, 
&_lsn.offset, &_flags)))
        goto exit;
  @@ -897,7 +897,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_put(%u:%u,0x%x)", _lsn.file, 
_lsn.offset, _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -919,7 +919,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -930,7 +930,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -953,7 +953,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -963,7 +963,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->log_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -986,7 +986,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "S/u", &js_file, &_flags)))
        goto exit;
  @@ -997,7 +997,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->lsn_reset(%s,0x%x)", _file, _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _file = _free(_file);
       }
   
  @@ -1021,7 +1021,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -1045,7 +1045,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -1068,7 +1068,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
  @@ -1082,7 +1082,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->memp_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        
        _fsp = _free(_fsp);     /* XXX FIXME: mem leaks */
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
  @@ -1107,7 +1107,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1117,7 +1117,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->memp_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1139,7 +1139,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/uu", &_lsn.file, 
&_lsn.offset)))
        goto exit;
  @@ -1150,7 +1150,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->memp_sync(%p(%u:%u))", lsn, 
_lsn.file, _lsn.offset);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1207,7 +1207,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1217,7 +1217,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_alloc(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1240,14 +1240,14 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (dbenv->app_private != NULL) {
        int ret = dbenv->mutex_free(dbenv, _mutex);
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_free(%p)", (void *)_mutex);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        memset(&_mutex, 0, sizeof(_mutex));
       }
   
  @@ -1271,14 +1271,14 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (dbenv->app_private != NULL) {
        int ret = dbenv->mutex_lock(dbenv, _mutex);
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_lock(%p)", (void *)_mutex);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1300,7 +1300,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1311,7 +1311,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -1334,7 +1334,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1344,7 +1344,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1367,14 +1367,14 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (dbenv->app_private != NULL) {
        int ret = dbenv->mutex_unlock(dbenv, _mutex);
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->mutex_unlock(%p)", (void *)_mutex);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1398,7 +1398,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "Su/i", &js_home, &_eflags, 
&_mode)))
        goto exit;
  @@ -1418,7 +1418,7 @@
            /* XXX only DB_RECOVER is currently implemented */
            ret = dbenv->set_feedback(dbenv, rpmdbe_feedback);
            if (ret) dbenv->err(dbenv, ret, "DB_ENV->set_feedback");
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        }
        _home = _free(_home);
       }
  @@ -1443,7 +1443,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "S/u", &js_home, &_flags)))
        goto exit;
  @@ -1456,7 +1456,7 @@
            _home = _free(_home);
            goto exit;
        } else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _home = _free(_home);
       }
   
  @@ -1481,7 +1481,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/uu", &_nsites, &_nvotes)))
        goto exit;
  @@ -1491,7 +1491,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->rep_elect(%u,%u,0x%x)", _nsites, 
_nvotes, _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1514,7 +1514,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -1538,7 +1538,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -1561,7 +1561,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1572,7 +1572,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->rep_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -1595,7 +1595,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1605,7 +1605,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->rep_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1627,7 +1627,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1637,7 +1637,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->rep_sync(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1660,7 +1660,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
        /* FIXME todo++ */
   
  @@ -1683,7 +1683,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1694,7 +1694,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->repmgr_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -1717,7 +1717,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1727,7 +1727,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->repmgr_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1749,7 +1749,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1759,7 +1759,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1785,7 +1785,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
        goto exit;
  @@ -1835,7 +1835,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/uuu", &_kb, &_minutes, 
&_flags)))
        goto exit;
  @@ -1845,7 +1845,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->txn_checkpoint(%u,%u,0x%x)", _kb, 
_minutes, _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -1868,7 +1868,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
   #ifdef       NOTYET
       if (dbenv->app_private != NULL) {
  @@ -1894,7 +1894,7 @@
            }
            _flags = DB_NEXT;
        }
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
       }
   #endif
   
  @@ -1917,7 +1917,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1928,7 +1928,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->txn_stat(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        _stat = _free(_stat);   /* XXX FIXME: mem leaks */
       }
   
  @@ -1951,7 +1951,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (dbenv == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -1961,7 +1961,7 @@
        if (ret)
            dbenv->err(dbenv, ret, "DB_ENV->txn_stat_print(0x%x)", _flags);
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -2575,11 +2575,11 @@
        if (!strcmp(_s, "stdout")) _fp = stdout;
        if (!strcmp(_s, "stderr")) _fp = stderr;
        dbenv->set_errfile(dbenv, _fp);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _ERRPFX:
        dbenv->set_errpfx(dbenv, _s);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _FLAGS:     break;  /* XXX FIXME */
       case _IDIRMODE:  *vp = _PUT_S(dbenv->set_intermediate_dir_mode(dbenv, 
_s));      break;
  @@ -2592,7 +2592,7 @@
            /* XXX FIXME: fp = fopen(_s, O_RDWR); with error checking */
        }
        dbenv->set_errfile(dbenv, _fp);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
        break;
       case _SHMKEY:
   #if defined(HAVE_FTOK)
  @@ -2608,7 +2608,7 @@
            int ret = dbenv->set_isalive(dbenv, (_u ? rpmdbe_isalive : NULL));
            *vp = (!ret ? JSVAL_TRUE : JSVAL_FALSE);
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        break;
   
   #define      _JUMP(_v, _lbl) _##_v:  _nc = _v;       goto _lbl
  @@ -2653,7 +2653,7 @@
            *vp = !dbenv->set_cache_max(dbenv, _gb, _b)
                ? JSVAL_TRUE : JSVAL_FALSE;
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        break;
       case _CACHESIZE:
        if (!dbenv->get_cachesize(dbenv, &_gb, &_b, &_nc)) {
  @@ -2661,7 +2661,7 @@
            *vp = !dbenv->set_cachesize(dbenv, _gb, _b, _nc)
                ? JSVAL_TRUE : JSVAL_FALSE;
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        break;
       case _NCACHES:
        if (!dbenv->get_cachesize(dbenv, &_gb, &_b, &_nc)) {
  @@ -2669,7 +2669,7 @@
            *vp = !dbenv->set_cachesize(dbenv, _gb, _b, _nc)
                ? JSVAL_TRUE : JSVAL_FALSE;
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        break;
       case _MAXOPENFD:         *vp = _PUT_I(!dbenv->set_mp_max_openfd(dbenv, 
_i)); break;
        /* XXX FIXME dbenv->set_mp_max_write(dbenv, maxwrite, timeout); */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmdc-js.c
  ============================================================================
  $ cvs diff -u -r1.9.4.9 -r1.9.4.10 rpmdc-js.c
  --- rpm/js/rpmdc-js.c 11 Jul 2017 11:13:11 -0000      1.9.4.9
  +++ rpm/js/rpmdc-js.c 11 Jul 2017 11:50:41 -0000      1.9.4.10
  @@ -67,7 +67,7 @@
       dc = rpmDigestInit(_dalgo, _flags);
       (void) JS_SetPrivate(cx, obj, (void *)dc);
   
  -    *vp = JSVAL_TRUE;
  +    args.rval().setBoolean(true);
       ok = true;
   exit:
       return ok;
  @@ -86,7 +86,7 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (!(ok = JS_ConvertArguments(cx, args, "s", &s)))
           goto exit;
       if (dc == NULL)
  @@ -94,7 +94,7 @@
   
       if (s && (ns = strlen(s)) > 0)
        (void) rpmDigestUpdate(dc, s, ns);
  -    *vp = JSVAL_TRUE;
  +    args.rval().setBoolean(true);
   
       ok = true;
   exit:
  @@ -114,7 +114,7 @@
   
   _METHOD_DEBUG_ENTRY(_debug);
   
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
       if (dc == NULL)
        goto exit;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmio-js.c
  ============================================================================
  $ cvs diff -u -r1.9.4.9 -r1.9.4.10 rpmio-js.c
  --- rpm/js/rpmio-js.c 11 Jul 2017 11:13:12 -0000      1.9.4.9
  +++ rpm/js/rpmio-js.c 11 Jul 2017 11:50:41 -0000      1.9.4.10
  @@ -194,7 +194,7 @@
       FD_t fd = (FD_t) ptr;
   
   _METHOD_DEBUG_ENTRY(_debug);
  -    *vp = (fd && !Ferror(fd) ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean(fd && !Ferror(fd));
       return true;
   }
   
  @@ -207,7 +207,7 @@
       FD_t fd = (FD_t) ptr;
   
   _METHOD_DEBUG_ENTRY(_debug);
  -    *vp = (fd && !Fflush(fd) ? JSVAL_TRUE : JSVAL_FALSE);
  +    args.rval().setBoolean((fd && !Fflush(fd));
       return true;
   }
   
  @@ -219,7 +219,7 @@
       RootedObject obj(cx, JS_THIS_OBJECT(cx, vp));
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmioClass, nullptr);
       FD_t fd = (FD_t) ptr;
  -    bool ok = JSVAL_TRUE;
  +    bool ok = true;
       int rc = -3;
   
   _METHOD_DEBUG_ENTRY(_debug);
  @@ -309,7 +309,7 @@
            *vp = JSVAL_VOID;           /* XXX goofy? */
        else
        if (Ferror(fd))
  -         *vp = JSVAL_FALSE;  /* XXX goofy? */
  +         args.rval().setBoolean(false);      /* XXX goofy? */
        else {
            b[nr] = '\0';
            *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, b));
  @@ -433,9 +433,9 @@
        if (nw == 0)
            *vp = JSVAL_VOID;           /* XXX goofy? */
        else
  -         *vp = (nw != nb || Ferror(fd) ? JSVAL_FALSE : JSVAL_TRUE);
  +         args.rval().setBoolean((nw != nb || Ferror(fd));
       } else
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
   
       ok = true;
   exit:
  @@ -455,9 +455,9 @@
       /* XXX should return fd object */
       if (fd) {
        Rewind(fd);
  -     *vp = JSVAL_TRUE;
  +     args.rval().setBoolean(true);
       } else
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
       return ok;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmmpf-js.c
  ============================================================================
  $ cvs diff -u -r1.7.4.8 -r1.7.4.9 rpmmpf-js.c
  --- rpm/js/rpmmpf-js.c        11 Jul 2017 11:13:12 -0000      1.7.4.8
  +++ rpm/js/rpmmpf-js.c        11 Jul 2017 11:50:41 -0000      1.7.4.9
  @@ -60,7 +60,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (mpf == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -69,7 +69,7 @@
        if (ret)
            fprintf(stderr, "DB_MPOOLFILE->close: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        mpf = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -94,7 +94,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (mpf == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
        goto exit;
  @@ -111,7 +111,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -139,7 +139,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (mpf == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/suiu", &_file, &_flags, 
&_mode, &_pagesize)))
        goto exit;
  @@ -152,7 +152,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -176,7 +176,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (mpf == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_priority)))
        goto exit;
  @@ -187,11 +187,11 @@
        switch (ret) {
        default:
            fprintf(stderr, "DB_MPOOLFILE->put: %s\n", db_strerror(ret));
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
       }
  @@ -214,12 +214,12 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (mpf == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = mpf->sync(mpf);
        if (ret)
            fprintf(stderr, "DB_MPOOLFILE->sync: %s\n", db_strerror(ret));
  -     *vp = (!ret ? JSVAL_TRUE : JSVAL_FALSE);
  +     args.rval().setBoolean(!ret);
       }
   
       ok = true;
  @@ -340,11 +340,11 @@
            break;
        break;
       case _CLEARLEN:  *vp = _PUT_U(!mpf->set_clear_len(mpf, _u)); break;
  -    case _FLAGS:     *vp = JSVAL_FALSE; break;       /* XXX FIXME */
  +    case _FLAGS:     args.rval().setBoolean(false); break;   /* XXX FIXME */
       case _FTYPE:     *vp = _PUT_I(!mpf->set_ftype(mpf, _i)); break;
       case _LSNOFFSET: *vp = _PUT_I(!mpf->set_lsn_offset(mpf, _i)); break;
       case _MAXSIZE:   *vp = _PUT_U(!mpf->set_maxsize(mpf, _gb, _u)); break;
  -    case _PGCOOKIE:  *vp = JSVAL_FALSE; break;       /* XXX FIXME */
  +    case _PGCOOKIE:  args.rval().setBoolean(false); break;   /* XXX FIXME */
       case _PRIORITY:  *vp = _PUT_U(mpf->set_priority(mpf, 
(DB_CACHE_PRIORITY)_u)); break;
   
       default:
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmmpw-js.c
  ============================================================================
  $ cvs diff -u -r1.21.4.9 -r1.21.4.10 rpmmpw-js.c
  --- rpm/js/rpmmpw-js.c        11 Jul 2017 11:13:12 -0000      1.21.4.9
  +++ rpm/js/rpmmpw-js.c        11 Jul 2017 11:50:41 -0000      1.21.4.10
  @@ -1852,10 +1852,10 @@
                ? JSVAL_TRUE : JSVAL_FALSE;
            mpbfree(&b);
        } else
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        randomGeneratorContextFree(&rngc);
       } else
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
       return ok;
   }
   
  @@ -1943,10 +1943,10 @@
        mpwObject * y = mpw_j2mpw(cx, args[1]);
   
        if (x->ob_size < 0 && y->ob_size > 0)
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        else
        if (x->ob_size > 0 && y->ob_size < 0)
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        else
        if (x->ob_size < 0 && y->ob_size < 0)
            *vp = mpgtx(MPW_SIZE(x), MPW_DATA(x), MPW_SIZE(y), MPW_DATA(y))
  @@ -1987,10 +1987,10 @@
        mpwObject * y = mpw_j2mpw(cx, args[1]);
   
        if (x->ob_size < 0 && y->ob_size > 0)
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        else
        if (x->ob_size > 0 && y->ob_size < 0)
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        else
        if (x->ob_size < 0 && y->ob_size < 0)
            *vp = mpltx(MPW_SIZE(x), MPW_DATA(x), MPW_SIZE(y), MPW_DATA(y))
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmseq-js.c
  ============================================================================
  $ cvs diff -u -r1.7.4.8 -r1.7.4.9 rpmseq-js.c
  --- rpm/js/rpmseq-js.c        11 Jul 2017 11:13:12 -0000      1.7.4.8
  +++ rpm/js/rpmseq-js.c        11 Jul 2017 11:50:41 -0000      1.7.4.9
  @@ -56,7 +56,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -65,7 +65,7 @@
        if (ret)
            fprintf(stderr, "DB_SEQUENCE->close: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        seq = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -91,7 +91,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/iu", &o, &_delta, &_flags)))
        goto exit;
  @@ -112,7 +112,7 @@
        case 0:
            d = _seqno;
            if (!JS_NewNumberValue(cx, d, vp))
  -             *vp = JSVAL_FALSE;
  +             args.rval().setBoolean(false);
            break;
        }
       }
  @@ -140,7 +140,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "ov/u", &o, &_kv, &_flags)))
        goto exit;
  @@ -157,7 +157,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            seq->api_internal = obj;
            break;
        }
  @@ -184,7 +184,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "o/u", &o, &_flags)))
        goto exit;
  @@ -199,7 +199,7 @@
            goto exit;
            break;
        case 0:
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
            break;
        }
        seq = ptr = NULL;
  @@ -225,7 +225,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -235,7 +235,7 @@
        if (ret)
            fprintf(stderr, "DB_SEQUENCE->stat: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        sp = _free(sp);
       }
   
  @@ -258,7 +258,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (seq == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -267,7 +267,7 @@
        if (ret)
            fprintf(stderr, "DB_SEQUENCE->stat_print: %s\n", db_strerror(ret));
        else
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -374,7 +374,7 @@
        }
        d = _i;
        if (!JS_NewNumberValue(cx, d, vp))
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
       }        break;
       case _FLAGS:
       {        uint32_t _u = 0;
  @@ -384,7 +384,7 @@
        }
        d = _u;
        if (!JS_NewNumberValue(cx, d, vp))
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
       }        break;
       case _RANGEMIN:
       case _RANGEMAX:
  @@ -400,7 +400,7 @@
        case _RANGEMAX: d = _max;       break;
        }
        if (!JS_NewNumberValue(cx, d, vp))
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
       }        break;
       case _ST_WAIT:
       case _ST_NOWAIT:
  @@ -431,7 +431,7 @@
        }
        sp = _free(sp);
        if (!JS_NewNumberValue(cx, d, vp))
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
       }        break;
       default:
        break;
  @@ -461,7 +461,7 @@
       case _CACHESIZE:
       {        int32_t _i = 0;
        if (seq->api_internal != NULL || !JS_ValueToNumber(cx, *vp, &d)) {
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        }
        _i = d;
  @@ -471,7 +471,7 @@
       case _FLAGS:
       {        uint32_t _u = 0;
        if (seq->api_internal != NULL || !JS_ValueToNumber(cx, *vp, &d)) {
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        }
        _u = d;
  @@ -482,7 +482,7 @@
       {        db_seq_t _ival = 0;
   
        if (seq->api_internal != NULL || !JS_ValueToNumber(cx, *vp, &d)) {
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        }
        _ival = d;
  @@ -495,7 +495,7 @@
        db_seq_t _max = 0;
   
        if (seq->api_internal != NULL || !JS_ValueToNumber(cx, *vp, &d)) {
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
            break;
        }
        if ((ret = seq->get_range(seq, &_min, &_max)) != 0) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmsm-js.c
  ============================================================================
  $ cvs diff -u -r1.8.4.8 -r1.8.4.9 rpmsm-js.c
  --- rpm/js/rpmsm-js.c 11 Jul 2017 11:13:12 -0000      1.8.4.8
  +++ rpm/js/rpmsm-js.c 11 Jul 2017 11:50:41 -0000      1.8.4.9
  @@ -243,13 +243,13 @@
        int rc = rpmsmRun(sm, (char **)av, &result);
   
        if (rc < 0)
  -         *vp = JSVAL_FALSE;
  +         args.rval().setBoolean(false);
        else if (rc == 0 || result == NULL)
  -         *vp = JSVAL_TRUE;
  +         args.rval().setBoolean(true);
        else
            *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, result));
       } else
  -     *vp = JSVAL_FALSE;
  +     args.rval().setBoolean(false);
   
       ok = true;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmts-js.c
  ============================================================================
  $ cvs diff -u -r1.33.4.9 -r1.33.4.10 rpmts-js.c
  --- rpm/js/rpmts-js.c 11 Jul 2017 11:13:12 -0000      1.33.4.9
  +++ rpm/js/rpmts-js.c 11 Jul 2017 11:50:41 -0000      1.33.4.10
  @@ -234,10 +234,10 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       /* XXX rebuild requires root. */
  -    if (getuid())
  -     *vp = JSVAL_VOID;
  +    if (ts && !getuid())
  +     args.rval().setBoolean(!rpmtsRebuildDB(ts));
       else
  -     *vp = (ts && !rpmtsRebuildDB(ts)) ? JSVAL_TRUE : JSVAL_FALSE;
  +     args.rval().setUndefined();
       ok = true;
   
       return ok;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmtxn-js.c
  ============================================================================
  $ cvs diff -u -r1.11.4.8 -r1.11.4.9 rpmtxn-js.c
  --- rpm/js/rpmtxn-js.c        11 Jul 2017 11:13:12 -0000      1.11.4.8
  +++ rpm/js/rpmtxn-js.c        11 Jul 2017 11:50:41 -0000      1.11.4.9
  @@ -54,13 +54,13 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (txn == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = txn->abort(txn);
           if (ret)
            fprintf(stderr, "DB_TXN->abort: %s", db_strerror(ret));
           else
  -            *vp = JSVAL_TRUE;
  +            args.rval().setBoolean(true);
        txn = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -84,7 +84,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (txn == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "/u", &_flags)))
        goto exit;
  @@ -93,7 +93,7 @@
           if (ret)
            fprintf(stderr, "DB_TXN->commit: %s", db_strerror(ret));
           else
  -            *vp = JSVAL_TRUE;
  +            args.rval().setBoolean(true);
        txn = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -117,13 +117,13 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (txn == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       {        int ret = txn->discard(txn, _flags);
           if (ret)
            fprintf(stderr, "DB_TXN->discard: %s", db_strerror(ret));
           else
  -            *vp = JSVAL_TRUE;
  +            args.rval().setBoolean(true);
        txn = ptr = NULL;
        (void) JS_SetPrivate(cx, obj, ptr);
       }
  @@ -151,7 +151,7 @@
   _METHOD_DEBUG_ENTRY(_debug);
   
       if (txn == NULL) goto exit;
  -    *vp = JSVAL_FALSE;
  +    args.rval().setBoolean(false);
   
       if (!(ok = JS_ConvertArguments(cx, args, "s", &_s)))
        goto exit;
  @@ -162,7 +162,7 @@
           if (ret)
            fprintf(stderr, "DB_TXN->prepare: %s", db_strerror(ret));
           else
  -            *vp = JSVAL_TRUE;
  +            args.rval().setBoolean(true);
       }
   
       ok = true;
  @@ -246,6 +246,7 @@
       if (ptr == NULL)
        return true;
   
  +    args.rval().setUndefined();
       switch (tiny) {
       case _DEBUG:
        if (!JS_ValueToInt32(cx, *vp, &_debug))
  @@ -253,7 +254,7 @@
        break;
       case _NAME:
       {        const char * _s = JS_EncodeString(cx, JS_ValueToString(cx, 
*vp));
  -     *vp = !txn->set_name(txn, _s) ? JSVAL_TRUE : JSVAL_FALSE;
  +     args.rval().setBoolean(!txn->set_name(txn, _s));
        _s = _free(_s);
       }        break;
   #define      _JUMP(_v, _lbl) _##_v:  _flags = _v;    goto _lbl
  @@ -264,10 +265,8 @@
       {        uint32_t _u = 0;
           if (JS_ValueToECMAUint32(cx, *vp, &_u)) {
            db_timeout_t _timeout = _u;
  -         *vp = !txn->set_timeout(txn, _timeout, _flags)
  -                     ? JSVAL_TRUE : JSVAL_FALSE;
  -     } else
  -         *vp = JSVAL_VOID;
  +         args.rval().setBoolean(!txn->set_timeout(txn, _timeout, _flags));
  +     }
       }        break;
   
       default:
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to