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

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [email protected]
  Module: rpm                              Date:   11-Dec-2009 18:28:33
  Branch: HEAD                             Handle: 2009121117283300

  Modified files:
    rpm/js/tscripts         Mi.js

  Log:
    - js: attempt to catch endian issues with rpmmi persistent primary keys.
    - js: ensure that rpmmi and header instances argree.

  Summary:
    Revision    Changes     Path
    1.11        +6  -12     rpm/js/tscripts/Mi.js
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/js/tscripts/Mi.js
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 Mi.js
  --- rpm/js/tscripts/Mi.js     11 Dec 2009 16:09:22 -0000      1.10
  +++ rpm/js/tscripts/Mi.js     11 Dec 2009 17:28:33 -0000      1.11
  @@ -29,10 +29,9 @@
   var bingo = 0;
   var npkgs = 0;
   for (var [dbkey,h] in Iterator(mi)) {
  -//    nack("h.instance", 0);
  -//    ack("h.instance", mi.instance);
       ack("mi.instance != 0", true);
       ack("mi.instance < 0x0000ffff", true);
  +    ack("mi.instance == h.dbinstance", true);
       if (h[RPMTAG_NAME] == N) {
        hdrNum = mi.instance;
        V = h[RPMTAG_VERSION];
  @@ -45,27 +44,21 @@
       bingo = 1;
   }
   ack("bingo", 1);
  -nack("npkgs", 0);
  -ack("hdrNum != 0", true);
  -ack("hdrNum < 0x0000ffff", true);
  -nack("NVRA", N);
   delete mi;
   
   function doITER(ts, tag, key) {
       this.mi = new Mi(ts, tag, key);
       this.bingo = 0;
  -//  this.dbkey = null;
  -//  this.h = null;
       for ([this.dbkey,this.h] in Iterator(this.mi)) {
        ack("this.h.name", N);
        ack("this.h.nvra", NVRA);
  -     ack("this.mi.instance < 0x0000ffff", true);
  -     ack("this.mi.instance", hdrNum);
  +     ack("this.mi.instance == hdrNum", true);
  +     ack("this.mi.instance == this.h.dbinstance", true);
        delete this.h;
        this.bingo = 1;
       }
  -    delete this.mi;
       ack("this.bingo", 1);
  +    delete this.mi;
       return true;
   }
   
  @@ -94,7 +87,8 @@
   for (var [dbkey,h] in Iterator(mi)) {
       ack("h.name", N);
       ack("h.nvra", NVRA);
  -//  ack("h.instance", hdrNum);
  +    ack("mi.instance == hdrNum", true);
  +    ack("mi.instance == h.dbinstance", true);
       delete h;
       bingo = 1;
   }
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to