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:   27-Mar-2009 22:17:44
  Branch: HEAD                             Handle: 2009032721174102

  Modified files:
    rpm                     CHANGES
    rpm/lib                 .splintrc depends.c fs.h fsm.c manifest.h
                            poptALL.c poptQV.c psm.c psm.h query.c rpmal.c
                            rpmds.c rpmds.h rpmfc.c rpmfc.h rpmfi.c rpmfi.h
                            rpmgi.c rpmgi.h rpmps.c rpmps.h rpmsx.c rpmsx.h
                            rpmte.c rpmte.h rpmts.c rpmts.h transaction.c
                            verify.c
    rpm/rpmdb               rpmtypes.h

  Log:
    - jbj: rpmlib: rescusitate splint annotations.

  Summary:
    Revision    Changes     Path
    1.2882      +1  -0      rpm/CHANGES
    2.21        +15 -4      rpm/lib/.splintrc
    1.440       +1  -1      rpm/lib/depends.c
    1.7         +2  -4      rpm/lib/fs.h
    2.185       +10 -4      rpm/lib/fsm.c
    2.8         +1  -2      rpm/lib/manifest.h
    2.119       +10 -0      rpm/lib/poptALL.c
    2.62        +2  -0      rpm/lib/poptQV.c
    2.354       +26 -12     rpm/lib/psm.c
    2.73        +4  -0      rpm/lib/psm.h
    2.211       +1  -1      rpm/lib/query.c
    2.75        +4  -0      rpm/lib/rpmal.c
    2.141       +14 -8      rpm/lib/rpmds.c
    2.80        +8  -0      rpm/lib/rpmds.h
    1.63        +6  -4      rpm/lib/rpmfc.c
    1.18        +2  -2      rpm/lib/rpmfc.h
    2.145       +11 -2      rpm/lib/rpmfi.c
    2.74        +4  -0      rpm/lib/rpmfi.h
    2.66        +12 -6      rpm/lib/rpmgi.c
    2.32        +4  -0      rpm/lib/rpmgi.h
    2.33        +5  -3      rpm/lib/rpmps.c
    2.27        +4  -0      rpm/lib/rpmps.h
    2.27        +6  -3      rpm/lib/rpmsx.c
    2.19        +4  -0      rpm/lib/rpmsx.h
    2.100       +16 -6      rpm/lib/rpmte.c
    2.65        +9  -2      rpm/lib/rpmte.h
    2.167       +12 -9      rpm/lib/rpmts.c
    2.118       +1  -1      rpm/lib/rpmts.h
    1.400       +4  -0      rpm/lib/transaction.c
    2.196       +2  -0      rpm/lib/verify.c
    1.2         +2  -0      rpm/rpmdb/rpmtypes.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2881 -r1.2882 CHANGES
  --- rpm/CHANGES       27 Mar 2009 17:41:59 -0000      1.2881
  +++ rpm/CHANGES       27 Mar 2009 21:17:41 -0000      1.2882
  @@ -1,5 +1,6 @@
   
   5.2a3 -> 5.2a4:
  +    - jbj: rpmlib: rescusitate splint annotations.
       - jbj: rpmdb: rescusitate splint annotations.
       - jbj: rpmtsOrder: fully enable parentdir deps when ordering.
       - jbj: EVRtuple: fix: dig out the one time mire allocation leak.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/.splintrc
  ============================================================================
  $ cvs diff -u -r2.20 -r2.21 .splintrc
  --- rpm/lib/.splintrc 13 Dec 2008 20:37:56 -0000      2.20
  +++ rpm/lib/.splintrc 27 Mar 2009 21:17:42 -0000      2.21
  @@ -1,4 +1,4 @@
  --I. -I.. -I../build -I../rpmdb -I../rpmio -I../xar/include 
-I/usr/include/beecrypt -I/usr/include/nss3 -I/usr/include/nspr4 
-DHAVE_CONFIG_H -D_GNU_SOURCE -D__STDC__=1
  +-I. -I.. -I../build -I../rpmdb -I../rpmio -I../db3 -I../xar/include 
-I/usr/include/beecrypt -I/usr/include/nss3 -I/usr/include/nspr4 
-DHAVE_CONFIG_H -D_GNU_SOURCE -D__STDC__=1
   
   +partial
   +forcehints
  @@ -18,24 +18,35 @@
   
   -bounds
   -branchstate
  --checkpost
   
  +-abstract            # 234
   -compdef
   -compmempass
  +-evalorder           # 100
  +-globs                       # 8 h_errno et al
   -incondefs           # 12
  +-internalglobs               # 39
  +-modfilesys          # 83
   -modobserver         # 7
  --moduncon
   -noeffect            # 3
  --noeffectuncon
  +-nullassign
   -nullderef           # 18
   -nullpass            # 31
  +-nullptrarith
  +-nullret
   -nullstate           # 23    HE_t needs null annotations
   -redecl                      # 38
  +-shadow
   -type
   -usereleased         # 26
   
   -kepttrans           # 37
  +-newreftrans
   -onlytrans           # 29
  +-ownedtrans
  +-refcounttrans               # 24
  +-temptrans
  +-unqualifiedtrans
   
   # --- +partial artifacts
   -declundef
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/depends.c
  ============================================================================
  $ cvs diff -u -r1.439 -r1.440 depends.c
  --- rpm/lib/depends.c 27 Mar 2009 17:26:36 -0000      1.439
  +++ rpm/lib/depends.c 27 Mar 2009 21:17:42 -0000      1.440
  @@ -2468,7 +2468,7 @@
   
            /* XXX Attempt to avoid loops by filtering out deep paths. */
            if (countSlashes(rpmdsN(requires)) > slashDepth)
  -             continue;
  +             /*...@innercontinue@*/ continue;
   
            /* T3. Record next "q <- p" relation (i.e. "p" requires "q"). */
            (void) addRelation(ts, p, selected, requires);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/fs.h
  ============================================================================
  $ cvs diff -u -r1.6 -r1.7 fs.h
  --- rpm/lib/fs.h      13 Dec 2008 20:37:56 -0000      1.6
  +++ rpm/lib/fs.h      27 Mar 2009 21:17:42 -0000      1.7
  @@ -28,8 +28,7 @@
                /*...@null@*/ /*...@out@*/ rpmuint32_t * num)
        /*...@globals h_errno, fileSystem, internalState @*/
        /*...@modifies *listptr, *num, fileSystem, internalState @*/
  -     /*...@requires maxSet(listptr) >= 0 /\ maxSet(num) >= 0 @*/
  -     /*...@ensures maxRead(num) == 0 @*/;
  +     /*...@requires maxSet(listptr) >= 0 /\ maxSet(num) >= 0 @*/;
   /*...@=incondefs@*/
   
   /**
  @@ -50,8 +49,7 @@
        /*...@modifies *usagesPtr, rpmGlobalMacroContext,
                fileSystem, internalState @*/
        /*...@requires maxSet(fileList) >= 0 /\ maxSet(fssizes) == 0
  -             /\ maxSet(usagesPtr) >= 0 @*/
  -     /*...@ensures maxRead(usagesPtr) == 0 @*/;
  +             /\ maxSet(usagesPtr) >= 0 @*/;
   /*...@=incondefs@*/
   
   #ifdef __cplusplus
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/fsm.c
  ============================================================================
  $ cvs diff -u -r2.184 -r2.185 fsm.c
  --- rpm/lib/fsm.c     26 Mar 2009 18:07:31 -0000      2.184
  +++ rpm/lib/fsm.c     27 Mar 2009 21:17:42 -0000      2.185
  @@ -157,7 +157,9 @@
       FSMI_t iter = NULL;
   
       iter = xcalloc(1, sizeof(*iter));
  +/*...@-assignexpose -castexpose @*/
       iter->fi = rpmfiLink(fi, "mapIterator");
  +/*...@=assignexpose =castexpose @*/
       iter->reverse = reverse;
       iter->i = (iter->reverse ? (fi->fc - 1) : 0);
       iter->isave = iter->i;
  @@ -674,15 +676,17 @@
   
       fsm->goal = goal;
       if (cfd != NULL) {
  -/*...@-refcounttrans@*/      /* FIX: XfdLink annotation */
  +/*...@-assignexpose -castexpose @*/
        fsm->cfd = fdLink(cfd, "persist (fsm)");
  -/*...@=refcounttrans@*/
  +/*...@=assignexpose =castexpose @*/
        pos = fdGetCpioPos(fsm->cfd);
        fdSetCpioPos(fsm->cfd, 0);
       }
   /*...@-mods@*/       /* LCL: avoid void * _ts/_fi annotations for now. */
       fsm->iter = mapInitIterator(fi, reverse);
  +/*...@-assignexpose -castexpose @*/
       fsm->iter->ts = rpmtsLink(ts, "mapIterator");
  +/*...@=assignexpose =castexpose @*/
       fsm->nofcontexts = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS);
   /*...@=mods@*/
       fsm->nofdigests =
  @@ -772,9 +776,10 @@
       fsm->fcontext = NULL;
       if (!fsm->nofcontexts) {
        security_context_t scon = NULL;
  +/*...@-moduncon@*/
        int xx = matchpathcon(fsm->path, fsm->sb.st_mode, &scon);
  +/*...@=moduncon@*/
   
  -/*...@-moduncon@*/
        if (!xx && scon != NULL)
            fsm->fcontext = scon;
   #ifdef       DYING   /* XXX SELinux file contexts not set from package 
content. */
  @@ -787,7 +792,6 @@
                fsm->fcontext = (fi->fcontexts ? fi->fcontexts[i] : NULL);
        }
   #endif
  -/*...@=moduncon@*/
       }
       return 0;
   }
  @@ -1493,9 +1497,11 @@
                    security_context_t scon = NULL;
                    /* XXX FIXME? only new dir will have context set. */
                    /* Get file security context from patterns. */
  +/*...@-moduncon@*/
                    if (!fsm->nofcontexts
                     && !matchpathcon(fsm->path, st->st_mode, &scon)
                     && scon != NULL)
  +/*...@=moduncon@*/
                    {
                        fsm->fcontext = scon;
                        rc = fsmNext(fsm, IOSM_LSETFCON);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/manifest.h
  ============================================================================
  $ cvs diff -u -r2.7 -r2.8 manifest.h
  --- rpm/lib/manifest.h        18 Oct 2004 01:08:56 -0000      2.7
  +++ rpm/lib/manifest.h        27 Mar 2009 21:17:42 -0000      2.8
  @@ -18,8 +18,7 @@
   /*...@-incondefs@*/
   /*...@only@*/
   char * rpmPermsString(int mode)      
  -     /*...@*/
  -     /*...@ensures maxSet(result) == 10 /\ maxRead(result) == 10 @*/;
  +     /*...@*/;
   /*...@=incondefs@*/
   
   /**
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/poptALL.c
  ============================================================================
  $ cvs diff -u -r2.118 -r2.119 poptALL.c
  --- rpm/lib/poptALL.c 26 Mar 2009 21:51:38 -0000      2.118
  +++ rpm/lib/poptALL.c 27 Mar 2009 21:17:42 -0000      2.119
  @@ -466,18 +466,24 @@
        /*...@globals keyids @*/
        /*...@modifies keyids @*/
   {
  +/*...@-nestedextern@*/
       extern rpmioPool _headerPool;
   #ifdef       NOTYET
       extern rpmioPool _rpmmiPool;
   #endif
       extern rpmioPool _rpmdbPool;
       extern rpmioPool _rpmwfPool;
  +    extern const char * evr_tuple_order;
       extern const char * evr_tuple_match;
       extern miRE evr_tuple_mire;
  +/*...@=nestedextern@*/
   
  +/*...@-mods@*/
  +    evr_tuple_order = _free(evr_tuple_order);
       evr_tuple_match = _free(evr_tuple_match);
       evr_tuple_mire = mireFree(evr_tuple_mire);
   
  +/*...@-onlyunqglobaltrans@*/
       _rpmgiPool = rpmioFreePool(_rpmgiPool);
   
       _psmPool = rpmioFreePool(_psmPool);
  @@ -498,6 +504,8 @@
       _rpmwfPool = rpmioFreePool(_rpmwfPool);
       _rpmdbPool = rpmioFreePool(_rpmdbPool);
       _headerPool = rpmioFreePool(_headerPool);
  +/*...@=onlyunqglobaltrans@*/
  +/*...@=mods@*/
   
       /* XXX this should be done in the rpmioClean() wrapper. */
       /* keeps memory leak checkers quiet */
  @@ -525,7 +533,9 @@
       /*...@=noeffect@*/
   #endif
   
  +/*...@-globstate@*/
       return NULL;
  +/*...@=globstate@*/
   }
   
   static inline int checkfd(const char * devnull, int fdno, int flags)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/poptQV.c
  ============================================================================
  $ cvs diff -u -r2.61 -r2.62 poptQV.c
  --- rpm/lib/poptQV.c  25 Jan 2009 18:38:01 -0000      2.61
  +++ rpm/lib/poptQV.c  27 Mar 2009 21:17:42 -0000      2.62
  @@ -206,6 +206,8 @@
    * return            0 on success
    */
   static int poptReadFile(const char * fn, char ** bp, size_t * nbp, int flags)
  +     /*...@globals errno @*/
  +     /*...@modifies *bp, *nbp, errno @*/
   {
       int fdno;
       char * b = NULL;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/psm.c
  ============================================================================
  $ cvs diff -u -r2.353 -r2.354 psm.c
  --- rpm/lib/psm.c     26 Mar 2009 20:09:01 -0000      2.353
  +++ rpm/lib/psm.c     27 Mar 2009 21:17:42 -0000      2.354
  @@ -145,23 +145,24 @@
   }
   
   static rpmRC createDir(rpmts ts, const char ** fn, const char * name)
  +     /*...@globals rpmGlobalMacroContext @*/
  +     /*...@modifies *fn, rpmGlobalMacroContext @*/
   {
  -    rpmRC rc;
       const char * N = rpmGenPath(rpmtsRootDir(ts), name, "");
       char * t = xstrdup(name+2);
  +    rpmRC rc;
  +
       t[strlen(t)-1] = '\0';
   
       if(fn) *fn = N;
   
       rc = rpmMkdirPath(N, t+1);
  -    if (!rc)
  -    {
  +    if (rc != RPMRC_OK) {
        if (Access(N, W_OK))
  -         rpmlog(RPMLOG_ERR, _("cannot write to %%%s %s\n"),
  -                 t, N);
  +         rpmlog(RPMLOG_ERR, _("cannot write to %%%s %s\n"), t, N);
   #if defined(RPM_VENDOR_OPENPKG) /* switch-from-susr-to-musr-on-srpm-install 
*/
        else
  -         chown(N, fi->uid, fi->gid);
  +         Chown(N, fi->uid, fi->gid);
   #endif
       }
       t = _free(t);
  @@ -187,7 +188,9 @@
       int i;
   
       memset(psm, 0, sizeof(*psm));
  +/*...@-assignexpose -castexpose @*/
       psm->ts = rpmtsLink(ts, "InstallSourcePackage");
  +/*...@=assignexpose =castexpose @*/
   
   /*...@-mods@*/       /* Avoid void * _fd annotations for now. */
       rpmrc = rpmReadPackageFile(ts, fd, "InstallSourcePackage", &h);
  @@ -240,9 +243,9 @@
   assert(((rpmte)fi->te)->h == NULL);  /* XXX headerFree side effect */
       (void) rpmteSetHeader(fi->te, fi->h);
   /*...@-mods@*/       /* LCL: avoid void * _fd annotation for now. */
  -/*...@-refcounttrans -temptrans @*/  /* FIX: XfdLink annotation */
  +/*...@-assignexpose -castexpose -temptrans @*/
       ((rpmte)fi->te)->fd = fdLink(fd, "installSourcePackage");
  -/*...@=refcounttrans =temptrans @*/
  +/*...@=assignexpose =castexpose =temptrans @*/
   /*...@=mods@*/
   
       (void) headerMacrosLoad(fi->h);
  @@ -379,8 +382,10 @@
   
       if (fi != NULL) {
        (void) rpmteSetHeader(fi->te, NULL);
  +/*...@-mods@*/       /* Avoid void * _fd annotations for now. */
        if (((rpmte)fi->te)->fd != NULL)
            (void) Fclose(((rpmte)fi->te)->fd);
  +/*...@=mods@*/
        ((rpmte)fi->te)->fd = NULL;
        fi->te = NULL;
   #if 0
  @@ -1418,7 +1423,9 @@
       }
       tagno = _trigger_tag;
   
  +/*...@-castexpose@*/
       triggers = rpmdsLink(psm->triggers, "ImmedTriggers");
  +/*...@=castexpose@*/
       if (triggers == NULL)
        goto exit;
   
  @@ -1545,6 +1552,7 @@
       /*...@noteached@*/
   }
   
  +/*...@-mustmod@*/
   static void rpmpsmFini(void * _psm)
        /*...@modifies _psm @*/
   {
  @@ -1570,12 +1578,14 @@
       psm->triggers = NULL;
   /*...@=nullstate@*/
   }
  +/*...@=mustmod@*/
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _psmPool;
   
   static rpmpsm rpmpsmGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _psmPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _psmPool, fileSystem, internalState @*/
   {
       rpmpsm psm;
   
  @@ -1592,15 +1602,17 @@
       static const char msg[] = "rpmpsmNew";
       rpmpsm psm = rpmpsmGetPool(_psmPool);
   
  +/*...@-assignexpose -castexpose @*/
       if (ts)  psm->ts = rpmtsLink(ts, msg);
   #ifdef       NOTYET
       if (te)  psm->te = rpmteLink(te, msg);
   #else
  -/*...@-assignexpose -temptrans @*/
  +/*...@-temptrans @*/
       if (te)  psm->te = te;
  -/*...@=assignexpose =temptrans @*/
  +/*...@=temptrans @*/
   #endif
       if (fi)  psm->fi = rpmfiLink(fi, msg);
  +/*...@=assignexpose =castexpose @*/
   
       psm->triggers = NULL;
       psm->NVRA = NULL;
  @@ -2781,8 +2793,10 @@
        psm->mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES,
                                &fi->record, sizeof(fi->record));
        fi->h = rpmdbNextIterator(psm->mi);
  +/*...@-castexpose@*/
        if (fi->h != NULL)
            fi->h = headerLink(fi->h);
  +/*...@=castexpose@*/
        psm->mi = rpmdbFreeIterator(psm->mi);
   
        if (fi->h != NULL) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/psm.h
  ============================================================================
  $ cvs diff -u -r2.72 -r2.73 psm.h
  --- rpm/lib/psm.h     26 Mar 2009 20:09:01 -0000      2.72
  +++ rpm/lib/psm.h     27 Mar 2009 21:17:42 -0000      2.73
  @@ -170,6 +170,10 @@
       pkgStage stage;          /*!< Current psm stage. */
       pkgStage nstage;         /*!< Next psm stage. */
   
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   
   #ifdef __cplusplus
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/query.c
  ============================================================================
  $ cvs diff -u -r2.210 -r2.211 query.c
  --- rpm/lib/query.c   14 Oct 2008 23:01:40 -0000      2.210
  +++ rpm/lib/query.c   27 Mar 2009 21:17:42 -0000      2.211
  @@ -653,7 +653,7 @@
   
        if (*s == '\0') {
            char fnbuf[PATH_MAX];
  -         fn = realpath(arg, fnbuf);
  +         fn = Realpath(arg, fnbuf);
            fn = xstrdup( (fn != NULL ? fn : arg) );
        } else if (*arg != '/') {
            const char *curDir = currentDirectory();
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmal.c
  ============================================================================
  $ cvs diff -u -r2.74 -r2.75 rpmal.c
  --- rpm/lib/rpmal.c   26 Mar 2009 20:09:01 -0000      2.74
  +++ rpm/lib/rpmal.c   27 Mar 2009 21:17:42 -0000      2.75
  @@ -369,10 +369,14 @@
       alp->key = key;
       alp->tscolor = tscolor;
   
  +/*...@-assignexpose -castexpose @*/
       alp->provides = rpmdsLink(provides, "Provides (rpmalAdd)");
       alp->fi = rpmfiLink(fi, "Files (rpmalAdd)");
  +/*...@=assignexpose =castexpose @*/
   
  +/*...@-castexpose@*/
       fi = rpmfiLink(alp->fi, "Files index (rpmalAdd)");
  +/*...@=castexpose@*/
       fi = rpmfiInit(fi, 0);
       if (rpmfiFC(fi) > 0) {
        dirInfo dieNeedle =
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.c
  ============================================================================
  $ cvs diff -u -r2.140 -r2.141 rpmds.c
  --- rpm/lib/rpmds.c   26 Mar 2009 20:09:01 -0000      2.140
  +++ rpm/lib/rpmds.c   27 Mar 2009 21:17:42 -0000      2.141
  @@ -179,11 +179,12 @@
        ds->include = mireFreeAll(ds->include, ds->ninclude);
   }
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmdsPool;
   
   static rpmds rpmdsGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmdsPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmdsPool, fileSystem, internalState @*/
   {
       rpmds ds;
   
  @@ -956,10 +957,10 @@
   #endif
       size_t nb;
   
  +/*...@-assignexpose -castexpose @*/
       ds->h = (ods->h != NULL ? headerLink(ods->h) : NULL);
  -/*...@-assignexpose@*/
       ds->Type = ods->Type;
  -/*...@=assignexpose@*/
  +/*...@=assignexpose =castexpose @*/
       ds->tagN = ods->tagN;
       ds->Count = ods->Count;
       ds->i = ods->i;
  @@ -3660,8 +3661,8 @@
       return rc;
   }
   
  -/*...@unchecked@*/ /*...@null@*/
  -static const char * evr_tuple_order = NULL;
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
  +const char * evr_tuple_order = NULL;
   
   /**
    * Return precedence permutation string.
  @@ -3669,15 +3670,20 @@
    */
   /*...@observer@*/
   static const char * rpmdsEVRorder(void)
  -     /*...@*/
  +     /*...@globals evr_tuple_order @*/
  +     /*...@modifies evr_tuple_order @*/
   {
       if (evr_tuple_order == NULL) {
  +/*...@-mods@*/
        evr_tuple_order = rpmExpand("%{?evr_tuple_order}", NULL);
  +/*...@=mods@*/
        if (evr_tuple_order == NULL || evr_tuple_order[0] == '\0')
            evr_tuple_order = xstrdup("EVR");
       }
   assert(evr_tuple_order != NULL && evr_tuple_order[0] != '\0');
  +/*...@-freshtrans@*/
       return evr_tuple_order;
  +/*...@=freshtrans@*/
   }
   
   int rpmdsCompare(const rpmds A, const rpmds B)
  @@ -3728,7 +3734,7 @@
       for (s = rpmdsEVRorder(); *s; s++) {
        int ix;
           switch ((int)*s) {
  -        default:        continue;       /*...@notreached@*/ break;
  +        default:        continue;       
/*...@notreached@*//*...@switchbreak@*/ break;
           case 'E':
            ix = RPMEVR_E;
            if (a->F[ix] && *a->F[ix] && b->F[ix] && *b->F[ix])
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.h
  ============================================================================
  $ cvs diff -u -r2.79 -r2.80 rpmds.h
  --- rpm/lib/rpmds.h   26 Mar 2009 20:09:01 -0000      2.79
  +++ rpm/lib/rpmds.h   27 Mar 2009 21:17:42 -0000      2.80
  @@ -75,6 +75,10 @@
       unsigned l;                      /*!< Low element (bsearch). */
       unsigned u;                      /*!< High element (bsearch). */
       int nopromote;           /*!< Don't promote Epoch: in rpmdsCompare()? */
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   #endif       /* _RPMDS_INTERNAL */
   
  @@ -114,6 +118,10 @@
       rpmds D;         /*!< Dirnames */
   /*...@refcounted@*/ /*...@null@*/
       rpmds L;         /*!< Linktos */
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   #endif       /* _RPMPRCO_INTERNAL */
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfc.c
  ============================================================================
  $ cvs diff -u -r1.62 -r1.63 rpmfc.c
  --- rpm/lib/rpmfc.c   26 Mar 2009 20:09:01 -0000      1.62
  +++ rpm/lib/rpmfc.c   27 Mar 2009 21:17:42 -0000      1.63
  @@ -302,7 +302,6 @@
        /*...@globals internalState @*/
        /*...@modifies buf, internalState @*/
        /*...@requires maxSet(buf) >= 0 @*/
  -     /*...@ensures maxRead(buf) == 0 @*/
   {
       rpmTag tagN = rpmdsTagN(ds);
       char deptype = 'X';
  @@ -1808,8 +1807,9 @@
       return rc;
   }
   
  +/*...@-mustmod@*/
   static void rpmfcFini(void *_fc)
  -     /*...@modifies *_fc @*/
  +     /*...@modifies _fc @*/
   {
       rpmfc fc = _fc;
   
  @@ -1832,12 +1832,14 @@
       fc->iob_python = rpmiobFree(fc->iob_python);
       fc->iob_php = rpmiobFree(fc->iob_php);
   }
  +/*...@=mustmod@*/
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmfcPool;
   
   static rpmfc rpmfcGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmfcPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmfcPool, fileSystem, internalState @*/
   {
       rpmfc fc;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfc.h
  ============================================================================
  $ cvs diff -u -r1.17 -r1.18 rpmfc.h
  --- rpm/lib/rpmfc.h   25 Mar 2009 13:38:42 -0000      1.17
  +++ rpm/lib/rpmfc.h   27 Mar 2009 21:17:42 -0000      1.18
  @@ -8,7 +8,7 @@
   
   /**
    */
  -typedef /*...@abstract@*/ struct rpmfc_s * rpmfc;
  +typedef /*...@abstract@*/ /*...@refcounted@*/ struct rpmfc_s * rpmfc;
   
   /**
    */
  @@ -216,7 +216,7 @@
    */
   /*...@unused@*/ /*...@newref@*/ /*...@null@*/
   rpmfc rpmfcLink (/*...@null@*/ rpmfc fc)
  -     /*...@modifies ds @*/;
  +     /*...@modifies fc @*/;
   #define      rpmfcLink(_fc)  \
        ((rpmfc)rpmioLinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, 
__LINE__))
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfi.c
  ============================================================================
  $ cvs diff -u -r2.144 -r2.145 rpmfi.c
  --- rpm/lib/rpmfi.c   26 Mar 2009 20:09:01 -0000      2.144
  +++ rpm/lib/rpmfi.c   27 Mar 2009 21:17:42 -0000      2.145
  @@ -772,10 +772,14 @@
            validRelocations = _free(validRelocations);
        }
        /* XXX FIXME multilib file actions need to be checked. */
  +/*...@-castexpose@*/
        return headerLink(origH);
  +/*...@=castexpose@*/
       }
   
  +/*...@-castexpose@*/
       h = headerLink(origH);
  +/*...@=castexpose@*/
   
       relocations = alloca(sizeof(*relocations) * numRelocations);
   
  @@ -1180,7 +1184,9 @@
       fn = _free(fn);
   /*...@=dependenttrans@*/
   
  +/*...@-retalias@*/
       return h;
  +/*...@=retalias@*/
   }
   
   int rpmfiSetHeader(rpmfi fi, Header h)
  @@ -1188,8 +1194,10 @@
       if (fi->h != NULL)
        (void)headerFree(fi->h);
       fi->h = NULL;
  +/*...@-assignexpose -castexpose @*/
       if (h != NULL)
        fi->h = headerLink(h);
  +/*...@=assignexpose =castexpose @*/
       return 0;
   }
   
  @@ -1261,11 +1269,12 @@
       fi->h = NULL;
   }
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmfiPool;
   
   static rpmfi rpmfiGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmfiPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmfiPool, fileSystem, internalState @*/
   {
       rpmfi fi;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfi.h
  ============================================================================
  $ cvs diff -u -r2.73 -r2.74 rpmfi.h
  --- rpm/lib/rpmfi.h   26 Mar 2009 20:09:01 -0000      2.73
  +++ rpm/lib/rpmfi.h   27 Mar 2009 21:17:42 -0000      2.74
  @@ -235,6 +235,10 @@
       int magic;
   #define      RPMFIMAGIC      0x09697923
   /*=============================*/
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   
   #endif       /* _RPMFI_INTERNAL */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmgi.c
  ============================================================================
  $ cvs diff -u -r2.65 -r2.66 rpmgi.c
  --- rpm/lib/rpmgi.c   26 Mar 2009 18:07:31 -0000      2.65
  +++ rpm/lib/rpmgi.c   27 Mar 2009 21:17:42 -0000      2.66
  @@ -455,8 +455,10 @@
       return rpmrc;
   }
   
  +/*...@-mustmod@*/
   static void rpmgiFini(void * _gi)
  -     /*...@modifies *_gi @*/
  +     /*...@globals rpmGlobalMacroContext @*/
  +     /*...@modifies _gi, rpmGlobalMacroContext @*/
   {
       rpmgi gi = _gi;
       int xx;
  @@ -481,12 +483,14 @@
       (void)rpmtsFree(gi->ts); 
       gi->ts = NULL;
   }
  +/*...@=mustmod@*/
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmgiPool;
   
   static rpmgi rpmgiGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmgiPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmgiPool, fileSystem, internalState @*/
   {
       rpmgi gi;
   
  @@ -505,7 +509,9 @@
       if (gi == NULL)  /* XXX can't happen */
        return NULL;
   
  +/*...@-assignexpose -castexpose @*/
       gi->ts = rpmtsLink(ts, "rpmgiNew");
  +/*...@=assignexpose =castexpose @*/
       gi->tsOrder = rpmtsOrder;
       gi->tag = (rpmTag) tag;
   /*...@-assignexpose@*/
  @@ -754,9 +760,9 @@
   
        /* Permit access to indices used for depsolving. */
        if (!(gi->flags & RPMGI_ERASING)) {
  -         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMTAG_PROVIDENAME);
  -         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMTAG_BASENAMES);
  -         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), +RPMDBI_DEPENDS);
  +         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMTAG_PROVIDENAME);
  +         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMTAG_BASENAMES);
  +         xx = rpmdbBlockDBI(rpmtsGetRdb(ts), RPMDBI_DEPENDS);
        }
   
        /* XXX query/verify will need the glop added to a buffer instead. */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmgi.h
  ============================================================================
  $ cvs diff -u -r2.31 -r2.32 rpmgi.h
  --- rpm/lib/rpmgi.h   26 Mar 2009 20:09:01 -0000      2.31
  +++ rpm/lib/rpmgi.h   27 Mar 2009 21:17:42 -0000      2.32
  @@ -79,6 +79,10 @@
   /*...@null@*/
       rpmRC (*stash) (rpmgi gi, Header h);
   
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   #endif
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmps.c
  ============================================================================
  $ cvs diff -u -r2.32 -r2.33 rpmps.c
  --- rpm/lib/rpmps.c   20 Mar 2009 18:28:33 -0000      2.32
  +++ rpm/lib/rpmps.c   27 Mar 2009 21:17:42 -0000      2.33
  @@ -20,12 +20,12 @@
   /*...@unchecked@*/
   int _rpmps_debug = 0;
   
  -
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmpsPool;
   
   static rpmps rpmpsGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmpsPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmpsPool, fileSystem, internalState @*/
   {
       rpmps ps;
   
  @@ -50,7 +50,9 @@
       rpmpsi psi = NULL;
       if (ps != NULL) {
        psi = xcalloc(1, sizeof(*psi));
  +/*...@-assignexpose -castexpose @*/
        psi->ps = rpmpsLink(ps, "iter ref");
  +/*...@=assignexpose =castexpose @*/
        psi->ix = -1;
       }
       return psi;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmps.h
  ============================================================================
  $ cvs diff -u -r2.26 -r2.27 rpmps.h
  --- rpm/lib/rpmps.h   26 Mar 2009 20:09:01 -0000      2.26
  +++ rpm/lib/rpmps.h   27 Mar 2009 21:17:42 -0000      2.27
  @@ -86,6 +86,10 @@
       int numProblems;         /*!< Current probs array size. */
       int numProblemsAlloced;  /*!< Allocated probs array size. */
       rpmProblem probs;                /*!< Array of specific problems. */
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   
   /**
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmsx.c
  ============================================================================
  $ cvs diff -u -r2.26 -r2.27 rpmsx.c
  --- rpm/lib/rpmsx.c   21 Mar 2009 21:53:40 -0000      2.26
  +++ rpm/lib/rpmsx.c   27 Mar 2009 21:17:42 -0000      2.27
  @@ -203,8 +203,9 @@
       return -1;
   }
   
  +/*...@-mustmod@*/
   static void rpmsxFini(void * _sx)
  -     /*...@modifies *_sx @*/
  +     /*...@modifies _sx @*/
   {
       rpmsx sx = _sx;
       int i;
  @@ -227,12 +228,14 @@
       }
       sx->sxs = _free(sx->sxs);
   }
  +/*...@=mustmod@*/
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmsxPool;
   
   static rpmsx rpmsxGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmsxPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmsxPool, fileSystem, internalState @*/
   {
       rpmsx sx;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmsx.h
  ============================================================================
  $ cvs diff -u -r2.18 -r2.19 rpmsx.h
  --- rpm/lib/rpmsx.h   26 Mar 2009 20:09:01 -0000      2.18
  +++ rpm/lib/rpmsx.h   27 Mar 2009 21:17:42 -0000      2.19
  @@ -72,6 +72,10 @@
       int nsxs;                        /*!< No. of file stems. */
       int maxsxs;                      /*!< No. of allocated file stems. */
       int reverse;             /*!< Reverse traversal? */
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   #endif /* defined(_RPMSX_INTERNAL) */
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmte.c
  ============================================================================
  $ cvs diff -u -r2.99 -r2.100 rpmte.c
  --- rpm/lib/rpmte.c   26 Mar 2009 18:07:31 -0000      2.99
  +++ rpm/lib/rpmte.c   27 Mar 2009 21:17:42 -0000      2.100
  @@ -205,18 +205,19 @@
   }
   
   static void rpmteFini(void * _te)
  -     /*...@modifies *_te @*/
  +     /*...@modifies _te @*/
   {
       rpmte te = _te;
   
       delTE(te);
   }
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmtePool;
   
   static rpmte rpmteGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmtePool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmtePool, fileSystem, internalState @*/
   {
       rpmte te;
   
  @@ -276,7 +277,9 @@
   
   Header rpmteHeader(rpmte te)
   {
  +/*...@-castexpose -retalias -retexpose @*/
       return (te != NULL && te->h != NULL ? headerLink(te->h) : NULL);
  +/*...@=castexpose =retalias =retexpose @*/
   }
   
   Header rpmteSetHeader(rpmte te, Header h)
  @@ -284,8 +287,10 @@
       if (te != NULL)  {
        (void)headerFree(te->h);
        te->h = NULL;
  +/*...@-assignexpose -castexpose @*/
        if (h != NULL)
            te->h = headerLink(h);
  +/*...@=assignexpose =castexpose @*/
       }
       return NULL;
   }
  @@ -715,8 +720,9 @@
       return tsi->ocsave;
   }
   
  +/*...@-mustmod@*/
   static void rpmtsiFini(void * _tsi)
  -     /*...@modifies *_tsi @*/
  +     /*...@modifies _tsi @*/
   {
       rpmtsi tsi = _tsi;
   /*...@-internalglobs@*/
  @@ -724,12 +730,14 @@
       tsi->ts = NULL;
   /*...@=internalglobs@*/
   }
  +/*...@=mustmod@*/
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmtsiPool;
   
   static rpmtsi rpmtsiGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmtsiPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmtsiPool, fileSystem, internalState @*/
   {
       rpmtsi tsi;
   
  @@ -745,7 +753,9 @@
   {
       rpmtsi tsi = rpmtsiGetPool(_rpmtsiPool);
   
  +/*...@-assignexpose -castexpose @*/
       tsi->ts = rpmtsLink(ts, "rpmtsi");
  +/*...@=assignexpose =castexpose @*/
       tsi->reverse = 0;
       tsi->oc = (tsi->reverse ? (rpmtsNElements(ts) - 1) : 0);
       tsi->ocsave = tsi->oc;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmte.h
  ============================================================================
  $ cvs diff -u -r2.64 -r2.65 rpmte.h
  --- rpm/lib/rpmte.h   26 Mar 2009 20:09:01 -0000      2.64
  +++ rpm/lib/rpmte.h   27 Mar 2009 21:17:42 -0000      2.65
  @@ -22,7 +22,7 @@
   /** \ingroup rpmte
    * Transaction element iterator.
    */
  -typedef /*...@abstract@*/ struct rpmtsi_s *          rpmtsi;
  +typedef /*...@abstract@*/ /*...@refcounted@*/ struct rpmtsi_s *rpmtsi;
   
   /** \ingroup rpmte
    * Transaction element type.
  @@ -175,7 +175,10 @@
            int dboffset;
        } removed;
       } u;
  -
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   
   /** \ingroup rpmte
  @@ -188,6 +191,10 @@
       int reverse;     /*!< reversed traversal? */
       int ocsave;              /*!< last returned iterator index. */
       int oc;          /*!< iterator index. */
  +#if defined(__LCLINT__)
  +/*...@refs@*/
  +    int nrefs;                       /*!< (unused) keep splint happy */
  +#endif
   };
   
   #endif       /* _RPMTE_INTERNAL */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmts.c
  ============================================================================
  $ cvs diff -u -r2.166 -r2.167 rpmts.c
  --- rpm/lib/rpmts.c   26 Mar 2009 18:07:31 -0000      2.166
  +++ rpm/lib/rpmts.c   27 Mar 2009 21:17:42 -0000      2.167
  @@ -507,7 +507,9 @@
       if (ts) {
        if (ts->probs == NULL)
            ts->probs = rpmpsCreate();
  +/*...@-castexpose@*/
        ps = rpmpsLink(ts->probs, msg);
  +/*...@=castexpose@*/
       }
       return ps;
   }
  @@ -622,7 +624,7 @@
   }
   
   static void rpmtsFini(void * _ts)
  -     /*...@modifies *_ts @*/
  +     /*...@modifies _ts @*/
   {
       rpmts ts = _ts;
   
  @@ -684,11 +686,12 @@
       }
   }
   
  -/*...@unchecked@*/ /*...@null@*/
  +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/
   rpmioPool _rpmtsPool;
   
   static rpmts rpmtsGetPool(/*...@null@*/ rpmioPool pool)
  -     /*...@modifies pool @*/
  +     /*...@globals _rpmtsPool, fileSystem, internalState @*/
  +     /*...@modifies pool, _rpmtsPool, fileSystem, internalState @*/
   {
       rpmts ts;
   
  @@ -894,15 +897,15 @@
   
       if (ts != NULL) {
        if (ts->scriptFd != NULL) {
  -/*...@-refcounttrans@*/      /* FIX: XfdFree annotation */
  +/*...@-assignexpose@*/
            ts->scriptFd = fdFree(ts->scriptFd, "rpmtsSetScriptFd");
  -/*...@=refcounttrans@*/
  +/*...@=assignexpose@*/
            ts->scriptFd = NULL;
        }
  -/*...@-refcounttrans@*/      /* FIX: XfdLink annotation */
  +/*...@-assignexpose -castexpose @*/
        if (scriptFd != NULL)
            ts->scriptFd = fdLink((void *)scriptFd, "rpmtsSetScriptFd");
  -/*...@=refcounttrans@*/
  +/*...@=assignexpose =castexpose @*/
       }
   }
   
  @@ -1192,9 +1195,9 @@
        /*...@-type@*/ /* FIX: cast? */
        /*...@-noeffectuncon @*/ /* FIX: check rc */
        if (te) {
  -/*...@-mods@*/       /* XXX noisy in transaction.c */
  +/*...@-castexpose -m...@*/   /* XXX noisy in transaction.c */
            h = headerLink(te->h);
  -/*...@=mods@*/
  +/*...@=castexpose =m...@*/
            cbkey = rpmteKey(te);
        } else {
            h = NULL;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmts.h
  ============================================================================
  $ cvs diff -u -r2.117 -r2.118 rpmts.h
  --- rpm/lib/rpmts.h   27 Mar 2009 17:42:00 -0000      2.117
  +++ rpm/lib/rpmts.h   27 Mar 2009 21:17:42 -0000      2.118
  @@ -861,7 +861,7 @@
   /*...@null@*/
   void * rpmtsNotify(rpmts ts, rpmte te,
                   rpmCallbackType what, rpmuint64_t amount, rpmuint64_t total)
  -     /*...@*/;
  +     /*...@modifies te @*/;
   
   /** \ingroup rpmts
    * Return number of (ordered) transaction set elements.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/transaction.c
  ============================================================================
  $ cvs diff -u -r1.399 -r1.400 transaction.c
  --- rpm/lib/transaction.c     26 Mar 2009 20:09:01 -0000      1.399
  +++ rpm/lib/transaction.c     27 Mar 2009 21:17:42 -0000      1.400
  @@ -1203,7 +1203,9 @@
   
       if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS)) {
        const char * fn = rpmGetPath("%{?_install_file_context_path}", NULL);
  +/*...@-moduncon@*/
        int xx = matchpathcon_init(fn);
  +/*...@=moduncon@*/
           if (xx == -1)
            (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | 
RPMTRANS_FLAG_NOCONTEXTS));
        fn = _free(fn);
  @@ -1991,8 +1993,10 @@
        pi = rpmtsiFree(pi);
       }
   
  +/*...@-moduncon -noeffectuncon @*/
       if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS))
        matchpathcon_fini();
  +/*...@=moduncon =noeffectuncon @*/
   
       lock = rpmtsFreeLock(lock);
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/verify.c
  ============================================================================
  $ cvs diff -u -r2.195 -r2.196 verify.c
  --- rpm/lib/verify.c  21 Mar 2009 17:32:45 -0000      2.195
  +++ rpm/lib/verify.c  27 Mar 2009 21:17:42 -0000      2.196
  @@ -297,7 +297,9 @@
       te = t = buf;
       *te = '\0';
   
  +/*...@-castexpose@*/
       fi = rpmfiLink(fi, "verifyHeader");
  +/*...@=castexpose@*/
       fi = rpmfiInit(fi, 0);
       if (fi != NULL)  /* XXX lclint */
       while ((i = rpmfiNext(fi)) >= 0) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmtypes.h
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 rpmtypes.h
  --- rpm/rpmdb/rpmtypes.h      30 Jul 2008 22:14:36 -0000      1.1
  +++ rpm/rpmdb/rpmtypes.h      27 Mar 2009 21:17:43 -0000      1.2
  @@ -47,6 +47,8 @@
    */
   typedef /*...@abstract@*/ /*...@refcounted@*/ struct rpmgi_s * rpmgi;
   
  +/**
  + */
   typedef struct rpmRelocation_s * rpmRelocation;
   
   #endif /* _H_RPMTYPES_ */
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to