summaryrefslogtreecommitdiff
path: root/rpmdb/db3.c
diff options
context:
space:
mode:
Diffstat (limited to 'rpmdb/db3.c')
-rw-r--r--rpmdb/db3.c50
1 files changed, 39 insertions, 11 deletions
diff --git a/rpmdb/db3.c b/rpmdb/db3.c
index 61291c4d9..b9b7d6989 100644
--- a/rpmdb/db3.c
+++ b/rpmdb/db3.c
@@ -138,7 +138,9 @@ static int db_env_create(DB_ENV **dbenvp, int foo)
}
#endif /* __USE_DB2 */
-static int cvtdberr(dbiIndex dbi, const char * msg, int error, int printit) {
+static int cvtdberr(dbiIndex dbi, const char * msg, int error, int printit)
+ /*@modifies fileSystem @*/
+{
int rc = 0;
rc = error;
@@ -158,6 +160,7 @@ static int cvtdberr(dbiIndex dbi, const char * msg, int error, int printit) {
static int db_fini(dbiIndex dbi, const char * dbhome,
/*@null@*/ const char * dbfile,
/*@unused@*/ /*@null@*/ const char * dbsubfile)
+ /*@modifies dbi, fileSystem @*/
{
rpmdb rpmdb = dbi->dbi_rpmdb;
DB_ENV * dbenv = dbi->dbi_dbenv;
@@ -204,14 +207,17 @@ static int db_fini(dbiIndex dbi, const char * dbhome,
return rc;
}
-static int db3_fsync_disable(/*@unused@*/ int fd) {
+static int db3_fsync_disable(/*@unused@*/ int fd)
+ /*@*/
+{
return 0;
}
-static int db_init(dbiIndex dbi, const char *dbhome,
- /*@null@*/ const char *dbfile,
+static int db_init(dbiIndex dbi, const char * dbhome,
+ /*@null@*/ const char * dbfile,
/*@unused@*/ /*@null@*/ const char * dbsubfile,
- /*@out@*/ DB_ENV **dbenvp)
+ /*@out@*/ DB_ENV ** dbenvp)
+ /*@modifies dbi, *dbenvp, fileSystem @*/
{
rpmdb rpmdb = dbi->dbi_rpmdb;
DB_ENV *dbenv = NULL;
@@ -222,8 +228,10 @@ static int db_init(dbiIndex dbi, const char *dbhome,
return 1;
/* XXX HACK */
+ /*@-assignexpose@*/
if (rpmdb->db_errfile == NULL)
rpmdb->db_errfile = stderr;
+ /*@=assignexpose@*/
eflags = (dbi->dbi_oeflags | dbi->dbi_eflags);
if (eflags & DB_JOINENV) eflags &= DB_JOINENV;
@@ -351,6 +359,7 @@ errxit:
#endif /* __USE_DB2 || __USE_DB3 */
static int db3sync(dbiIndex dbi, unsigned int flags)
+ /*@modifies fileSystem @*/
{
DB * db = dbi->dbi_db;
int rc = 0;
@@ -371,6 +380,7 @@ static int db3sync(dbiIndex dbi, unsigned int flags)
}
static int db3c_del(dbiIndex dbi, DBC * dbcursor, u_int32_t flags)
+ /*@modifies fileSystem @*/
{
int rc;
@@ -381,16 +391,19 @@ static int db3c_del(dbiIndex dbi, DBC * dbcursor, u_int32_t flags)
/*@unused@*/ static int db3c_dup(dbiIndex dbi, DBC * dbcursor, DBC ** dbcp,
u_int32_t flags)
+ /*@modifies *dbcp, fileSystem @*/
{
int rc;
+ if (dbcp) *dbcp = NULL;
rc = dbcursor->c_dup(dbcursor, dbcp, flags);
rc = cvtdberr(dbi, "dbcursor->c_dup", rc, _debug);
return rc;
}
static int db3c_get(dbiIndex dbi, DBC * dbcursor,
- DBT * key, DBT * data, u_int32_t flags)
+ DBT * key, DBT * data, u_int32_t flags)
+ /*@modifies fileSystem @*/
{
int _printit;
int rc;
@@ -412,7 +425,8 @@ static int db3c_get(dbiIndex dbi, DBC * dbcursor,
}
static int db3c_put(dbiIndex dbi, DBC * dbcursor,
- DBT * key, DBT * data, u_int32_t flags)
+ DBT * key, DBT * data, u_int32_t flags)
+ /*@modifies fileSystem @*/
{
int rc;
@@ -423,6 +437,7 @@ static int db3c_put(dbiIndex dbi, DBC * dbcursor,
}
static inline int db3c_close(dbiIndex dbi, /*@only@*/ /*@null@*/ DBC * dbcursor)
+ /*@modifies fileSystem @*/
{
int rc;
@@ -433,7 +448,9 @@ static inline int db3c_close(dbiIndex dbi, /*@only@*/ /*@null@*/ DBC * dbcursor)
return rc;
}
-static inline int db3c_open(dbiIndex dbi, /*@out@*/ DBC ** dbcp, int dbiflags)
+static inline int db3c_open(dbiIndex dbi, /*@null@*/ /*@out@*/ DBC ** dbcp,
+ int dbiflags)
+ /*@modifies *dbcp, fileSystem @*/
{
DB * db = dbi->dbi_db;
DB_TXN * txnid = NULL;
@@ -448,6 +465,7 @@ static inline int db3c_open(dbiIndex dbi, /*@out@*/ DBC ** dbcp, int dbiflags)
flags = DB_WRITECURSOR;
} else
flags = 0;
+ if (dbcp) *dbcp = NULL;
rc = db->cursor(db, txnid, dbcp, flags);
#else /* __USE_DB3 */
rc = db->cursor(db, txnid, dbcp);
@@ -459,6 +477,7 @@ static inline int db3c_open(dbiIndex dbi, /*@out@*/ DBC ** dbcp, int dbiflags)
static int db3cclose(dbiIndex dbi, /*@only@*/ /*@null@*/ DBC * dbcursor,
unsigned int flags)
+ /*@modifies dbi, fileSystem @*/
{
int rc = 0;
@@ -479,7 +498,9 @@ static int db3cclose(dbiIndex dbi, /*@only@*/ /*@null@*/ DBC * dbcursor,
/*@-usereleased -compdef@*/ return rc; /*@=usereleased =compdef@*/
}
-static int db3copen(dbiIndex dbi, /*@out@*/ DBC ** dbcp, unsigned int flags)
+static int db3copen(dbiIndex dbi,
+ /*@null@*/ /*@out@*/ DBC ** dbcp, unsigned int flags)
+ /*@modifies dbi, *dbcp, fileSystem @*/
{
DBC * dbcursor;
int rc = 0;
@@ -508,6 +529,7 @@ static int db3cput(dbiIndex dbi, DBC * dbcursor,
const void * keyp, size_t keylen,
const void * datap, size_t datalen,
/*@unused@*/ unsigned int flags)
+ /*@modifies fileSystem @*/
{
DB * db = dbi->dbi_db;
DB_TXN * txnid = NULL;
@@ -537,6 +559,7 @@ static int db3cput(dbiIndex dbi, DBC * dbcursor,
static int db3cdel(dbiIndex dbi, DBC * dbcursor,
const void * keyp, size_t keylen,
/*@unused@*/ unsigned int flags)
+ /*@modifies fileSystem @*/
{
DB * db = dbi->dbi_db;
DB_TXN * txnid = NULL;
@@ -571,6 +594,7 @@ static int db3cget(dbiIndex dbi, DBC * dbcursor,
void ** keyp, size_t * keylen,
void ** datap, size_t * datalen,
/*@unused@*/ unsigned int flags)
+ /*@modifies *keyp, *keylen, *datap, *datalen, fileSystem @*/
{
DB * db = dbi->dbi_db;
DB_TXN * txnid = NULL;
@@ -618,8 +642,9 @@ static int db3cget(dbiIndex dbi, DBC * dbcursor,
}
static int db3ccount(dbiIndex dbi, DBC * dbcursor,
- /*@out@*/ unsigned int * countp,
+ /*@null@*/ /*@out@*/ unsigned int * countp,
/*@unused@*/ unsigned int flags)
+ /*@modifies *countp, fileSystem @*/
{
db_recno_t count = 0;
int rc = 0;
@@ -633,7 +658,7 @@ static int db3ccount(dbiIndex dbi, DBC * dbcursor,
return rc;
}
-static int db3byteswapped(dbiIndex dbi)
+static int db3byteswapped(dbiIndex dbi) /*@*/
{
DB * db = dbi->dbi_db;
int rc = 0;
@@ -647,6 +672,7 @@ static int db3byteswapped(dbiIndex dbi)
}
static int db3stat(dbiIndex dbi, unsigned int flags)
+ /*@modifies dbi, fileSystem @*/
{
DB * db = dbi->dbi_db;
int rc = 0;
@@ -671,6 +697,7 @@ static int db3stat(dbiIndex dbi, unsigned int flags)
/** @todo Add/use per-rpmdb verify_on_close. */
static int db3close(/*@only@*/ dbiIndex dbi, /*@unused@*/ unsigned int flags)
+ /*@modifies dbi, fileSystem @*/
{
rpmdb rpmdb = dbi->dbi_rpmdb;
const char * urlfn = NULL;
@@ -772,6 +799,7 @@ exit:
}
static int db3open(/*@keep@*/ rpmdb rpmdb, int rpmtag, dbiIndex * dbip)
+ /*@modifies *dbip, fileSystem @*/
{
/*@-nestedextern@*/
extern struct _dbiVec db3vec;