Remove dbi_tear_down, now that rpmdb's are closed on signals.
authorjbj <devnull@localhost>
Sat, 3 Aug 2002 22:31:39 +0000 (22:31 +0000)
committerjbj <devnull@localhost>
Sat, 3 Aug 2002 22:31:39 +0000 (22:31 +0000)
lclint fiddles.

CVS patchset: 5596
CVS date: 2002/08/03 22:31:39

build/files.c
lib/poptQV.c
lib/rpmds.c
lib/rpmds.h
lib/verify.c
rpmdb/db3.c
rpmdb/dbconfig.c
rpmdb/rpmdb.c
rpmdb/rpmdb.h
rpmio/rpmpgp.c
rpmqv.c

index f8c0cdf..d07fb38 100644 (file)
@@ -96,7 +96,9 @@ typedef struct AttrRec_s {
 static int multiLib = 0;       /* MULTILIB */
 
 /* list of files */
+/*@unchecked@*/ /*@only@*/ /*@null@*/
 static StringBuf check_fileList = NULL;
+/*@unchecked@*/
 static int check_fileListLen = 0;
 
 /**
@@ -1509,11 +1511,13 @@ static /*@null@*/ FileListRec freeFileList(/*@only@*/ FileListRec fileList,
 /*@-boundswrite@*/
 static int addFile(FileList fl, const char * diskURL,
                /*@null@*/ struct stat * statp)
-       /*@globals rpmGlobalMacroContext, fileSystem, internalState @*/
+       /*@globals check_fileList, check_fileListLen, rpmGlobalMacroContext,
+               fileSystem, internalState @*/
        /*@modifies *statp, *fl, fl->processingFailed,
                fl->fileList, fl->fileListRecsAlloced, fl->fileListRecsUsed,
                fl->totalFileSize, fl->fileCount, fl->inFtw, fl->isDir,
-               rpmGlobalMacroContext, fileSystem, internalState  @*/
+               check_fileList, check_fileListLen, rpmGlobalMacroContext,
+               fileSystem, internalState  @*/
 {
     const char *fileURL = diskURL;
     struct stat statbuf;
@@ -1643,7 +1647,7 @@ static int addFile(FileList fl, const char * diskURL,
 #endif
 
     /* S_XXX macro must be consistent with type in find call at check-files script */
-    if (S_ISREG(fileMode)) {
+    if (check_fileList && S_ISREG(fileMode)) {
       appendStringBuf(check_fileList, diskURL);
       appendStringBuf(check_fileList, "\n");
       check_fileListLen += strlen(diskURL) + 1;
@@ -2557,6 +2561,7 @@ static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLib)
        }
 
        /* Get the script name (and possible args) to run */
+/*@-branchstate@*/
        if (dm->argv[0] != NULL) {
            const char ** av;
 
@@ -2577,6 +2582,7 @@ static int generateDepends(Spec spec, Package pkg, rpmfi cpioList, int multiLib)
            }
            av = _free(av);
        }
+/*@=branchstate@*/
 
        if (myargv[0] == NULL)
            continue;
@@ -2742,6 +2748,8 @@ static void printDeps(Header h)
  * @return             -1 if skipped, 0 on OK, 1 on error
  */
 static int checkFiles(StringBuf fileList, int fileListLen)
+       /*@globals rpmGlobalMacroContext, fileSystem, internalState @*/
+       /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/
 {
     StringBuf readBuf = NULL;
     const char * s = NULL;
@@ -2784,13 +2792,16 @@ static int checkFiles(StringBuf fileList, int fileListLen)
     }
     
 exit:
-    freeStringBuf(readBuf);
+    readBuf = freeStringBuf(readBuf);
     s = _free(s);
     av = _free(av);
     return rc;
 }
 
+/*@-incondefs@*/
 int processBinaryFiles(Spec spec, int installSpecialDoc, int test)
+       /*@globals check_fileList, check_fileListLen @*/
+       /*@modifies check_fileList, check_fileListLen @*/
 {
     Package pkg;
     int res = 0;
@@ -2835,7 +2846,8 @@ int processBinaryFiles(Spec spec, int installSpecialDoc, int test)
            res = 1;
     }
     
-    freeStringBuf(check_fileList);
+    check_fileList = freeStringBuf(check_fileList);
     
     return res;
 }
+/*@=incondefs@*/
index ffaef7e..0df54e4 100644 (file)
@@ -128,12 +128,12 @@ struct poptOption rpmQVSourcePoptTable[] = {
 
 /* ========== Query specific popt args */
 
-static void queryArgCallback(/*@unused@*/poptContext con,
+static void queryArgCallback(poptContext con,
                /*@unused@*/enum poptCallbackReason reason,
                const struct poptOption * opt, const char * arg, 
                /*@unused@*/ const void * data)
        /*@globals rpmQVKArgs @*/
-       /*@modifies rpmQVKArgs @*/
+       /*@modifies con, rpmQVKArgs @*/
 {
     QVA_t qva = &rpmQVKArgs;
 
index efcc92f..97c50df 100644 (file)
@@ -23,7 +23,9 @@ int _rpmds_debug = 0;
 int _rpmds_nopromote = 1;
 
 /*@unchecked@*/
+/*@-exportheadervar@*/
 int _rpmds_unspecified_epoch_noise = 0;
+/*@=exportheadervar@*/
 
 rpmds XrpmdsUnlink(rpmds ds, const char * msg, const char * fn, unsigned ln)
 {
@@ -452,7 +454,7 @@ int rpmdsNoPromote(const rpmds ds)
     return nopromote;
 }
 
-int rpmdsSetNoPromote(const rpmds ds, int nopromote)
+int rpmdsSetNoPromote(rpmds ds, int nopromote)
 {
     int onopromote = 0;
 
index bffc6f2..ee46e07 100644 (file)
@@ -234,8 +234,8 @@ int rpmdsNoPromote(/*@null@*/ const rpmds ds)
  * @param ds           dependency set
  * @return             previous "Don't promote Epoch:" flag
  */
-int rpmdsSetNoPromote(/*@null@*/ const rpmds ds, int nopromote)
-       /*@*/;
+int rpmdsSetNoPromote(/*@null@*/ rpmds ds, int nopromote)
+       /*@modifies ds @*/;
 
 /**
  * Notify of results of dependency match.
index d9689ae..9e50da4 100644 (file)
@@ -436,10 +436,13 @@ int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
 
        if (qva->qva_flags & VERIFY_DEPS) {
            int save_noise = _rpmds_unspecified_epoch_noise;
-           _rpmds_unspecified_epoch_noise = 1;
+/*@-mods@*/
+           if (rpmIsVerbose())
+               _rpmds_unspecified_epoch_noise = 1;
            if ((rc = verifyDependencies(qva, ts, h)) != 0)
                ec = rc;
            _rpmds_unspecified_epoch_noise = save_noise;
+/*@=mods@*/
        }
        if (qva->qva_flags & VERIFY_FILES) {
            if ((rc = verifyHeader(qva, ts, fi)) != 0)
index a500513..bbd1896 100644 (file)
@@ -185,7 +185,7 @@ static int db_fini(dbiIndex dbi, const char * dbhome,
        rpmMessage(RPMMESS_DEBUG, _("closed   db environment %s/%s\n"),
                        dbhome, dbfile);
 
-    if (rpmdb->db_remove_env || dbi->dbi_tear_down) {
+    if (rpmdb->db_remove_env) {
        int xx;
 
        /*@-moduncon@*/ /* FIX: annotate db3 methods */
index 0d8781d..ede58d8 100644 (file)
@@ -25,6 +25,9 @@ struct _dbiIndex db3dbi;
 /*@unchecked@*/
 static int dbi_use_cursors;
 
+/*@unchecked@*/
+static int dbi_tear_down;
+
 /*@-compmempass -immediatetrans -exportlocal -exportheadervar@*/
 /** \ingroup db3
  */
@@ -128,7 +131,7 @@ struct poptOption rdbOptions[] = {
 
  { "verify",   0,POPT_ARG_NONE,        &db3dbi.dbi_verify_on_close, 0,
        NULL, NULL },
- { "teardown", 0,POPT_ARG_NONE,        &db3dbi.dbi_tear_down, 0,
+ { "teardown", 0,POPT_ARG_NONE,        &dbi_tear_down, 0,
        NULL, NULL },
  { "usecursors",0,POPT_ARG_NONE,       &dbi_use_cursors, 0,
        NULL, NULL },
@@ -429,9 +432,8 @@ dbiIndex db3New(rpmdb rpmdb, rpmTag rpmtag)
     if (!dbi->dbi_use_dbenv) {         /* db3 dbenv is always used now. */
        dbi->dbi_use_dbenv = 1;
        dbi->dbi_eflags |= (DB_INIT_MPOOL|DB_JOINENV);
-       dbi->dbi_mp_mmapsize = 8 * 1024 * 1024;
-       dbi->dbi_mp_size = 512 * 1024;
-       dbi->dbi_tear_down = 1;
+       dbi->dbi_mp_mmapsize = 16 * 1024 * 1024;
+       dbi->dbi_mp_size = 1 * 1024 * 1024;
     }
 
     if ((dbi->dbi_bt_flags | dbi->dbi_h_flags) & DB_DUP)
index 7e433e4..33d8f4e 100644 (file)
@@ -632,13 +632,13 @@ dbiIndexSet dbiFreeIndexSet(dbiIndexSet set) {
 static sigset_t caught;
 
 /* forward ref */
-static void handler(int signum)
-       /*@globals caught @*/
-       /*@modifies caught @*/;
+static void handler(int signum);
 
 /**
  */
-struct sigtbl_s {
+/*@unchecked@*/
+/*@-fullinitblock@*/
+static struct sigtbl_s {
     int signum;
     int active;
     struct sigaction act;
@@ -650,11 +650,14 @@ struct sigtbl_s {
     { SIGQUIT, 0, { {handler} } },
     { -1,      0, { {NULL}    } },
 };
+/*@=fullinitblock@*/
 
 /**
  */
+/*@-incondefs@*/
 static void handler(int signum)
-       /*@*/
+       /*@globals caught, satbl @*/
+       /*@modifies caught @*/
 {
     struct sigtbl_s * tbl;
 
@@ -663,17 +666,18 @@ static void handler(int signum)
            continue;
        if (!tbl->active)
            continue;
-       sigaddset(&caught, signum);
+       (void) sigaddset(&caught, signum);
        break;
     }
 }
+/*@=incondefs@*/
 
 /**
  * Enable all signal handlers
  */
 static int enableSignals(void)
        /*@globals caught, satbl, fileSystem @*/
-       /*@modifies *oldMask, caught, satbl, fileSystem @*/
+       /*@modifies caught, satbl, fileSystem @*/
 {
     struct sigtbl_s * tbl;
     sigset_t newMask, oldMask;
@@ -685,22 +689,23 @@ static int enableSignals(void)
     for(tbl = satbl; tbl->signum >= 0; tbl++) {
        if (tbl->active++ > 0)
            continue;
-       sigdelset(&caught, tbl->signum);
+       (void) sigdelset(&caught, tbl->signum);
        rc = sigaction(tbl->signum, &tbl->act, &tbl->oact);
        if (rc) break;
     }
     return sigprocmask(SIG_SETMASK, &oldMask, NULL);
 }
 
-rpmdb dbrock;
+/*@unchecked@*/
+static rpmdb dbrock;
 
 /**
  * Check for signals.
  */
 /*@mayexit@*/
 static int checkSignals(void)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/
+       /*@globals dbrock, satbl, fileSystem @*/
+       /*@modifies dbrock, fileSystem @*/
 {
     struct sigtbl_s * tbl;
     sigset_t newMask, oldMask;
@@ -718,11 +723,13 @@ static int checkSignals(void)
     if (terminate) {
        rpmdb db;
        rpmMessage(RPMMESS_WARNING, "Exiting on signal ...\n");
+/*@-newreftrans@*/
        while ((db = dbrock) != NULL) {
-           dbrock = db->db_next;
+/*@i@*/            dbrock = db->db_next;
            db->db_next = NULL;
            (void) rpmdbClose(db);
        }
+/*@=newreftrans@*/
        exit(EXIT_FAILURE);
     }
     return sigprocmask(SIG_SETMASK, &oldMask, NULL);
@@ -732,8 +739,8 @@ static int checkSignals(void)
  * Disable all signal handlers
  */
 static int disableSignals(void)
-       /*@globals caught, fileSystem @*/
-       /*@modifies db, caught, fileSystem @*/
+       /*@globals satbl, fileSystem @*/
+       /*@modifies satbl, fileSystem @*/
 {
     struct sigtbl_s * tbl;
     sigset_t newMask, oldMask;
@@ -755,9 +762,9 @@ static int disableSignals(void)
 /**
  * Block all signals, returning previous signal mask.
  */
-static int blockSignals(rpmdb db, /*@out@*/ sigset_t * oldMask)
-       /*@globals caught, satbl, fileSystem @*/
-       /*@modifies *oldMask, caught, satbl, fileSystem @*/
+static int blockSignals(/*@unused@*/ rpmdb db, /*@out@*/ sigset_t * oldMask)
+       /*@globals satbl, fileSystem @*/
+       /*@modifies *oldMask, satbl, fileSystem @*/
 {
     struct sigtbl_s * tbl;
     sigset_t newMask;
@@ -776,11 +783,11 @@ static int blockSignals(rpmdb db, /*@out@*/ sigset_t * oldMask)
  * Restore signal mask.
  */
 /*@mayexit@*/
-static int unblockSignals(rpmdb db, sigset_t * oldMask)
-       /*@globals caught, fileSystem @*/
-       /*@modifies db, caught, fileSystem @*/
+static int unblockSignals(/*@unused@*/ rpmdb db, sigset_t * oldMask)
+       /*@globals dbrock, fileSystem @*/
+       /*@modifies dbrock, fileSystem @*/
 {
-    checkSignals();
+    (void) checkSignals();
     return sigprocmask(SIG_SETMASK, oldMask, NULL);
 }
 
@@ -844,7 +851,10 @@ int rpmdbCloseDBI(rpmdb db, int rpmtag)
 }
 
 /* XXX query.c, rpminstall.c, verify.c */
+/*@-incondefs@*/
 int rpmdbClose(rpmdb db)
+       /*@globals dbrock @*/
+       /*@modifies dbrock @*/
 {
     rpmdb * prev, next;
     int dbix;
@@ -876,13 +886,15 @@ int rpmdbClose(rpmdb db)
     db->db_bits = PBM_FREE(db->db_bits);
     db->_dbi = _free(db->_dbi);
 
+/*@-newreftrans@*/
     prev = &dbrock;
     while ((next = *prev) != NULL && next != db)
        prev = &next->db_next;
     if (next) {
-       *prev = next->db_next;
+/*@i@*/        *prev = next->db_next;
        next->db_next = NULL;
     }
+/*@=newreftrans@*/
 
     /*@-refcounttrans@*/ db = _free(db); /*@=refcounttrans@*/
     /*@=usereleased@*/
@@ -891,6 +903,7 @@ exit:
     (void) disableSignals();
     return rc;
 }
+/*@=incondefs@*/
 
 int rpmdbSync(rpmdb db)
 {
@@ -966,9 +979,9 @@ static int openDatabase(/*@null@*/ const char * prefix,
                /*@null@*/ const char * dbpath,
                int _dbapi, /*@null@*/ /*@out@*/ rpmdb *dbp,
                int mode, int perms, int flags)
-       /*@globals rpmGlobalMacroContext,
-               fileSystem @*/
-       /*@modifies *dbp, fileSystem @*/
+       /*@globals dbrock, rpmGlobalMacroContext,
+               fileSystem, internalState @*/
+       /*@modifies dbrock, *dbp, fileSystem, internalState @*/
        /*@requires maxSet(dbp) >= 0 @*/
 {
     rpmdb db;
@@ -1088,9 +1101,11 @@ exit:
     if (rc || justCheck || dbp == NULL)
        xx = rpmdbClose(db);
     else {
-       db->db_next = dbrock;
+/*@-assignexpose -newreftrans@*/
+/*@i@*/        db->db_next = dbrock;
        dbrock = db;
-       *dbp = db;
+/*@i@*/        *dbp = db;
+/*@=assignexpose =newreftrans@*/
     }
 
     return rc;
@@ -1741,7 +1756,7 @@ rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi)
     mi->mi_db = rpmdbUnlink(mi->mi_db, "matchIterator");
     mi = _free(mi);
 
-    checkSignals();
+    (void) checkSignals();
 
     return mi;
 }
@@ -2470,7 +2485,7 @@ rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmTag rpmtag,
     if (db == NULL)
        return NULL;
 
-    checkSignals();
+    (void) checkSignals();
 
     /* XXX HACK to remove rpmdbFindByLabel/findMatches from the API */
     if (rpmtag == RPMDBI_LABEL) {
index 875f1d6..ea2a85c 100644 (file)
@@ -294,7 +294,6 @@ struct _dbiIndex {
     int        dbi_api;                /*!< Berkeley API type */
 
     int        dbi_verify_on_close;
-    int        dbi_tear_down;          /*!< tear down dbenv on close */
     int        dbi_use_dbenv;          /*!< use db environment? */
     int        dbi_permit_dups;        /*!< permit duplicate entries? */
     int        dbi_no_fsync;           /*!< no-op fsync for db */
@@ -840,8 +839,8 @@ rpmdb XrpmdbLink (rpmdb db, const char * msg,
  */
 int rpmdbOpen (/*@null@*/ const char * prefix, /*@null@*/ /*@out@*/ rpmdb * dbp,
                int mode, int perms)
-       /*@globals fileSystem @*/
-       /*@modifies *dbp, fileSystem @*/;
+       /*@globals fileSystem, internalState @*/
+       /*@modifies *dbp, fileSystem, internalState @*/;
 
 /** \ingroup rpmdb
  * Initialize database.
@@ -850,8 +849,8 @@ int rpmdbOpen (/*@null@*/ const char * prefix, /*@null@*/ /*@out@*/ rpmdb * dbp,
  * @return             0 on success
  */
 int rpmdbInit(/*@null@*/ const char * prefix, int perms)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
+       /*@globals fileSystem, internalState @*/
+       /*@modifies fileSystem, internalState @*/;
 
 /** \ingroup rpmdb
  * Verify database components.
@@ -859,8 +858,8 @@ int rpmdbInit(/*@null@*/ const char * prefix, int perms)
  * @return             0 on success
  */
 int rpmdbVerify(/*@null@*/ const char * prefix)
-       /*@globals fileSystem @*/
-       /*@modifies fileSystem @*/;
+       /*@globals fileSystem, internalState @*/
+       /*@modifies fileSystem, internalState @*/;
 
 /**
  * Close a single database index.
index 5b7108d..c5b4681 100644 (file)
@@ -377,8 +377,8 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
            /*@switchbreak@*/ break;
        case PGPSUBTYPE_SIG_CREATE_TIME:
 /*@-mods -mayaliasunique @*/
-           if (sigtype == PGPSIGTYPE_POSITIVE_CERT &&
-               _digp && !(_digp->saved & PGPDIG_SAVED_TIME))
+           if (_digp && !(_digp->saved & PGPDIG_SAVED_TIME) &&
+               sigtype == PGPSIGTYPE_POSITIVE_CERT)
            {
                _digp->saved |= PGPDIG_SAVED_TIME;
                memcpy(_digp->time, p+1, sizeof(_digp->time));
@@ -397,8 +397,8 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
 
        case PGPSUBTYPE_ISSUER_KEYID:   /* issuer key ID */
 /*@-mods -mayaliasunique @*/
-           if (sigtype == PGPSIGTYPE_POSITIVE_CERT &&
-               _digp && !(_digp->saved & PGPDIG_SAVED_ID))
+           if (_digp && !(_digp->saved & PGPDIG_SAVED_ID) &&
+               sigtype == PGPSIGTYPE_POSITIVE_CERT)
            {
                _digp->saved |= PGPDIG_SAVED_ID;
                memcpy(_digp->signid, p+1, sizeof(_digp->signid));
diff --git a/rpmqv.c b/rpmqv.c
index 5346297..d326808 100755 (executable)
--- a/rpmqv.c
+++ b/rpmqv.c
@@ -747,9 +747,9 @@ ia->probFilter |= RPMPROB_FILTER_OLDPACKAGE;
        /* RPMTRANS_FLAG_KEEPOBSOLETE */
 
        if (!ia->incldocs) {
-           if (ia->transFlags & RPMTRANS_FLAG_NODOCS)
+           if (ia->transFlags & RPMTRANS_FLAG_NODOCS) {
                ;
-           else if (rpmExpandNumeric("%{_excludedocs}"))
+           else if (rpmExpandNumeric("%{_excludedocs}"))
                ia->transFlags |= RPMTRANS_FLAG_NODOCS;
        }