summaryrefslogtreecommitdiff
path: root/rpmio
diff options
context:
space:
mode:
authorRalf Corsépius <corsepiu@fedoraproject.org>2007-09-11 16:48:54 +0200
committerRalf Corsépius <corsepiu@fedoraproject.org>2007-09-11 16:48:54 +0200
commitf982bbaa79b0038bc1b4f9f9d419361a63c2b284 (patch)
tree81448797689d9dd5b6480b3d0841485732128be4 /rpmio
parent1a01bdd6c6785e3e3d99894bf4219a60b1fc8c9a (diff)
downloadrpm-f982bbaa79b0038bc1b4f9f9d419361a63c2b284.tar.gz
rpm-f982bbaa79b0038bc1b4f9f9d419361a63c2b284.tar.bz2
rpm-f982bbaa79b0038bc1b4f9f9d419361a63c2b284.zip
Remove splint tags.
Diffstat (limited to 'rpmio')
-rw-r--r--rpmio/argv.c25
-rw-r--r--rpmio/argv.h50
-rw-r--r--rpmio/digest.c51
-rw-r--r--rpmio/fts.c94
-rw-r--r--rpmio/fts.h58
-rw-r--r--rpmio/macro.c293
-rw-r--r--rpmio/rpmdav.c202
-rw-r--r--rpmio/rpmdav.h89
-rw-r--r--rpmio/rpmerr.h28
-rw-r--r--rpmio/rpmhook.c50
-rw-r--r--rpmio/rpmhook.h30
-rw-r--r--rpmio/rpmio.c562
-rw-r--r--rpmio/rpmio.h369
-rw-r--r--rpmio/rpmio_internal.h211
-rw-r--r--rpmio/rpmlog.c62
-rw-r--r--rpmio/rpmlog.h59
-rw-r--r--rpmio/rpmlua.c112
-rw-r--r--rpmio/rpmlua.h127
-rw-r--r--rpmio/rpmmacro.h101
-rw-r--r--rpmio/rpmmalloc.c13
-rw-r--r--rpmio/rpmmessages.h14
-rw-r--r--rpmio/rpmpgp.c175
-rw-r--r--rpmio/rpmpgp.h154
-rw-r--r--rpmio/rpmrpc.c260
-rw-r--r--rpmio/rpmsq.c53
-rw-r--r--rpmio/rpmsq.h57
-rw-r--r--rpmio/rpmsw.c25
-rw-r--r--rpmio/rpmsw.h32
-rw-r--r--rpmio/rpmurl.h62
-rw-r--r--rpmio/strcasecmp.c4
-rw-r--r--rpmio/tax.c10
-rw-r--r--rpmio/tdir.c6
-rw-r--r--rpmio/tfts.c7
-rw-r--r--rpmio/tget.c6
-rw-r--r--rpmio/tglob.c4
-rw-r--r--rpmio/thkp.c6
-rw-r--r--rpmio/tinv.c6
-rw-r--r--rpmio/tput.c6
-rw-r--r--rpmio/tring.c3
-rw-r--r--rpmio/ugid.c34
-rw-r--r--rpmio/ugid.h13
-rw-r--r--rpmio/url.c67
42 files changed, 821 insertions, 2769 deletions
diff --git a/rpmio/argv.c b/rpmio/argv.c
index cc1ec3f67..d112dfbc2 100644
--- a/rpmio/argv.c
+++ b/rpmio/argv.c
@@ -8,15 +8,13 @@
#include "debug.h"
-/*@-bounds@*/
/**
* Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
* @param p memory to free
* @return NULL always
*/
-/*@unused@*/ static inline /*@null@*/
-void * _free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
- /*@modifies p @*/
+static inline
+void * _free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -47,15 +45,13 @@ ARGI_t argiFree(ARGI_t argi)
return NULL;
}
-ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv)
+ARGV_t argvFree(ARGV_t argv)
{
ARGV_t av;
-/*@-branchstate@*/
if (argv)
for (av = argv; *av; av++)
*av = _free(*av);
-/*@=branchstate@*/
argv = _free(argv);
return NULL;
}
@@ -87,17 +83,13 @@ int argvCount(const ARGV_t argv)
ARGV_t argvData(const ARGV_t argv)
{
-/*@-retalias -temptrans @*/
return argv;
-/*@=retalias =temptrans @*/
}
int argvCmp(const void * a, const void * b)
{
-/*@-boundsread@*/
ARGstr_t astr = *(ARGV_t)a;
ARGstr_t bstr = *(ARGV_t)b;
-/*@=boundsread@*/
return strcmp(astr, bstr);
}
@@ -119,7 +111,7 @@ ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
return bsearch(&val, argv, argvCount(argv), sizeof(*argv), compar);
}
-int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
+int argiAdd(ARGI_t * argip, int ix, int val)
{
ARGI_t argi;
@@ -140,7 +132,7 @@ int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
return 0;
}
-int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
+int argvAdd(ARGV_t * argvp, ARGstr_t val)
{
ARGV_t argv;
int argc;
@@ -148,16 +140,14 @@ int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
if (argvp == NULL)
return -1;
argc = argvCount(*argvp);
-/*@-unqualifiedtrans@*/
*argvp = xrealloc(*argvp, (argc + 1 + 1) * sizeof(**argvp));
-/*@=unqualifiedtrans@*/
argv = *argvp;
argv[argc++] = xstrdup(val);
argv[argc ] = NULL;
return 0;
}
-int argvAppend(/*@out@*/ ARGV_t * argvp, const ARGV_t av)
+int argvAppend(ARGV_t * argvp, const ARGV_t av)
{
ARGV_t argv = *argvp;
int argc = argvCount(argv);
@@ -200,8 +190,5 @@ int argvSplit(ARGV_t * argvp, const char * str, const char * seps)
}
argv[c] = NULL;
*argvp = argv;
-/*@-nullstate@*/
return 0;
-/*@=nullstate@*/
}
-/*@=bounds@*/
diff --git a/rpmio/argv.h b/rpmio/argv.h
index 7cab8f23d..e944754e0 100644
--- a/rpmio/argv.h
+++ b/rpmio/argv.h
@@ -25,61 +25,49 @@ extern "C" {
* @param argv argv array
* @param fp output file handle (NULL uses stderr)
*/
-void argvPrint(const char * msg, ARGV_t argv, FILE * fp)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/;
+void argvPrint(const char * msg, ARGV_t argv, FILE * fp);
/**
* Destroy an argi array.
* @param argi argi array
* @return NULL always
*/
-/*@null@*/
-ARGI_t argiFree(/*@only@*/ /*@null@*/ ARGI_t argi)
- /*@modifies argi @*/;
+ARGI_t argiFree(ARGI_t argi);
/**
* Destroy an argv array.
* @param argv argv array
* @return NULL always
*/
-/*@null@*/
-ARGV_t argvFree(/*@only@*/ /*@null@*/ ARGV_t argv)
- /*@modifies argv @*/;
+ARGV_t argvFree(ARGV_t argv);
/**
* Return no. of elements in argi array.
* @param argi argi array
* @return no. of elements
*/
-int argiCount(/*@null@*/ const ARGI_t argi)
- /*@*/;
+int argiCount(const ARGI_t argi);
/**
* Return data from argi array.
* @param argi argi array
* @return argi array data address
*/
-/*@null@*/
-ARGint_t argiData(/*@null@*/ const ARGI_t argi)
- /*@*/;
+ARGint_t argiData(const ARGI_t argi);
/**
* Return no. of elements in argv array.
* @param argv argv array
* @return no. of elements
*/
-int argvCount(/*@null@*/ const ARGV_t argv)
- /*@*/;
+int argvCount(const ARGV_t argv);
/**
* Return data from argv array.
* @param argv argv array
* @return argv array data address
*/
-/*@null@*/
-ARGV_t argvData(/*@null@*/ const ARGV_t argv)
- /*@*/;
+ARGV_t argvData(const ARGV_t argv);
/**
* Compare argv arrays (qsort/bsearch).
@@ -87,10 +75,7 @@ ARGV_t argvData(/*@null@*/ const ARGV_t argv)
* @param b 2nd instance address
* @return result of comparison
*/
-/*@-exportlocal@*/
-int argvCmp(const void * a, const void * b)
- /*@*/;
-/*@=exportlocal@*/
+int argvCmp(const void * a, const void * b);
/**
* Sort an argv array.
@@ -98,8 +83,7 @@ int argvCmp(const void * a, const void * b)
* @param compar strcmp-like comparison function, or NULL for argvCmp()
* @return 0 always
*/
-int argvSort(ARGV_t argv, int (*compar)(const void *, const void *))
- /*@modifies *argv @*/;
+int argvSort(ARGV_t argv, int (*compar)(const void *, const void *));
/**
* Find an element in an argv array.
@@ -108,10 +92,8 @@ int argvSort(ARGV_t argv, int (*compar)(const void *, const void *))
* @param compar strcmp-like comparison function, or NULL for argvCmp()
* @return found string (NULL on failure)
*/
-/*@dependent@*/ /*@null@*/
ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
- int (*compar)(const void *, const void *))
- /*@*/;
+ int (*compar)(const void *, const void *));
/**
* Add an int to an argi array.
@@ -120,8 +102,7 @@ ARGV_t argvSearch(ARGV_t argv, ARGstr_t val,
* @param val int arg to add
* @return 0 always
*/
-int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
- /*@modifies *argip @*/;
+int argiAdd(ARGI_t * argip, int ix, int val);
/**
* Add a string to an argv array.
@@ -129,8 +110,7 @@ int argiAdd(/*@out@*/ ARGI_t * argip, int ix, int val)
* @param val string arg to append
* @return 0 always
*/
-int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
- /*@modifies *argvp @*/;
+int argvAdd(ARGV_t * argvp, ARGstr_t val);
/**
* Append one argv array to another.
@@ -138,8 +118,7 @@ int argvAdd(/*@out@*/ ARGV_t * argvp, ARGstr_t val)
* @param av argv array to append
* @return 0 always
*/
-int argvAppend(/*@out@*/ ARGV_t * argvp, const ARGV_t av)
- /*@modifies *argvp @*/;
+int argvAppend(ARGV_t * argvp, const ARGV_t av);
/**
* Split a string into an argv array.
@@ -148,8 +127,7 @@ int argvAppend(/*@out@*/ ARGV_t * argvp, const ARGV_t av)
* @param seps seperator characters
* @return 0 always
*/
-int argvSplit(ARGV_t * argvp, const char * str, const char * seps)
- /*@modifies *argvp @*/;
+int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
#ifdef __cplusplus
}
diff --git a/rpmio/digest.c b/rpmio/digest.c
index 5b4cde87c..169273892 100644
--- a/rpmio/digest.c
+++ b/rpmio/digest.c
@@ -12,7 +12,6 @@
#define DPRINTF(_a)
#endif
-/*@access DIGEST_CTX@*/
/**
* MD5/SHA1 digest private data.
@@ -27,11 +26,10 @@ struct DIGEST_CTX_s {
/*@modifies param @*/; /*!< Digest initialize. */
int (*Update) (void * param, const byte * data, size_t size)
/*@modifies param @*/; /*!< Digest transform. */
- int (*Digest) (void * param, /*@out@*/ byte * digest)
+ int (*Digest) (void * param, byte * digest)
/*@modifies param, digest @*/; /*!< Digest finish. */
};
-/*@-boundsread@*/
DIGEST_CTX
rpmDigestDup(DIGEST_CTX octx)
{
@@ -40,7 +38,6 @@ rpmDigestDup(DIGEST_CTX octx)
nctx->param = memcpy(xcalloc(1, nctx->paramlen), octx->param, nctx->paramlen);
return nctx;
}
-/*@=boundsread@*/
DIGEST_CTX
rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
@@ -54,68 +51,58 @@ rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
case PGPHASHALGO_MD5:
ctx->digestlen = 16;
ctx->datalen = 64;
-/*@-sizeoftype@*/ /* FIX: union, not void pointer */
+/* FIX: union, not void pointer */
ctx->paramlen = sizeof(md5Param);
-/*@=sizeoftype@*/
ctx->param = xcalloc(1, ctx->paramlen);
-/*@-type@*/ /* FIX: cast? */
+/* FIX: cast? */
ctx->Reset = (void *) md5Reset;
ctx->Update = (void *) md5Update;
ctx->Digest = (void *) md5Digest;
-/*@=type@*/
break;
case PGPHASHALGO_SHA1:
ctx->digestlen = 20;
ctx->datalen = 64;
-/*@-sizeoftype@*/ /* FIX: union, not void pointer */
+/* FIX: union, not void pointer */
ctx->paramlen = sizeof(sha1Param);
-/*@=sizeoftype@*/
ctx->param = xcalloc(1, ctx->paramlen);
-/*@-type@*/ /* FIX: cast? */
+/* FIX: cast? */
ctx->Reset = (void *) sha1Reset;
ctx->Update = (void *) sha1Update;
ctx->Digest = (void *) sha1Digest;
-/*@=type@*/
break;
#if HAVE_BEECRYPT_API_H
case PGPHASHALGO_SHA256:
ctx->digestlen = 32;
ctx->datalen = 64;
-/*@-sizeoftype@*/ /* FIX: union, not void pointer */
+/* FIX: union, not void pointer */
ctx->paramlen = sizeof(sha256Param);
-/*@=sizeoftype@*/
ctx->param = xcalloc(1, ctx->paramlen);
-/*@-type@*/ /* FIX: cast? */
+/* FIX: cast? */
ctx->Reset = (void *) sha256Reset;
ctx->Update = (void *) sha256Update;
ctx->Digest = (void *) sha256Digest;
-/*@=type@*/
break;
case PGPHASHALGO_SHA384:
ctx->digestlen = 48;
ctx->datalen = 128;
-/*@-sizeoftype@*/ /* FIX: union, not void pointer */
+/* FIX: union, not void pointer */
ctx->paramlen = sizeof(sha384Param);
-/*@=sizeoftype@*/
ctx->param = xcalloc(1, ctx->paramlen);
-/*@-type@*/ /* FIX: cast? */
+/* FIX: cast? */
ctx->Reset = (void *) sha384Reset;
ctx->Update = (void *) sha384Update;
ctx->Digest = (void *) sha384Digest;
-/*@=type@*/
break;
case PGPHASHALGO_SHA512:
ctx->digestlen = 64;
ctx->datalen = 128;
-/*@-sizeoftype@*/ /* FIX: union, not void pointer */
+/* FIX: union, not void pointer */
ctx->paramlen = sizeof(sha512Param);
-/*@=sizeoftype@*/
ctx->param = xcalloc(1, ctx->paramlen);
-/*@-type@*/ /* FIX: cast? */
+/* FIX: cast? */
ctx->Reset = (void *) sha512Reset;
ctx->Update = (void *) sha512Update;
ctx->Digest = (void *) sha512Digest;
-/*@=type@*/
break;
#endif
case PGPHASHALGO_RIPEMD160:
@@ -125,18 +112,16 @@ rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
default:
free(ctx);
return NULL;
- /*@notreached@*/ break;
+ break;
}
-/*@-boundsread@*/
xx = (*ctx->Reset) (ctx->param);
-/*@=boundsread@*/
DPRINTF((stderr, "*** Init(%x) ctx %p param %p\n", flags, ctx, ctx->param));
return ctx;
}
-/*@-mustmod@*/ /* LCL: ctx->param may be modified, but ctx is abstract @*/
+/* LCL: ctx->param may be modified, but ctx is abstract @*/
int
rpmDigestUpdate(DIGEST_CTX ctx, const void * data, size_t len)
{
@@ -144,13 +129,9 @@ rpmDigestUpdate(DIGEST_CTX ctx, const void * data, size_t len)
return -1;
DPRINTF((stderr, "*** Update(%p,%p,%d) param %p \"%s\"\n", ctx, data, len, ctx->param, ((char *)data)));
-/*@-boundsread@*/
return (*ctx->Update) (ctx->param, data, len);
-/*@=boundsread@*/
}
-/*@=mustmod@*/
-/*@-boundswrite@*/
int
rpmDigestFinal(DIGEST_CTX ctx, void ** datap, size_t *lenp, int asAscii)
{
@@ -163,12 +144,10 @@ rpmDigestFinal(DIGEST_CTX ctx, void ** datap, size_t *lenp, int asAscii)
digest = xmalloc(ctx->digestlen);
DPRINTF((stderr, "*** Final(%p,%p,%p,%d) param %p digest %p\n", ctx, datap, lenp, asAscii, ctx->param, digest));
-/*@-noeffectuncon@*/ /* FIX: check rc */
+/* FIX: check rc */
(void) (*ctx->Digest) (ctx->param, digest);
-/*@=noeffectuncon@*/
/* Return final digest. */
-/*@-branchstate@*/
if (!asAscii) {
if (lenp) *lenp = ctx->digestlen;
if (datap) {
@@ -189,7 +168,6 @@ DPRINTF((stderr, "*** Final(%p,%p,%p,%d) param %p digest %p\n", ctx, datap, lenp
*t = '\0';
}
}
-/*@=branchstate@*/
if (digest) {
memset(digest, 0, ctx->digestlen); /* In case it's sensitive */
free(digest);
@@ -200,4 +178,3 @@ DPRINTF((stderr, "*** Final(%p,%p,%p,%d) param %p digest %p\n", ctx, datap, lenp
free(ctx);
return 0;
}
-/*@=boundswrite@*/
diff --git a/rpmio/fts.c b/rpmio/fts.c
index 4ce33fec5..047038f0d 100644
--- a/rpmio/fts.c
+++ b/rpmio/fts.c
@@ -1,6 +1,3 @@
-/*@-boundsread@*/
-/*@-sysunrecog -noeffectuncon -nullpass -sizeoftype -unrecog -usereleased @*/
-/*@-compdef -compmempass -dependenttrans -retalias @*/
/*-
* Copyright (c) 1990, 1993, 1994
* The Regents of the University of California. All rights reserved.
@@ -87,31 +84,17 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
#endif
-/*@only@*/ /*@null@*/
-static FTSENT * fts_alloc(FTS * sp, const char * name, int namelen)
- /*@*/;
-/*@null@*/
-static FTSENT * fts_build(FTS * sp, int type)
- /*@globals fileSystem, internalState @*/
- /*@modifies *sp, fileSystem, internalState @*/;
-static void fts_lfree(/*@only@*/ FTSENT * head)
- /*@modifies head @*/;
-static void fts_load(FTS * sp, FTSENT * p)
- /*@modifies *sp, *p @*/;
-static size_t fts_maxarglen(char * const * argv)
- /*@*/;
-static void fts_padjust(FTS * sp, FTSENT * head)
- /*@modifies *sp, *head @*/;
-static int fts_palloc(FTS * sp, size_t more)
- /*@modifies *sp @*/;
-static FTSENT * fts_sort(FTS * sp, /*@returned@*/ FTSENT * head, int nitems)
- /*@modifies *sp @*/;
-static u_short fts_stat(FTS * sp, FTSENT * p, int follow)
- /*@modifies *p @*/;
+static FTSENT * fts_alloc(FTS * sp, const char * name, int namelen);
+static FTSENT * fts_build(FTS * sp, int type);
+static void fts_lfree(FTSENT * head);
+static void fts_load(FTS * sp, FTSENT * p);
+static size_t fts_maxarglen(char * const * argv);
+static void fts_padjust(FTS * sp, FTSENT * head);
+static int fts_palloc(FTS * sp, size_t more);
+static FTSENT * fts_sort(FTS * sp, FTSENT * head, int nitems);
+static u_short fts_stat(FTS * sp, FTSENT * p, int follow);
static int fts_safe_changedir(FTS * sp, FTSENT * p, int fd,
- const char * path)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+ const char * path);
#ifndef MAX
#define MAX(a, b) ({ __typeof__ (a) _a = (a); \
@@ -144,9 +127,7 @@ Fts_open(char * const * argv, int options,
/* Options check. */
if (options & ~FTS_OPTIONMASK) {
-/*@-boundswrite@*/
__set_errno (EINVAL);
-/*@=boundswrite@*/
return (NULL);
}
@@ -185,9 +166,7 @@ Fts_open(char * const * argv, int options,
for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) {
/* Don't allow zero-length paths. */
if ((len = strlen(*argv)) == 0) {
-/*@-boundswrite@*/
__set_errno (ENOENT);
-/*@=boundswrite@*/
goto mem3;
}
@@ -195,19 +174,17 @@ Fts_open(char * const * argv, int options,
switch (urlIsURL(*argv)) {
case URL_IS_DASH:
case URL_IS_HKP:
-/*@-boundswrite@*/
__set_errno (ENOENT);
-/*@=boundswrite@*/
goto mem3;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_FTP:
SET(FTS_NOCHDIR);
- /*@switchbreak@*/ break;
+ break;
case URL_IS_UNKNOWN:
case URL_IS_PATH:
- /*@switchbreak@*/ break;
+ break;
}
p = fts_alloc(sp, *argv, len);
@@ -240,10 +217,8 @@ Fts_open(char * const * argv, int options,
}
}
}
- /*@-branchstate@*/
if (compar && nitems > 1)
root = fts_sort(sp, root, nitems);
- /*@=branchstate@*/
/*
* Allocate a dummy pointer and make fts_read think that we've just
@@ -289,7 +264,6 @@ fts_load(FTS * sp, FTSENT * p)
* known that the path will fit.
*/
len = p->fts_pathlen = p->fts_namelen;
-/*@-boundswrite@*/
memmove(sp->fts_path, p->fts_name, len + 1);
if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) {
len = strlen(++cp);
@@ -298,7 +272,6 @@ fts_load(FTS * sp, FTSENT * p)
}
p->fts_accpath = p->fts_path = sp->fts_path;
sp->fts_dev = p->fts_dev;
-/*@=boundswrite@*/
}
int
@@ -315,7 +288,6 @@ Fts_close(FTS * sp)
* points to the root list, so we step through to the end of the root
* list which has a valid parent pointer.
*/
- /*@-branchstate@*/
if (sp->fts_cur) {
for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) {
freep = p;
@@ -324,7 +296,6 @@ Fts_close(FTS * sp)
}
free(p);
}
- /*@=branchstate@*/
/* Free up child linked list, sort array, path buffer. */
if (sp->fts_child)
@@ -342,9 +313,7 @@ Fts_close(FTS * sp)
if (saved_errno != 0) {
/* Free up the stream pointer. */
free(sp);
-/*@-boundswrite@*/
__set_errno (saved_errno);
-/*@=boundswrite@*/
return (-1);
}
}
@@ -461,7 +430,6 @@ Fts_read(FTS * sp)
}
/* Move to the next node on this level. */
-/*@-boundswrite@*/
next: tmp = p;
if ((p = p->fts_link) != NULL) {
free(tmp);
@@ -486,7 +454,6 @@ next: tmp = p;
*/
if (p->fts_instr == FTS_SKIP)
goto next;
- /*@-branchstate@*/
if (p->fts_instr == FTS_FOLLOW) {
p->fts_info = fts_stat(sp, p, 1);
if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) {
@@ -499,7 +466,6 @@ next: tmp = p;
}
p->fts_instr = FTS_NOINSTR;
}
- /*@=branchstate@*/
name: t = sp->fts_path + NAPPEND(p->fts_parent);
*t++ = '/';
@@ -523,7 +489,6 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
/* NUL terminate the pathname. */
sp->fts_path[p->fts_pathlen] = '\0';
-/*@=boundswrite@*/
/*
* Return to the parent directory. If at a root node or came through
@@ -539,9 +504,7 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
if (FCHDIR(sp, p->fts_symfd)) {
saved_errno = errno;
(void)__close(p->fts_symfd);
-/*@-boundswrite@*/
__set_errno (saved_errno);
-/*@=boundswrite@*/
SET(FTS_STOP);
return (NULL);
}
@@ -562,13 +525,11 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
* reasons.
*/
int
-Fts_set(/*@unused@*/ FTS * sp, FTSENT * p, int instr)
+Fts_set(FTS * sp, FTSENT * p, int instr)
{
if (instr != 0 && instr != FTS_AGAIN && instr != FTS_FOLLOW &&
instr != FTS_NOINSTR && instr != FTS_SKIP) {
-/*@-boundswrite@*/
__set_errno (EINVAL);
-/*@=boundswrite@*/
return (1);
}
p->fts_instr = instr;
@@ -582,9 +543,7 @@ Fts_children(FTS * sp, int instr)
int fd;
if (instr != 0 && instr != FTS_NAMEONLY) {
-/*@-boundswrite@*/
__set_errno (EINVAL);
-/*@=boundswrite@*/
return (NULL);
}
@@ -595,9 +554,7 @@ Fts_children(FTS * sp, int instr)
* Errno set to 0 so user can distinguish empty directory from
* an error.
*/
-/*@-boundswrite@*/
__set_errno (0);
-/*@=boundswrite@*/
/* Fatal errors stop here. */
if (ISSET(FTS_STOP))
@@ -760,9 +717,7 @@ fts_build(FTS * sp, int type)
len = NAPPEND(cur);
if (ISSET(FTS_NOCHDIR)) {
cp = sp->fts_path + len;
-/*@-boundswrite@*/
*cp++ = '/';
-/*@=boundswrite@*/
} else {
/* GCC, you're too verbose. */
cp = NULL;
@@ -892,10 +847,8 @@ mem1: saved_errno = errno;
if (ISSET(FTS_NOCHDIR)) {
if (len == sp->fts_pathlen || nitems == 0)
--cp;
-/*@-boundswrite@*/
if (cp != NULL) /* XXX can't happen */
*cp = '\0';
-/*@=boundswrite@*/
}
/*
@@ -959,9 +912,7 @@ fts_stat(FTS * sp, FTSENT * p, int follow)
if ((*sp->fts_stat) (p->fts_accpath, sbp)) {
saved_errno = errno;
if (!(*sp->fts_lstat) (p->fts_accpath, sbp)) {
-/*@-boundswrite@*/
__set_errno (0);
-/*@=boundswrite@*/
return (FTS_SLNONE);
}
p->fts_errno = saved_errno;
@@ -969,9 +920,7 @@ fts_stat(FTS * sp, FTSENT * p, int follow)
}
} else if ((*sp->fts_lstat) (p->fts_accpath, sbp)) {
p->fts_errno = errno;
-/*@-boundswrite@*/
err: memset(sbp, 0, sizeof(*sbp));
-/*@=boundswrite@*/
return (FTS_NS);
}
@@ -1037,7 +986,6 @@ fts_sort(FTS * sp, FTSENT * head, int nitems)
}
sp->fts_array = a;
}
-/*@-boundswrite@*/
for (ap = sp->fts_array, p = head; p != NULL; p = p->fts_link)
*ap++ = p;
qsort((void *)sp->fts_array, nitems, sizeof(*sp->fts_array),
@@ -1045,7 +993,6 @@ fts_sort(FTS * sp, FTSENT * head, int nitems)
for (head = *(ap = sp->fts_array); --nitems; ++ap)
ap[0]->fts_link = ap[1];
ap[0]->fts_link = NULL;
-/*@=boundswrite@*/
return (head);
}
@@ -1070,10 +1017,8 @@ fts_alloc(FTS * sp, const char * name, int namelen)
return (NULL);
/* Copy the name and guarantee NUL termination. */
-/*@-boundswrite@*/
memmove(p->fts_name, name, namelen);
p->fts_name[namelen] = '\0';
-/*@=boundswrite@*/
if (!ISSET(FTS_NOSTAT))
p->fts_statp = (struct stat *)ALIGN(p->fts_name + namelen + 2);
@@ -1093,12 +1038,10 @@ fts_lfree(FTSENT * head)
register FTSENT *p;
/* Free a linked list of structures. */
- /*@-branchstate@*/
while ((p = head)) {
head = head->fts_link;
free(p);
}
- /*@=branchstate@*/
}
/*
@@ -1124,9 +1067,7 @@ fts_palloc(FTS * sp, size_t more)
sp->fts_path = NULL;
}
sp->fts_path = NULL;
-/*@-boundswrite@*/
__set_errno (ENAMETOOLONG);
-/*@=boundswrite@*/
return (1);
}
p = realloc(sp->fts_path, sp->fts_pathlen);
@@ -1199,9 +1140,7 @@ fts_safe_changedir(FTS * sp, FTSENT * p, int fd, const char * path)
goto bail;
}
if (p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) {
-/*@-boundswrite@*/
__set_errno (ENOENT); /* disinformation */
-/*@=boundswrite@*/
ret = -1;
goto bail;
}
@@ -1210,11 +1149,6 @@ bail:
oerrno = errno;
if (fd < 0)
(void)__close(newfd);
-/*@-boundswrite@*/
__set_errno (oerrno);
-/*@=boundswrite@*/
return (ret);
}
-/*@=compdef =compmempass =dependenttrans =retalias @*/
-/*@=sysunrecog =noeffectuncon =nullpass =sizeoftype =unrecog =usereleased @*/
-/*@=boundsread@*/
diff --git a/rpmio/fts.h b/rpmio/fts.h
index eaa4a8b31..9d982aebd 100644
--- a/rpmio/fts.h
+++ b/rpmio/fts.h
@@ -66,37 +66,21 @@
#include <dirent.h>
typedef struct {
-/*@owned@*/ /*@relnull@*/
struct _ftsent *fts_cur; /*!< current node */
-/*@owned@*/ /*@null@*/
struct _ftsent *fts_child; /*!< linked list of children */
-/*@owned@*/ /*@null@*/
struct _ftsent **fts_array; /*!< sort array */
dev_t fts_dev; /*!< starting device # */
-/*@owned@*/ /*@relnull@*/
char *fts_path; /*!< path for this descent */
int fts_rfd; /*!< fd for root */
int fts_pathlen; /*!< sizeof(path) */
int fts_nitems; /*!< elements in the sort array */
-/*@null@*/
- int (*fts_compar) (const void *, const void *)
- /*@*/; /*!< compare fn */
-
- DIR * (*fts_opendir) (const char * path)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
- struct dirent * (*fts_readdir) (DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies *dir, fileSystem @*/;
- int (*fts_closedir) (/*@only@*/ DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies *dir, fileSystem @*/;
- int (*fts_stat) (const char * path, /*@out@*/ struct stat * st)
- /*@globals fileSystem @*/
- /*@modifies *st, fileSystem @*/;
- int (*fts_lstat) (const char * path, /*@out@*/ struct stat * st)
- /*@globals fileSystem @*/
- /*@modifies *st, fileSystem @*/;
+ int (*fts_compar) (const void *, const void *); /*!< compare fn */
+
+ DIR * (*fts_opendir) (const char * path);
+ struct dirent * (*fts_readdir) (DIR * dir);
+ int (*fts_closedir) (DIR * dir);
+ int (*fts_stat) (const char * path, struct stat * st);
+ int (*fts_lstat) (const char * path, struct stat * st);
#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */
#define FTS_LOGICAL 0x0002 /* logical walk */
@@ -114,18 +98,12 @@ typedef struct {
} FTS;
typedef struct _ftsent {
-/*@dependent@*/
struct _ftsent *fts_cycle; /*!< cycle node */
-/*@dependent@*/ /*@relnull@*/
struct _ftsent *fts_parent; /*!< parent directory */
-/*@dependent@*/ /*@null@*/
struct _ftsent *fts_link; /*!< next file in directory */
long fts_number; /*!< local numeric value */
-/*@null@*/
void *fts_pointer; /*!< local address value */
-/*@dependent@*/
char *fts_accpath; /*!< access path */
-/*@dependent@*/
char *fts_path; /*!< root path */
int fts_errno; /*!< errno for this node */
int fts_symfd; /*!< fd for symlink */
@@ -166,7 +144,6 @@ typedef struct _ftsent {
#define FTS_SKIP 4 /* discard node */
u_short fts_instr; /*!< fts_set() instructions */
-/*@dependent@*/
struct stat *fts_statp; /*!< stat(2) information */
char fts_name[1]; /*!< file name */
} FTSENT;
@@ -179,19 +156,16 @@ __BEGIN_DECLS
* @param instr
* @return file set member
*/
-/*@dependent@*/ /*@null@*/
FTSENT *Fts_children (FTS * sp, int instr) __THROW
- /*@globals fileSystem, internalState @*/
- /*@modifies *sp, fileSystem, internalState @*/;
+;
/**
* Destroy a file hierarchy traversal handle.
* @param sp file hierarchy state
* @return 0 on sucess, -1 on error
*/
-int Fts_close (/*@only@*/ /*@null@*/ FTS * sp) __THROW
- /*@globals fileSystem, internalState @*/
- /*@modifies *sp, fileSystem, internalState @*/;
+int Fts_close (FTS * sp) __THROW
+;
/**
* Create a handle for file hierarchy traversal.
@@ -200,21 +174,17 @@ int Fts_close (/*@only@*/ /*@null@*/ FTS * sp) __THROW
* @param compar traversal ordering (or NULL)
* @return file hierarchy state (or NULL on error)
*/
-/*@only@*/ /*@null@*/
FTS *Fts_open (char * const * argv, int options,
- /*@null@*/
int (*compar) (const FTSENT **, const FTSENT **)) __THROW
- /*@*/;
+ ;
/**
* Return next node in the file hierarchy traversal.
* @param sp file hierarchy state
* @return file set member
*/
-/*@null@*/
-FTSENT *Fts_read (/*@null@*/ FTS * sp) __THROW
- /*@globals fileSystem, internalState @*/
- /*@modifies *sp, fileSystem, internalState @*/;
+FTSENT *Fts_read (FTS * sp) __THROW
+;
/**
* Modify the traversal for a file set member.
@@ -224,7 +194,7 @@ FTSENT *Fts_read (/*@null@*/ FTS * sp) __THROW
* @return 0 on sucess, -1 on error
*/
int Fts_set (FTS * sp, FTSENT * p, int instr) __THROW
- /*@modifies *p @*/;
+;
__END_DECLS
diff --git a/rpmio/macro.c b/rpmio/macro.c
index 462ee74f3..dc2907c88 100644
--- a/rpmio/macro.c
+++ b/rpmio/macro.c
@@ -1,4 +1,3 @@
-/*@-boundsread@*/
/** \ingroup rpmrc rpmio
* \file rpmio/macro.c
*/
@@ -55,54 +54,38 @@ typedef FILE * FD_t;
#include "debug.h"
/*@access FD_t@*/ /* XXX compared with NULL */
-/*@access MacroContext@*/
-/*@access MacroEntry@*/
-/*@access rpmlua @*/
static struct MacroContext_s rpmGlobalMacroContext_s;
-/*@-compmempass@*/
MacroContext rpmGlobalMacroContext = &rpmGlobalMacroContext_s;
-/*@=compmempass@*/
static struct MacroContext_s rpmCLIMacroContext_s;
-/*@-compmempass@*/
MacroContext rpmCLIMacroContext = &rpmCLIMacroContext_s;
-/*@=compmempass@*/
/**
* Macro expansion state.
*/
-typedef /*@abstract@*/ struct MacroBuf_s {
-/*@kept@*/ /*@exposed@*/
+typedef struct MacroBuf_s {
const char * s; /*!< Text to expand. */
-/*@shared@*/
char * t; /*!< Expansion buffer. */
size_t nb; /*!< No. bytes remaining in expansion buffer. */
int depth; /*!< Current expansion depth. */
int macro_trace; /*!< Pre-print macro to expand? */
int expand_trace; /*!< Post-print macro expansion? */
-/*@kept@*/ /*@exposed@*/ /*@null@*/
void * spec; /*!< (future) %file expansion info?. */
-/*@kept@*/ /*@exposed@*/
MacroContext mc;
} * MacroBuf;
#define SAVECHAR(_mb, _c) { *(_mb)->t = (_c), (_mb)->t++, (_mb)->nb--; }
-/*@-exportlocal -exportheadervar@*/
#define _MAX_MACRO_DEPTH 16
-/*@unchecked@*/
int max_macro_depth = _MAX_MACRO_DEPTH;
#define _PRINT_MACRO_TRACE 0
-/*@unchecked@*/
int print_macro_trace = _PRINT_MACRO_TRACE;
#define _PRINT_EXPAND_TRACE 0
-/*@unchecked@*/
int print_expand_trace = _PRINT_EXPAND_TRACE;
-/*@=exportlocal =exportheadervar@*/
#define MACRO_CHUNK_SIZE 16
@@ -118,9 +101,8 @@ static int expandMacro(MacroBuf mb)
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ const void * p)
- /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -136,7 +118,6 @@ _free(/*@only@*/ /*@null@*/ const void * p)
*/
static int
compareMacroName(const void * ap, const void * bp)
- /*@*/
{
MacroEntry ame = *((MacroEntry *)ap);
MacroEntry bme = *((MacroEntry *)bp);
@@ -154,10 +135,8 @@ compareMacroName(const void * ap, const void * bp)
* Enlarge macro table.
* @param mc macro context
*/
-/*@-boundswrite@*/
static void
expandMacroTable(MacroContext mc)
- /*@modifies mc @*/
{
if (mc->macroTable == NULL) {
mc->macrosAllocated = MACRO_CHUNK_SIZE;
@@ -172,7 +151,6 @@ expandMacroTable(MacroContext mc)
}
memset(&mc->macroTable[mc->firstFree], 0, MACRO_CHUNK_SIZE * sizeof(*(mc->macroTable)));
}
-/*@=boundswrite@*/
/**
* Sort entries in macro table.
@@ -180,7 +158,6 @@ expandMacroTable(MacroContext mc)
*/
static void
sortMacroTable(MacroContext mc)
- /*@modifies mc @*/
{
int i;
@@ -239,23 +216,17 @@ rpmDumpMacroTable(MacroContext mc, FILE * fp)
* @param namelen no. of bytes
* @return address of slot in macro table with name (or NULL)
*/
-/*@-boundswrite@*/
-/*@dependent@*/ /*@null@*/
static MacroEntry *
findEntry(MacroContext mc, const char * name, size_t namelen)
- /*@*/
{
MacroEntry key, *ret;
struct MacroEntry_s keybuf;
char *namebuf = NULL;
-/*@-globs@*/
if (mc == NULL) mc = rpmGlobalMacroContext;
-/*@=globs@*/
if (mc->macroTable == NULL || mc->firstFree == 0)
return NULL;
-/*@-branchstate@*/
if (namelen > 0) {
namebuf = alloca(namelen + 1);
memset(namebuf, 0, (namelen + 1));
@@ -263,19 +234,15 @@ findEntry(MacroContext mc, const char * name, size_t namelen)
namebuf[namelen] = '\0';
name = namebuf;
}
-/*@=branchstate@*/
key = &keybuf;
memset(key, 0, sizeof(*key));
- /*@-temptrans -assignexpose@*/
key->name = (char *)name;
- /*@=temptrans =assignexpose@*/
ret = (MacroEntry *) bsearch(&key, mc->macroTable, mc->firstFree,
sizeof(*(mc->macroTable)), compareMacroName);
/* XXX TODO: find 1st empty slot and return that */
return ret;
}
-/*@=boundswrite@*/
/* =============================================================== */
@@ -286,12 +253,8 @@ findEntry(MacroContext mc, const char * name, size_t namelen)
* @param fd file handle
* @return buffer, or NULL on end-of-file
*/
-/*@-boundswrite@*/
-/*@null@*/
static char *
-rdcl(/*@returned@*/ char * buf, size_t size, FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies buf, fileSystem @*/
+rdcl(char * buf, size_t size, FD_t fd)
{
char *q = buf - 1; /* initialize just before buffer. */
size_t nb = 0;
@@ -313,21 +276,21 @@ rdcl(/*@returned@*/ char * buf, size_t size, FD_t fd)
switch (*p) {
case '\\':
switch (*(p+1)) {
- case '\0': /*@switchbreak@*/ break;
- default: p++; /*@switchbreak@*/ break;
+ case '\0': break;
+ default: p++; break;
}
- /*@switchbreak@*/ break;
+ break;
case '%':
switch (*(p+1)) {
- case '{': p++, bc++; /*@switchbreak@*/ break;
- case '(': p++, pc++; /*@switchbreak@*/ break;
- case '%': p++; /*@switchbreak@*/ break;
+ case '{': p++, bc++; break;
+ case '(': p++, pc++; break;
+ case '%': p++; break;
}
- /*@switchbreak@*/ break;
- case '{': if (bc > 0) bc++; /*@switchbreak@*/ break;
- case '}': if (bc > 0) bc--; /*@switchbreak@*/ break;
- case '(': if (pc > 0) pc++; /*@switchbreak@*/ break;
- case ')': if (pc > 0) pc--; /*@switchbreak@*/ break;
+ break;
+ case '{': if (bc > 0) bc++; break;
+ case '}': if (bc > 0) bc--; break;
+ case '(': if (pc > 0) pc++; break;
+ case ')': if (pc > 0) pc--; break;
}
}
if (nb == 0 || (*q != '\\' && !bc && !pc) || *(q+1) == '\0') {
@@ -341,7 +304,6 @@ rdcl(/*@returned@*/ char * buf, size_t size, FD_t fd)
} while (size > 0);
return (nread > 0 ? buf : NULL);
}
-/*@=boundswrite@*/
/**
* Return text between pl and matching pr characters.
@@ -350,10 +312,8 @@ rdcl(/*@returned@*/ char * buf, size_t size, FD_t fd)
* @param pr right char, i.e. ']', ')', '}', etc.
* @return address of last char before pr (or NULL)
*/
-/*@null@*/
static const char *
matchchar(const char * p, char pl, char pr)
- /*@*/
{
int lvl = 0;
char c;
@@ -379,8 +339,6 @@ matchchar(const char * p, char pl, char pr)
*/
static void
printMacro(MacroBuf mb, const char * s, const char * se)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
const char *senl;
const char *ellipsis;
@@ -423,8 +381,6 @@ printMacro(MacroBuf mb, const char * s, const char * se)
*/
static void
printExpansion(MacroBuf mb, const char * t, const char * te)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
const char *ellipsis;
int choplen;
@@ -463,13 +419,11 @@ printExpansion(MacroBuf mb, const char * t, const char * te)
/*@-globs@*/ /* FIX: __ctype_b */ \
while (((_c) = *(_s)) && isblank(_c)) \
(_s)++; \
- /*@=globs@*/
#define SKIPNONBLANK(_s, _c) \
/*@-globs@*/ /* FIX: __ctype_b */ \
while (((_c) = *(_s)) && !(isblank(_c) || iseol(_c))) \
(_s)++; \
- /*@=globs@*/
#define COPYNAME(_ne, _s, _c) \
{ SKIPBLANK(_s,_c); \
@@ -497,8 +451,6 @@ printExpansion(MacroBuf mb, const char * t, const char * te)
*/
static int
expandT(MacroBuf mb, const char * f, size_t flen)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem@*/
- /*@modifies mb, rpmGlobalMacroContext, fileSystem @*/
{
char *sbuf;
const char *s = mb->s;
@@ -525,8 +477,6 @@ expandT(MacroBuf mb, const char * f, size_t flen)
*/
static int
expandS(MacroBuf mb, char * tbuf, size_t tbuflen)
- /*@globals rpmGlobalMacroContext, fileSystem@*/
- /*@modifies mb, *tbuf, rpmGlobalMacroContext, fileSystem @*/
{
const char *t = mb->t;
size_t nb = mb->nb;
@@ -548,11 +498,8 @@ expandS(MacroBuf mb, char * tbuf, size_t tbuflen)
* @param ulen no. bytes in u buffer
* @return result of expansion
*/
-/*@-boundswrite@*/
static int
expandU(MacroBuf mb, char * u, size_t ulen)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem@*/
- /*@modifies mb, *u, rpmGlobalMacroContext, fileSystem @*/
{
const char *s = mb->s;
char *t = mb->t;
@@ -578,7 +525,6 @@ expandU(MacroBuf mb, char * u, size_t ulen)
return rc;
}
-/*@=boundswrite@*/
/**
* Expand output of shell command into target buffer.
@@ -587,11 +533,8 @@ expandU(MacroBuf mb, char * u, size_t ulen)
* @param clen no. bytes in shell command
* @return result of expansion
*/
-/*@-boundswrite@*/
static int
doShellEscape(MacroBuf mb, const char * cmd, size_t clen)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
- /*@modifies mb, rpmGlobalMacroContext, fileSystem @*/
{
char pcmd[BUFSIZ];
FILE *shf;
@@ -622,7 +565,6 @@ doShellEscape(MacroBuf mb, const char * cmd, size_t clen)
}
return 0;
}
-/*@=boundswrite@*/
/**
* Parse (and execute) new macro definition.
@@ -632,10 +574,8 @@ doShellEscape(MacroBuf mb, const char * cmd, size_t clen)
* @param expandbody should body be expanded?
* @return address to continue parsing
*/
-/*@dependent@*/ static const char *
-doDefine(MacroBuf mb, /*@returned@*/ const char * se, int level, int expandbody)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies mb, rpmGlobalMacroContext @*/
+static const char *
+doDefine(MacroBuf mb, const char * se, int level, int expandbody)
{
const char *s = se;
char buf[BUFSIZ], *n = buf, *ne = n;
@@ -667,35 +607,32 @@ doDefine(MacroBuf mb, /*@returned@*/ const char * se, int level, int expandbody)
return se;
}
s++; /* XXX skip { */
-/*@-boundswrite@*/
strncpy(b, s, (se - s));
b[se - s] = '\0';
-/*@=boundswrite@*/
be += strlen(b);
se++; /* XXX skip } */
s = se; /* move scan forward */
} else { /* otherwise free-field */
-/*@-boundswrite@*/
int bc = 0, pc = 0;
while (*s && (bc || pc || !iseol(*s))) {
switch (*s) {
case '\\':
switch (*(s+1)) {
- case '\0': /*@switchbreak@*/ break;
- default: s++; /*@switchbreak@*/ break;
+ case '\0': break;
+ default: s++; break;
}
- /*@switchbreak@*/ break;
+ break;
case '%':
switch (*(s+1)) {
- case '{': *be++ = *s++; bc++; /*@switchbreak@*/ break;
- case '(': *be++ = *s++; pc++; /*@switchbreak@*/ break;
- case '%': *be++ = *s++; /*@switchbreak@*/ break;
+ case '{': *be++ = *s++; bc++; break;
+ case '(': *be++ = *s++; pc++; break;
+ case '%': *be++ = *s++; break;
}
- /*@switchbreak@*/ break;
- case '{': if (bc > 0) bc++; /*@switchbreak@*/ break;
- case '}': if (bc > 0) bc--; /*@switchbreak@*/ break;
- case '(': if (pc > 0) pc++; /*@switchbreak@*/ break;
- case ')': if (pc > 0) pc--; /*@switchbreak@*/ break;
+ break;
+ case '{': if (bc > 0) bc++; break;
+ case '}': if (bc > 0) bc--; break;
+ case '(': if (pc > 0) pc++; break;
+ case ')': if (pc > 0) pc--; break;
}
*be++ = *s++;
}
@@ -709,12 +646,9 @@ doDefine(MacroBuf mb, /*@returned@*/ const char * se, int level, int expandbody)
}
/* Trim trailing blanks/newlines */
-/*@-globs@*/
while (--be >= b && (c = *be) && (isblank(c) || iseol(c)))
{};
-/*@=globs@*/
*(++be) = '\0'; /* one too far */
-/*@=boundswrite@*/
}
/* Move scan over body */
@@ -740,12 +674,10 @@ doDefine(MacroBuf mb, /*@returned@*/ const char * se, int level, int expandbody)
return se;
}
-/*@-modfilesys@*/
if (expandbody && expandU(mb, b, (&buf[sizeof(buf)] - b))) {
rpmError(RPMERR_BADSPEC, _("Macro %%%s failed to expand\n"), n);
return se;
}
-/*@=modfilesys@*/
addMacro(mb->mc, n, o, b, (level - 1));
@@ -758,10 +690,8 @@ doDefine(MacroBuf mb, /*@returned@*/ const char * se, int level, int expandbody)
* @param se macro name to undefine
* @return address to continue parsing
*/
-/*@dependent@*/ static const char *
-doUndefine(MacroContext mc, /*@returned@*/ const char * se)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mc, rpmGlobalMacroContext @*/
+static const char *
+doUndefine(MacroContext mc, const char * se)
{
const char *s = se;
char buf[BUFSIZ], *n = buf, *ne = n;
@@ -789,8 +719,6 @@ doUndefine(MacroContext mc, /*@returned@*/ const char * se)
#ifdef DYING
static void
dumpME(const char * msg, MacroEntry me)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (msg)
fprintf(stderr, "%s", msg);
@@ -811,30 +739,23 @@ dumpME(const char * msg, MacroEntry me)
* @param level macro recursion level
*/
static void
-pushMacro(/*@out@*/ MacroEntry * mep,
- const char * n, /*@null@*/ const char * o,
- /*@null@*/ const char * b, int level)
- /*@modifies *mep @*/
+pushMacro(MacroEntry * mep,
+ const char * n, const char * o,
+ const char * b, int level)
{
MacroEntry prev = (mep && *mep ? *mep : NULL);
MacroEntry me = (MacroEntry) xmalloc(sizeof(*me));
- /*@-assignexpose@*/
me->prev = prev;
- /*@=assignexpose@*/
me->name = (prev ? prev->name : xstrdup(n));
me->opts = (o ? xstrdup(o) : NULL);
me->body = xstrdup(b ? b : "");
me->used = 0;
me->level = level;
-/*@-boundswrite@*/
-/*@-branchstate@*/
if (mep)
*mep = me;
else
me = _free(me);
-/*@=branchstate@*/
-/*@=boundswrite@*/
}
/**
@@ -843,24 +764,17 @@ pushMacro(/*@out@*/ MacroEntry * mep,
*/
static void
popMacro(MacroEntry * mep)
- /*@modifies *mep @*/
{
MacroEntry me = (*mep ? *mep : NULL);
-/*@-branchstate@*/
if (me) {
/* XXX cast to workaround const */
- /*@-onlytrans@*/
-/*@-boundswrite@*/
if ((*mep = me->prev) == NULL)
me->name = _free(me->name);
-/*@=boundswrite@*/
me->opts = _free(me->opts);
me->body = _free(me->body);
me = _free(me);
- /*@=onlytrans@*/
}
-/*@=branchstate@*/
}
/**
@@ -869,7 +783,6 @@ popMacro(MacroEntry * mep)
*/
static void
freeArgs(MacroBuf mb)
- /*@modifies mb @*/
{
MacroContext mc = mb->mc;
int ndeleted = 0;
@@ -918,12 +831,9 @@ freeArgs(MacroBuf mb)
* @param lastc stop parsing at lastc
* @return address to continue parsing
*/
-/*@-bounds@*/
-/*@dependent@*/ static const char *
-grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
+static const char *
+grabArgs(MacroBuf mb, const MacroEntry me, const char * se,
const char * lastc)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mb, rpmGlobalMacroContext @*/
{
char buf[BUFSIZ], *b, *be;
char aname[16];
@@ -943,12 +853,10 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
/* Copy args into buf until lastc */
*be++ = ' ';
while ((c = *se++) != '\0' && (se-1) != lastc) {
-/*@-globs@*/
if (!isblank(c)) {
*be++ = c;
continue;
}
-/*@=globs@*/
/* c is blank */
if (be[-1] == ' ')
continue;
@@ -1007,9 +915,7 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
/* 1003.2 says this must be 1 before any call. */
#ifdef __GLIBC__
- /*@-mods@*/
optind = 0; /* XXX but posix != glibc */
- /*@=mods@*/
#else
optind = 1;
#endif
@@ -1017,9 +923,8 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
opts = me->opts;
/* Define option macros. */
-/*@-nullstate@*/ /* FIX: argv[] can be NULL */
+/* FIX: argv[] can be NULL */
while((c = getopt(argc, (char **)argv, opts)) != -1)
-/*@=nullstate@*/
{
if (c == '?' || (o = strchr(opts, c)) == NULL) {
rpmError(RPMERR_BADSPEC, _("Unknown option %c in %s(%s)\n"),
@@ -1053,9 +958,8 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
sprintf(aname, "%d", (c - optind + 1));
addMacro(mb->mc, aname, NULL, argv[c], mb->depth);
if (be != b) *be++ = ' '; /* Add space between args */
-/*@-nullpass@*/ /* FIX: argv[] can be NULL */
+/* FIX: argv[] can be NULL */
be = stpcpy(be, argv[c]);
-/*@=nullpass@*/
}
}
@@ -1064,7 +968,6 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
return se;
}
-/*@=bounds@*/
/**
* Perform macro message output
@@ -1075,8 +978,6 @@ grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se,
*/
static void
doOutput(MacroBuf mb, int waserror, const char * msg, size_t msglen)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
- /*@modifies mb, rpmGlobalMacroContext, fileSystem @*/
{
char buf[BUFSIZ];
@@ -1104,9 +1005,7 @@ doOutput(MacroBuf mb, int waserror, const char * msg, size_t msglen)
*/
static void
doFoo(MacroBuf mb, int negate, const char * f, size_t fn,
- /*@null@*/ const char * g, size_t gn)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
- /*@modifies mb, rpmGlobalMacroContext, fileSystem, internalState @*/
+ const char * g, size_t gn)
{
char buf[BUFSIZ], *b = NULL, *be;
int c;
@@ -1145,17 +1044,13 @@ doFoo(MacroBuf mb, int negate, const char * f, size_t fn,
b = (rpmIsVerbose() ? buf : NULL);
} else if (STREQ("url2path", f, fn) || STREQ("u2p", f, fn)) {
(void)urlPath(buf, (const char **)&b);
-/*@-branchstate@*/
if (*b == '\0') b = "/";
-/*@=branchstate@*/
} else if (STREQ("uncompress", f, fn)) {
rpmCompressedMagic compressed = COMPRESSED_OTHER;
-/*@-globs@*/
for (b = buf; (c = *b) && isblank(c);)
b++;
for (be = b; (c = *be) && !isblank(c);)
be++;
-/*@=globs@*/
*be++ = '\0';
#ifndef DEBUG_MACROS
(void) isCompressed(b, &compressed);
@@ -1237,7 +1132,6 @@ expandMacro(MacroBuf mb)
return 1;
}
-/*@-branchstate@*/
while (rc == 0 && mb->nb > 0 && (c = *s) != '\0') {
s++;
/* Copy text until next macro */
@@ -1245,14 +1139,13 @@ expandMacro(MacroBuf mb)
case '%':
if (*s) { /* Ensure not end-of-string. */
if (*s != '%')
- /*@switchbreak@*/ break;
+ break;
s++; /* skip first % in %% */
}
- /*@fallthrough@*/
default:
SAVECHAR(mb, c);
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
}
/* Expand next macro */
@@ -1269,10 +1162,10 @@ expandMacro(MacroBuf mb)
switch(*s++) {
case '!':
negate = ((negate + 1) % 2);
- /*@switchbreak@*/ break;
+ break;
case '?':
chkexist++;
- /*@switchbreak@*/ break;
+ break;
}
}
f = se = s;
@@ -1285,21 +1178,19 @@ expandMacro(MacroBuf mb)
case '*':
se++;
if (*se == '*') se++;
- /*@innerbreak@*/ break;
+ break;
case '#':
se++;
- /*@innerbreak@*/ break;
+ break;
default:
- /*@innerbreak@*/ break;
+ break;
}
fe = se;
/* For "%name " macros ... */
-/*@-globs@*/
if ((c = *fe) && isblank(c))
if ((lastc = strchr(fe,'\n')) == NULL)
lastc = strchr(fe, '\0');
-/*@=globs@*/
- /*@switchbreak@*/ break;
+ break;
case '(': /* %(...) shell escape */
if ((se = matchchar(s, c, ')')) == NULL) {
rpmError(RPMERR_BADSPEC,
@@ -1316,7 +1207,7 @@ expandMacro(MacroBuf mb)
s = se;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case '{': /* %{...}/%{...:...} substitution */
if ((se = matchchar(s, c, '}')) == NULL) {
rpmError(RPMERR_BADSPEC,
@@ -1330,10 +1221,10 @@ expandMacro(MacroBuf mb)
switch(*f++) {
case '!':
negate = ((negate + 1) % 2);
- /*@switchbreak@*/ break;
+ break;
case '?':
chkexist++;
- /*@switchbreak@*/ break;
+ break;
}
}
for (fe = f; (c = *fe) && !strchr(" :}", c);)
@@ -1342,14 +1233,14 @@ expandMacro(MacroBuf mb)
case ':':
g = fe + 1;
ge = se - 1;
- /*@innerbreak@*/ break;
+ break;
case ' ':
lastc = se-1;
- /*@innerbreak@*/ break;
+ break;
default:
- /*@innerbreak@*/ break;
+ break;
}
- /*@switchbreak@*/ break;
+ break;
}
/* XXX Everything below expects fe > f */
@@ -1456,9 +1347,8 @@ expandMacro(MacroBuf mb)
STREQ("S", f, fn) ||
STREQ("P", f, fn) ||
STREQ("F", f, fn)) {
- /*@-internalglobs@*/ /* FIX: verbose may be set */
+ /* FIX: verbose may be set */
doFoo(mb, negate, f, fn, g, gn);
- /*@=internalglobs@*/
s = se;
continue;
}
@@ -1550,7 +1440,6 @@ expandMacro(MacroBuf mb)
s = se;
}
-/*@=branchstate@*/
*mb->t = '\0';
mb->s = s;
@@ -1569,10 +1458,8 @@ expandMacro(MacroBuf mb)
#define POPT_ARGV_ARRAY_GROW_DELTA 5
-/*@-boundswrite@*/
static int XpoptDupArgv(int argc, const char **argv,
int * argcPtr, const char *** argvPtr)
- /*@modifies *argcPtr, *argvPtr @*/
{
size_t nb = (argc + 1) * sizeof(*argv);
const char ** argv2;
@@ -1593,12 +1480,10 @@ static int XpoptDupArgv(int argc, const char **argv,
argv2 = (void *) dst;
dst += (argc + 1) * sizeof(*argv);
- /*@-branchstate@*/
for (i = 0; i < argc; i++) {
argv2[i] = dst;
dst += strlen(strcpy(dst, argv[i])) + 1;
}
- /*@=branchstate@*/
argv2[argc] = NULL;
if (argvPtr) {
@@ -1611,11 +1496,8 @@ static int XpoptDupArgv(int argc, const char **argv,
*argcPtr = argc;
return 0;
}
-/*@=boundswrite@*/
-/*@-bounds@*/
static int XpoptParseArgvString(const char * s, int * argcPtr, const char *** argvPtr)
- /*@modifies *argcPtr, *argvPtr @*/
{
const char * src;
char quote = '\0';
@@ -1656,17 +1538,16 @@ static int XpoptParseArgvString(const char * s, int * argcPtr, const char *** ar
case '"':
case '\'':
quote = *src;
- /*@switchbreak@*/ break;
+ break;
case '\\':
src++;
if (!*src) {
rc = POPT_ERROR_BADQUOTE;
goto exit;
}
- /*@fallthrough@*/
default:
*buf++ = *src;
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -1680,9 +1561,7 @@ exit:
if (argv) free(argv);
return rc;
}
-/*@=bounds@*/
/* =============================================================== */
-/*@unchecked@*/
static int _debug = 0;
int rpmGlob(const char * patterns, int * argcPtr, const char *** argvPtr)
@@ -1705,14 +1584,12 @@ int rpmGlob(const char * patterns, int * argcPtr, const char *** argvPtr)
if (rc)
return rc;
#ifdef ENABLE_NLS
-/*@-branchstate@*/
t = setlocale(LC_COLLATE, NULL);
if (t)
old_collate = xstrdup(t);
t = setlocale(LC_CTYPE, NULL);
if (t)
old_ctype = xstrdup(t);
-/*@=branchstate@*/
(void) setlocale(LC_COLLATE, "C");
(void) setlocale(LC_CTYPE, "C");
#endif
@@ -1755,14 +1632,14 @@ fprintf(stderr, "*** rpmGlob argv[%d] \"%s\"\n", argc, argv[argc]);
case URL_IS_PATH:
case URL_IS_DASH:
strncpy(globRoot, av[j], nb);
- /*@switchbreak@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_FTP:
case URL_IS_HKP:
case URL_IS_UNKNOWN:
default:
- /*@switchbreak@*/ break;
+ break;
}
globRoot += nb;
*globRoot = '\0';
@@ -1781,9 +1658,7 @@ if (_debug)
fprintf(stderr, "*** rpmGlob argv[%d] \"%s\"\n", argc, globURL);
argv[argc++] = xstrdup(globURL);
}
- /*@-immediatetrans@*/
Globfree(&gl);
- /*@=immediatetrans@*/
globURL = _free(globURL);
}
@@ -1800,7 +1675,6 @@ fprintf(stderr, "*** rpmGlob argv[%d] \"%s\"\n", argc, globURL);
exit:
#ifdef ENABLE_NLS
-/*@-branchstate@*/
if (old_collate) {
(void) setlocale(LC_COLLATE, old_collate);
old_collate = _free(old_collate);
@@ -1809,19 +1683,14 @@ exit:
(void) setlocale(LC_CTYPE, old_ctype);
old_ctype = _free(old_ctype);
}
-/*@=branchstate@*/
#endif
av = _free(av);
-/*@-branchstate@*/
if (rc || argvPtr == NULL) {
-/*@-dependenttrans -unqualifiedtrans@*/
if (argv != NULL)
for (i = 0; i < argc; i++)
argv[i] = _free(argv[i]);
argv = _free(argv);
-/*@=dependenttrans =unqualifiedtrans@*/
}
-/*@=branchstate@*/
return rc;
}
@@ -1903,7 +1772,7 @@ delMacro(MacroContext mc, const char * n)
}
}
-/*@-mustmod@*/ /* LCL: mc is modified through mb->mc, mb is abstract */
+/* LCL: mc is modified through mb->mc, mb is abstract */
int
rpmDefineMacro(MacroContext mc, const char * macro, int level)
{
@@ -1915,7 +1784,6 @@ rpmDefineMacro(MacroContext mc, const char * macro, int level)
(void) doDefine(mb, macro, level, 0);
return 0;
}
-/*@=mustmod@*/
void
rpmLoadMacros(MacroContext mc, int level)
@@ -1951,9 +1819,7 @@ rpmLoadMacroFile(MacroContext mc, const char * fn)
}
/* XXX Assume new fangled macro expansion */
- /*@-mods@*/
max_macro_depth = 16;
- /*@=mods@*/
buf[0] = '\0';
while(rdcl(buf, sizeof(buf), fd) != NULL) {
@@ -1991,7 +1857,7 @@ rpmInitMacros(MacroContext mc, const char * macrofiles)
for (me = m; (me = strchr(me, ':')) != NULL; me++) {
/* Skip over URI's. */
if (!(me[1] == '/' && me[2] == '/'))
- /*@innerbreak@*/ break;
+ break;
}
if (me && *me == ':')
@@ -2021,12 +1887,9 @@ rpmInitMacros(MacroContext mc, const char * macrofiles)
mfiles = _free(mfiles);
/* Reload cmdline macros */
- /*@-mods@*/
rpmLoadMacros(rpmCLIMacroContext, RMIL_CMDLINE);
- /*@=mods@*/
}
-/*@-globstate@*/
void
rpmFreeMacros(MacroContext mc)
{
@@ -2039,10 +1902,8 @@ rpmFreeMacros(MacroContext mc)
MacroEntry me;
while ((me = mc->macroTable[i]) != NULL) {
/* XXX cast to workaround const */
- /*@-onlytrans@*/
if ((mc->macroTable[i] = me->prev) == NULL)
me->name = _free(me->name);
- /*@=onlytrans@*/
me->opts = _free(me->opts);
me->body = _free(me->body);
me = _free(me);
@@ -2052,7 +1913,6 @@ rpmFreeMacros(MacroContext mc)
}
memset(mc, 0, sizeof(*mc));
}
-/*@=globstate@*/
/* =============================================================== */
int isCompressed(const char * file, rpmCompressedMagic * compressed)
@@ -2105,7 +1965,6 @@ int isCompressed(const char * file, rpmCompressedMagic * compressed)
/* =============================================================== */
-/*@-modfilesys@*/
char *
rpmExpand(const char *arg, ...)
{
@@ -2127,7 +1986,6 @@ rpmExpand(const char *arg, ...)
(void) expandMacros(NULL, NULL, buf, sizeof(buf));
return xstrdup(buf);
}
-/*@=modfilesys@*/
int
rpmExpandNumeric(const char *arg)
@@ -2175,10 +2033,10 @@ char *rpmCleanPath(char * path)
if (s[1] == '/' && s[2] == '/') {
*t++ = *s++;
*t++ = *s++;
- /*@switchbreak@*/ break;
+ break;
}
begin=1;
- /*@switchbreak@*/ break;
+ break;
case '/':
/* Move parent dir forward */
for (se = te + 1; se < t && *se != '/'; se++)
@@ -2191,7 +2049,7 @@ char *rpmCleanPath(char * path)
s++;
while (t > path && t[-1] == '/')
t--;
- /*@switchbreak@*/ break;
+ break;
case '.':
/* Leading .. is special */
/* Check that it is ../, so that we don't interpret */
@@ -2202,11 +2060,11 @@ char *rpmCleanPath(char * path)
if (begin && s[1] == '.' && (s[2] == '/' || s[2] == '\0')) {
/*fprintf(stderr, " leading \"..\"\n"); */
*t++ = *s++;
- /*@switchbreak@*/ break;
+ break;
}
/* Single . is special */
if (begin && s[1] == '\0') {
- /*@switchbreak@*/ break;
+ break;
}
/* Trim embedded ./ , trailing /. */
if ((t[-1] == '/' && s[1] == '\0') || (t > path && t[-1] == '/' && s[1] == '/')) {
@@ -2225,10 +2083,10 @@ char *rpmCleanPath(char * path)
s++;
continue;
}
- /*@switchbreak@*/ break;
+ break;
default:
begin = 0;
- /*@switchbreak@*/ break;
+ break;
}
*t++ = *s++;
}
@@ -2266,9 +2124,7 @@ rpmGetPath(const char *path, ...)
*te = '\0';
}
va_end(ap);
-/*@-modfilesys@*/
(void) expandMacros(NULL, NULL, buf, sizeof(buf));
-/*@=modfilesys@*/
(void) rpmCleanPath(buf);
return xstrdup(buf); /* XXX xstrdup has side effects. */
@@ -2279,12 +2135,12 @@ rpmGetPath(const char *path, ...)
const char * rpmGenPath(const char * urlroot, const char * urlmdir,
const char *urlfile)
{
-/*@owned@*/ const char * xroot = rpmGetPath(urlroot, NULL);
-/*@dependent@*/ const char * root = xroot;
-/*@owned@*/ const char * xmdir = rpmGetPath(urlmdir, NULL);
-/*@dependent@*/ const char * mdir = xmdir;
-/*@owned@*/ const char * xfile = rpmGetPath(urlfile, NULL);
-/*@dependent@*/ const char * file = xfile;
+const char * xroot = rpmGetPath(urlroot, NULL);
+const char * root = xroot;
+const char * xmdir = rpmGetPath(urlmdir, NULL);
+const char * mdir = xmdir;
+const char * xfile = rpmGetPath(urlfile, NULL);
+const char * file = xfile;
const char * result;
const char * url = NULL;
int nurl = 0;
@@ -2322,14 +2178,12 @@ if (_debug) fprintf(stderr, "*** RGP ut %d file %s nurl %d\n", ut, file, nurl);
#endif
}
-/*@-branchstate@*/
if (url && nurl > 0) {
char *t = strncpy(alloca(nurl+1), url, nurl);
t[nurl] = '\0';
url = t;
} else
url = "";
-/*@=branchstate@*/
result = rpmGetPath(url, root, "/", mdir, "/", file, NULL);
@@ -2423,4 +2277,3 @@ main(int argc, char *argv[])
}
#endif /* EVAL_MACROS */
#endif /* DEBUG_MACROS */
-/*@=boundsread@*/
diff --git a/rpmio/rpmdav.c b/rpmio/rpmdav.c
index 4c24f9c5d..ab6313718 100644
--- a/rpmio/rpmdav.c
+++ b/rpmio/rpmdav.c
@@ -1,4 +1,3 @@
-/*@-modfilesys@*/
/** \ingroup rpmio
* \file rpmio/rpmdav.c
*/
@@ -37,9 +36,6 @@
#include "ugid.h"
#include "debug.h"
-/*@access DIR @*/
-/*@access FD_t @*/
-/*@access urlinfo @*/
#if 0 /* HACK: reasonable value needed. */
#define TIMEOUT_SECS 60
@@ -48,7 +44,6 @@
#endif
#ifdef WITH_NEON
-/*@unchecked@*/
static int httpTimeoutSecs = TIMEOUT_SECS;
#endif
@@ -57,9 +52,8 @@ static int httpTimeoutSecs = TIMEOUT_SECS;
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
- /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -69,8 +63,6 @@ _free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
/* =============================================================== */
static int davFree(urlinfo u)
- /*@globals internalState @*/
- /*@modifies u, internalState @*/
{
if (u != NULL && u->sess != NULL) {
u->capabilities = _free(u->capabilities);
@@ -84,7 +76,6 @@ static int davFree(urlinfo u)
}
static void davProgress(void * userdata, off_t current, off_t total)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
@@ -103,11 +94,9 @@ fprintf(stderr, "*** davProgress(%p,0x%x:0x%x) sess %p u %p\n", userdata, (unsig
static void davNotify(void * userdata,
ne_conn_status connstatus, const char * info)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
- /*@observer@*/
static const char * connstates[] = {
"namelookup",
"connecting",
@@ -132,16 +121,13 @@ typedef enum {
u->connstatus = connstatus;
-/*@-boundsread@*/
if (_dav_debug < 0)
fprintf(stderr, "*** davNotify(%p,%d,%p) sess %p u %p %s\n", userdata, connstatus, info, sess, u, connstates[ (connstatus < 4 ? connstatus : 4)]);
-/*@=boundsread@*/
}
static void davCreateRequest(ne_request * req, void * userdata,
const char * method, const char * uri)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
@@ -187,7 +173,6 @@ fprintf(stderr, "-> %s\n", buf->data);
}
static int davPostSend(ne_request * req, void * userdata, const ne_status * status)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
@@ -203,15 +188,12 @@ assert(u == ne_get_session_private(sess, "urlinfo"));
fd = ne_get_request_private(req, id);
-/*@-evalorder@*/
if (_dav_debug < 0)
fprintf(stderr, "*** davPostSend(%p,%p,%p) sess %p %s %p %s\n", req, userdata, status, sess, id, fd, ne_get_error(sess));
-/*@=evalorder@*/
return NE_OK;
}
static void davDestroyRequest(ne_request * req, void * userdata)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
@@ -232,7 +214,6 @@ fprintf(stderr, "*** davDestroyRequest(%p,%p) sess %p %s %p\n", req, userdata, s
}
static void davDestroySession(void * userdata)
- /*@*/
{
urlinfo u = userdata;
ne_session * sess;
@@ -254,7 +235,6 @@ fprintf(stderr, "*** davDestroySession(%p) sess %p %s %p\n", userdata, sess, id,
static int
davVerifyCert(void *userdata, int failures, const ne_ssl_certificate *cert)
- /*@*/
{
const char *hostname = userdata;
@@ -265,8 +245,6 @@ fprintf(stderr, "*** davVerifyCert(%p,%d,%p) %s\n", userdata, failures, cert, ho
}
static int davConnect(urlinfo u)
- /*@globals internalState @*/
- /*@modifies u, internalState @*/
{
const char * path = NULL;
int rc;
@@ -286,7 +264,6 @@ static int davConnect(urlinfo u)
/* HACK: "301 Moved Permanently" on empty subdir. */
if (!strncmp("301 ", ne_get_error(u->sess), sizeof("301 ")-1))
break;
- /*@fallthrough@*/
case NE_CONNECT:
case NE_LOOKUP:
default:
@@ -304,8 +281,6 @@ fprintf(stderr, "*** Connect to %s:%d failed(%d):\n\t%s\n",
}
static int davInit(const char * url, urlinfo * uret)
- /*@globals internalState @*/
- /*@modifies *uret, internalState @*/
{
urlinfo u = NULL;
int rc = 0;
@@ -313,23 +288,20 @@ static int davInit(const char * url, urlinfo * uret)
/*@-globs@*/ /* FIX: h_errno annoyance. */
if (urlSplit(url, &u))
return -1; /* XXX error returns needed. */
-/*@=globs@*/
if (u->url != NULL && u->sess == NULL)
switch (u->urltype) {
default:
assert(u->urltype != u->urltype);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_HKP:
{ ne_server_capabilities * capabilities;
/* HACK: oneshots should be done Somewhere Else Instead. */
-/*@-noeffect@*/
rc = ((_dav_debug < 0) ? NE_DBG_HTTP : 0);
ne_debug_init(stderr, rc); /* XXX oneshot? */
-/*@=noeffect@*/
rc = ne_sock_init(); /* XXX oneshot? */
u->lockstore = ne_lockstore_create(); /* XXX oneshot? */
@@ -377,10 +349,8 @@ static int davInit(const char * url, urlinfo * uret)
}
exit:
-/*@-boundswrite@*/
if (rc == 0 && uret != NULL)
*uret = urlLink(u, __FUNCTION__);
-/*@=boundswrite@*/
u = urlFree(u, "urlSplit (davInit)");
return rc;
@@ -397,7 +367,6 @@ enum fetch_rtype_e {
struct fetch_resource_s {
struct fetch_resource_s *next;
char *uri;
-/*@unused@*/
char *displayname;
enum fetch_rtype_e type;
size_t size;
@@ -408,9 +377,7 @@ struct fetch_resource_s {
int error_status; /* error status returned for this resource */
};
-/*@null@*/
-static void *fetch_destroy_item(/*@only@*/ struct fetch_resource_s *res)
- /*@modifies res @*/
+static void *fetch_destroy_item(struct fetch_resource_s *res)
{
NE_FREE(res->uri);
NE_FREE(res->error_reason);
@@ -419,23 +386,18 @@ static void *fetch_destroy_item(/*@only@*/ struct fetch_resource_s *res)
}
#ifdef UNUSED
-/*@null@*/
-static void *fetch_destroy_list(/*@only@*/ struct fetch_resource_s *res)
- /*@modifies res @*/
+static void *fetch_destroy_list(struct fetch_resource_s *res)
{
struct fetch_resource_s *next;
-/*@-branchstate@*/
for (; res != NULL; res = next) {
next = res->next;
res = fetch_destroy_item(res);
}
-/*@=branchstate@*/
return NULL;
}
#endif
-static void *fetch_create_item(/*@unused@*/ void *userdata, /*@unused@*/ const char *uri)
- /*@*/
+static void *fetch_create_item(void *userdata, const char *uri)
{
struct fetch_resource_s * res = ne_calloc(sizeof(*res));
return res;
@@ -443,11 +405,9 @@ static void *fetch_create_item(/*@unused@*/ void *userdata, /*@unused@*/ const c
/* =============================================================== */
struct fetch_context_s {
-/*@relnull@*/
struct fetch_resource_s **resrock;
const char *uri;
unsigned int include_target; /* Include resource at href */
-/*@refcounted@*/
urlinfo u;
int ac;
int nalloced;
@@ -457,10 +417,7 @@ struct fetch_context_s {
time_t * mtimes;
};
-/*@null@*/
-static void *fetch_destroy_context(/*@only@*/ /*@null@*/ struct fetch_context_s *ctx)
- /*@globals internalState @*/
- /*@modifies ctx, internalState @*/
+static void *fetch_destroy_context(struct fetch_context_s *ctx)
{
if (ctx == NULL)
return NULL;
@@ -471,17 +428,12 @@ static void *fetch_destroy_context(/*@only@*/ /*@null@*/ struct fetch_context_s
ctx->mtimes = _free(ctx->mtimes);
ctx->u = urlFree(ctx->u, __FUNCTION__);
ctx->uri = _free(ctx->uri);
-/*@-boundswrite@*/
memset(ctx, 0, sizeof(*ctx));
-/*@=boundswrite@*/
ctx = _free(ctx);
return NULL;
}
-/*@null@*/
static void *fetch_create_context(const char *uri)
- /*@globals internalState @*/
- /*@modifies internalState @*/
{
struct fetch_context_s * ctx;
urlinfo u;
@@ -489,7 +441,6 @@ static void *fetch_create_context(const char *uri)
/*@-globs@*/ /* FIX: h_errno annoyance. */
if (urlSplit(uri, &u))
return NULL;
-/*@=globs@*/
ctx = ne_calloc(sizeof(*ctx));
ctx->uri = xstrdup(uri);
@@ -497,7 +448,6 @@ static void *fetch_create_context(const char *uri)
return ctx;
}
-/*@unchecked@*/ /*@observer@*/
static const ne_propname fetch_props[] = {
{ "DAV:", "getcontentlength" },
{ "DAV:", "getlastmodified" },
@@ -511,7 +461,6 @@ static const ne_propname fetch_props[] = {
#define ELM_resourcetype (NE_PROPS_STATE_TOP + 1)
#define ELM_collection (NE_PROPS_STATE_TOP + 2)
-/*@unchecked@*/ /*@observer@*/
static const struct ne_xml_idmap fetch_idmap[] = {
{ "DAV:", "resourcetype", ELM_resourcetype },
{ "DAV:", "collection", ELM_collection }
@@ -519,8 +468,7 @@ static const struct ne_xml_idmap fetch_idmap[] = {
static int fetch_startelm(void *userdata, int parent,
const char *nspace, const char *name,
- /*@unused@*/ const char **atts)
- /*@*/
+ const char **atts)
{
ne_propfind_handler *pfh = userdata;
struct fetch_resource_s *r = ne_propfind_current_private(pfh);
@@ -541,7 +489,6 @@ static int fetch_startelm(void *userdata, int parent,
static int fetch_compare(const struct fetch_resource_s *r1,
const struct fetch_resource_s *r2)
- /*@*/
{
/* Sort errors first, then collections, then alphabetically */
if (r1->type == resr_error) {
@@ -565,7 +512,6 @@ static int fetch_compare(const struct fetch_resource_s *r1,
static void fetch_results(void *userdata, const char *uri,
const ne_prop_result_set *set)
- /*@*/
{
struct fetch_context_s *ctx = userdata;
struct fetch_resource_s *current, *previous, *newres;
@@ -594,20 +540,16 @@ fprintf(stderr, "==> %s skipping target resource.\n", path);
newres->uri = ne_strdup(path);
-/*@-boundsread@*/
clength = ne_propset_value(set, &fetch_props[0]);
modtime = ne_propset_value(set, &fetch_props[1]);
isexec = ne_propset_value(set, &fetch_props[2]);
checkin = ne_propset_value(set, &fetch_props[4]);
checkout = ne_propset_value(set, &fetch_props[5]);
-/*@=boundsread@*/
-/*@-branchstate@*/
if (clength == NULL)
status = ne_propset_status(set, &fetch_props[0]);
if (modtime == NULL)
status = ne_propset_status(set, &fetch_props[1]);
-/*@=branchstate@*/
if (newres->type == resr_normal && status != NULL) {
/* It's an error! */
@@ -663,16 +605,12 @@ fprintf(stderr, "==> %s skipping target resource.\n", path);
if (previous) {
previous->next = newres;
} else {
-/*@-boundswrite@*/
*ctx->resrock = newres;
-/*@=boundswrite@*/
}
newres->next = current;
}
static int davFetch(const urlinfo u, struct fetch_context_s * ctx)
- /*@globals internalState @*/
- /*@modifies ctx, internalState @*/
{
const char * path = NULL;
int depth = 1; /* XXX passed arg? */
@@ -724,9 +662,7 @@ static int davFetch(const urlinfo u, struct fetch_context_s * ctx)
val = ne_strndup(s, (se - s));
-/*@-nullpass@*/
val = ne_path_unescape(val);
-/*@=nullpass@*/
xx = argvAdd(&ctx->av, val);
if (_dav_debug < 0)
@@ -748,21 +684,19 @@ fprintf(stderr, "*** argvAdd(%p,\"%s\")\n", &ctx->av, val);
switch (current->type) {
case resr_normal:
st_mode = S_IFREG;
- /*@switchbreak@*/ break;
+ break;
case resr_collection:
st_mode = S_IFDIR;
- /*@switchbreak@*/ break;
+ break;
case resr_reference:
case resr_error:
default:
st_mode = 0;
- /*@switchbreak@*/ break;
+ break;
}
-/*@-boundswrite@*/
ctx->modes[ctx->ac] = st_mode;
ctx->sizes[ctx->ac] = current->size;
ctx->mtimes[ctx->ac] = current->modtime;
-/*@=boundswrite@*/
ctx->ac++;
current = fetch_destroy_item(current);
@@ -773,8 +707,6 @@ fprintf(stderr, "*** argvAdd(%p,\"%s\")\n", &ctx->av, val);
}
static int davNLST(struct fetch_context_s * ctx)
- /*@globals internalState @*/
- /*@modifies ctx, internalState @*/
{
urlinfo u = NULL;
int rc;
@@ -792,7 +724,6 @@ static int davNLST(struct fetch_context_s * ctx)
/* HACK: "301 Moved Permanently" on empty subdir. */
if (!strncmp("301 ", ne_get_error(u->sess), sizeof("301 ")-1))
break;
- /*@fallthrough@*/
default:
if (_dav_debug)
fprintf(stderr, "*** Fetch from %s:%d failed:\n\t%s\n",
@@ -807,8 +738,7 @@ exit:
}
/* =============================================================== */
-static int my_result(const char * msg, int ret, /*@null@*/ FILE * fp)
- /*@modifies *fp @*/
+static int my_result(const char * msg, int ret, FILE * fp)
{
/* HACK: don't print unless debugging. */
if (_dav_debug >= 0)
@@ -829,7 +759,6 @@ static int my_result(const char * msg, int ret, /*@null@*/ FILE * fp)
#ifdef DYING
static void hexdump(const unsigned char * buf, ssize_t len)
- /*@*/
{
int i;
if (len <= 0)
@@ -843,8 +772,7 @@ static void hexdump(const unsigned char * buf, ssize_t len)
}
#endif
-static void davAcceptRanges(void * userdata, /*@null@*/ const char * value)
- /*@modifies userdata @*/
+static void davAcceptRanges(void * userdata, const char * value)
{
urlinfo u = userdata;
@@ -868,21 +796,17 @@ fprintf(stderr, "<- %s\n", value);
}
#endif
-static void davContentLength(void * userdata, /*@null@*/ const char * value)
- /*@modifies userdata @*/
+static void davContentLength(void * userdata, const char * value)
{
FD_t ctrl = userdata;
if (!(ctrl && value)) return;
if (_dav_debug < 0)
fprintf(stderr, "*** fd %p Content-Length: %s\n", ctrl, value);
-/*@-unrecog@*/
ctrl->contentLength = strtoll(value, NULL, 10);
-/*@=unrecog@*/
}
-static void davConnection(void * userdata, /*@null@*/ const char * value)
- /*@modifies userdata @*/
+static void davConnection(void * userdata, const char * value)
{
FD_t ctrl = userdata;
@@ -895,8 +819,8 @@ fprintf(stderr, "*** fd %p Connection: %s\n", ctrl, value);
ctrl->persist = 1;
}
-/*@-mustmod@*/ /* HACK: stash error in *str. */
-int davResp(urlinfo u, FD_t ctrl, /*@unused@*/ char *const * str)
+/* HACK: stash error in *str. */
+int davResp(urlinfo u, FD_t ctrl, char *const * str)
{
int rc = 0;
@@ -907,14 +831,11 @@ if (_dav_debug < 0)
fprintf(stderr, "*** davResp(%p,%p,%p) sess %p req %p rc %d\n", u, ctrl, str, u->sess, ctrl->req, rc);
/* HACK FTPERR_NE_FOO == -NE_FOO error impedance match */
-/*@-observertrans@*/
if (rc)
fdSetSyserrno(ctrl, errno, ftpStrerror(-rc));
-/*@=observertrans@*/
return rc;
}
-/*@=mustmod@*/
int davReq(FD_t ctrl, const char * httpCmd, const char * httpArg)
{
@@ -933,9 +854,7 @@ fprintf(stderr, "*** davReq(%p,%s,\"%s\") entry sess %p req %p\n", ctrl, httpCmd
assert(u->sess != NULL);
assert(ctrl->req == NULL);
-/*@-nullpass@*/
ctrl->req = ne_request_create(u->sess, httpCmd, httpArg);
-/*@=nullpass@*/
assert(ctrl->req != NULL);
ne_set_request_private(ctrl->req, "fd", ctrl);
@@ -995,9 +914,7 @@ fprintf(stderr, "*** davReq(%p,%s,\"%s\") exit sess %p req %p rc %d\n", ctrl, ht
return 0;
errxit:
-/*@-observertrans@*/
fdSetSyserrno(ctrl, errno, ftpStrerror(rc));
-/*@=observertrans@*/
/* HACK balance fd refs. ne_session_destroy to tear down non-keepalive? */
ctrl = fdLink(ctrl, "error data (davReq)");
@@ -1005,8 +922,8 @@ errxit:
return rc;
}
-FD_t davOpen(const char * url, /*@unused@*/ int flags,
- /*@unused@*/ mode_t mode, /*@out@*/ urlinfo * uret)
+FD_t davOpen(const char * url, int flags,
+ mode_t mode, urlinfo * uret)
{
const char * path = NULL;
urltype urlType = urlPath(url, &path);
@@ -1048,16 +965,12 @@ assert(urlType == URL_IS_HTTPS || urlType == URL_IS_HTTP || urlType == URL_IS_HK
}
exit:
-/*@-boundswrite@*/
if (uret)
*uret = u;
-/*@=boundswrite@*/
- /*@-refcounttrans@*/
return fd;
- /*@=refcounttrans@*/
}
-ssize_t davRead(void * cookie, /*@out@*/ char * buf, size_t count)
+ssize_t davRead(void * cookie, char * buf, size_t count)
{
FD_t fd = cookie;
ssize_t rc;
@@ -1114,7 +1027,7 @@ hexdump(buf, count);
return rc;
}
-int davSeek(void * cookie, /*@unused@*/ _libio_pos_t pos, int whence)
+int davSeek(void * cookie, _libio_pos_t pos, int whence)
{
if (_dav_debug < 0)
fprintf(stderr, "*** davSeek(%p,pos,%d)\n", cookie, whence);
@@ -1124,9 +1037,7 @@ fprintf(stderr, "*** davSeek(%p,pos,%d)\n", cookie, whence);
/*@-mustmod@*/ /* HACK: fd->req is modified. */
int davClose(void * cookie)
{
-/*@-onlytrans@*/
FD_t fd = cookie;
-/*@=onlytrans@*/
int rc;
assert(fd->req != NULL);
@@ -1140,7 +1051,6 @@ if (_dav_debug < 0)
fprintf(stderr, "*** davClose(%p) rc %d\n", fd, rc);
return rc;
}
-/*@=mustmod@*/
/* =============================================================== */
int davMkdir(const char * path, mode_t mode)
@@ -1244,8 +1154,6 @@ fprintf(stderr, "*** davUnlink(%s) rc %d\n", path, rc);
#ifdef NOTYET
static int davChdir(const char * path)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
return davCommand("CWD", path, NULL);
}
@@ -1254,8 +1162,7 @@ static int davChdir(const char * path)
/* =============================================================== */
static const char * statstr(const struct stat * st,
- /*@returned@*/ /*@out@*/ char * buf)
- /*@modifies *buf @*/
+ char * buf)
{
sprintf(buf,
"*** dev %x ino %x mode %0o nlink %d uid %d gid %d rdev %x size %x\n",
@@ -1270,13 +1177,9 @@ static const char * statstr(const struct stat * st,
return buf;
}
-/*@unchecked@*/
static int dav_st_ino = 0xdead0000;
-/*@-boundswrite@*/
-int davStat(const char * path, /*@out@*/ struct stat *st)
- /*@globals dav_st_ino, fileSystem, internalState @*/
- /*@modifies *st, dav_st_ino, fileSystem, internalState @*/
+int davStat(const char * path, struct stat *st)
{
struct fetch_context_s * ctx = NULL;
char buf[1024];
@@ -1316,12 +1219,8 @@ exit:
ctx = fetch_destroy_context(ctx);
return rc;
}
-/*@=boundswrite@*/
-/*@-boundswrite@*/
-int davLstat(const char * path, /*@out@*/ struct stat *st)
- /*@globals dav_st_ino, fileSystem, internalState @*/
- /*@modifies *st, dav_st_ino, fileSystem, internalState @*/
+int davLstat(const char * path, struct stat *st)
{
struct fetch_context_s * ctx = NULL;
char buf[1024];
@@ -1361,12 +1260,9 @@ exit:
ctx = fetch_destroy_context(ctx);
return rc;
}
-/*@=boundswrite@*/
#ifdef NOTYET
-static int davReadlink(const char * path, /*@out@*/ char * buf, size_t bufsiz)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *buf, fileSystem, internalState @*/
+static int davReadlink(const char * path, char * buf, size_t bufsiz)
{
int rc;
rc = davNLST(path, DO_FTP_READLINK, NULL, buf, bufsiz);
@@ -1379,10 +1275,9 @@ fprintf(stderr, "*** davReadlink(%s) rc %d\n", path, rc);
#endif /* WITH_NEON */
/* =============================================================== */
-/*@unchecked@*/
int avmagicdir = 0x3607113;
-int avClosedir(/*@only@*/ DIR * dir)
+int avClosedir(DIR * dir)
{
AVDIR avdir = (AVDIR)dir;
@@ -1390,9 +1285,7 @@ if (_av_debug)
fprintf(stderr, "*** avClosedir(%p)\n", avdir);
#if defined(HAVE_PTHREAD_H)
-/*@-moduncon -noeffectuncon @*/
(void) pthread_mutex_destroy(&avdir->lock);
-/*@=moduncon =noeffectuncon @*/
#endif
avdir = _free(avdir);
@@ -1419,15 +1312,12 @@ struct dirent * avReaddir(DIR * dir)
dt = (unsigned char *) (av + (ac + 1));
i = avdir->offset + 1;
-/*@-boundsread@*/
if (i < 0 || i >= ac || av[i] == NULL)
return NULL;
-/*@=boundsread@*/
avdir->offset = i;
/* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
-/*@-type@*/
dp->d_ino = i + 1; /* W2DO? */
dp->d_reclen = 0; /* W2DO? */
@@ -1435,11 +1325,8 @@ struct dirent * avReaddir(DIR * dir)
#if !defined(__APPLE__)
dp->d_off = 0; /* W2DO? */
#endif
-/*@-boundsread@*/
dp->d_type = dt[i];
-/*@=boundsread@*/
#endif
-/*@=type@*/
strncpy(dp->d_name, av[i], sizeof(dp->d_name));
if (_av_debug)
@@ -1448,7 +1335,6 @@ fprintf(stderr, "*** avReaddir(%p) %p \"%s\"\n", (void *)avdir, dp, dp->d_name);
return dp;
}
-/*@-boundswrite@*/
DIR * avOpendir(const char * path)
{
AVDIR avdir;
@@ -1466,49 +1352,37 @@ fprintf(stderr, "*** avOpendir(%s)\n", path);
nb += sizeof(*avdir) + sizeof(*dp) + ((ac + 1) * sizeof(*av)) + (ac + 1);
avdir = xcalloc(1, nb);
-/*@-abstract@*/
dp = (struct dirent *) (avdir + 1);
av = (const char **) (dp + 1);
dt = (unsigned char *) (av + (ac + 1));
t = (char *) (dt + ac + 1);
-/*@=abstract@*/
avdir->fd = avmagicdir;
-/*@-usereleased@*/
avdir->data = (char *) dp;
-/*@=usereleased@*/
avdir->allocation = nb;
avdir->size = ac;
avdir->offset = -1;
avdir->filepos = 0;
#if defined(HAVE_PTHREAD_H)
-/*@-moduncon -noeffectuncon -nullpass @*/
(void) pthread_mutex_init(&avdir->lock, NULL);
-/*@=moduncon =noeffectuncon =nullpass @*/
#endif
ac = 0;
- /*@-dependenttrans -unrecog@*/
dt[ac] = DT_DIR; av[ac++] = t; t = stpcpy(t, "."); t++;
dt[ac] = DT_DIR; av[ac++] = t; t = stpcpy(t, ".."); t++;
- /*@=dependenttrans =unrecog@*/
av[ac] = NULL;
-/*@-kepttrans@*/
return (DIR *) avdir;
-/*@=kepttrans@*/
}
-/*@=boundswrite@*/
#ifdef WITH_NEON
/* =============================================================== */
-/*@unchecked@*/
int davmagicdir = 0x8440291;
-int davClosedir(/*@only@*/ DIR * dir)
+int davClosedir(DIR * dir)
{
DAVDIR avdir = (DAVDIR)dir;
@@ -1516,9 +1390,7 @@ if (_dav_debug < 0)
fprintf(stderr, "*** davClosedir(%p)\n", avdir);
#if defined(HAVE_PTHREAD_H)
-/*@-moduncon -noeffectuncon @*/
(void) pthread_mutex_destroy(&avdir->lock);
-/*@=moduncon =noeffectuncon @*/
#endif
avdir = _free(avdir);
@@ -1545,15 +1417,12 @@ struct dirent * davReaddir(DIR * dir)
dt = (unsigned char *) (av + (ac + 1));
i = avdir->offset + 1;
-/*@-boundsread@*/
if (i < 0 || i >= ac || av[i] == NULL)
return NULL;
-/*@=boundsread@*/
avdir->offset = i;
/* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
-/*@-type@*/
dp->d_ino = i + 1; /* W2DO? */
dp->d_reclen = 0; /* W2DO? */
@@ -1561,11 +1430,8 @@ struct dirent * davReaddir(DIR * dir)
#if !defined(__APPLE__)
dp->d_off = 0; /* W2DO? */
#endif
-/*@-boundsread@*/
dp->d_type = dt[i];
-/*@=boundsread@*/
#endif
-/*@=type@*/
strncpy(dp->d_name, av[i], sizeof(dp->d_name));
if (_dav_debug < 0)
@@ -1574,7 +1440,6 @@ fprintf(stderr, "*** davReaddir(%p) %p \"%s\"\n", (void *)avdir, dp, dp->d_name)
return dp;
}
-/*@-boundswrite@*/
DIR * davOpendir(const char * path)
{
struct fetch_context_s * ctx;
@@ -1589,14 +1454,12 @@ DIR * davOpendir(const char * path)
/* HACK: glob does not pass dirs with trailing '/' */
nb = strlen(path)+1;
-/*@-branchstate@*/
if (path[nb-1] != '/') {
char * npath = alloca(nb+1);
*npath = '\0';
(void) stpcpy( stpcpy(npath, path), "/");
path = npath;
}
-/*@=branchstate@*/
if (_dav_debug < 0)
fprintf(stderr, "*** davOpendir(%s)\n", path);
@@ -1624,33 +1487,25 @@ fprintf(stderr, "*** davOpendir(%s)\n", path);
nb += sizeof(*avdir) + sizeof(*dp) + ((ac + 1) * sizeof(*av)) + (ac + 1);
avdir = xcalloc(1, nb);
- /*@-abstract@*/
dp = (struct dirent *) (avdir + 1);
nav = (const char **) (dp + 1);
dt = (unsigned char *) (nav + (ac + 1));
t = (char *) (dt + ac + 1);
- /*@=abstract@*/
avdir->fd = davmagicdir;
-/*@-usereleased@*/
avdir->data = (char *) dp;
-/*@=usereleased@*/
avdir->allocation = nb;
avdir->size = ac;
avdir->offset = -1;
avdir->filepos = 0;
#if defined(HAVE_PTHREAD_H)
-/*@-moduncon -noeffectuncon -nullpass @*/
(void) pthread_mutex_init(&avdir->lock, NULL);
-/*@=moduncon =noeffectuncon =nullpass @*/
#endif
nac = 0;
-/*@-dependenttrans -unrecog@*/
dt[nac] = DT_DIR; nav[nac++] = t; t = stpcpy(t, "."); t++;
dt[nac] = DT_DIR; nav[nac++] = t; t = stpcpy(t, ".."); t++;
-/*@=dependenttrans =unrecog@*/
/* Copy DAV items into DIR elments. */
ac = 0;
@@ -1667,10 +1522,7 @@ fprintf(stderr, "*** davOpendir(%s)\n", path);
ctx = fetch_destroy_context(ctx);
-/*@-kepttrans@*/
return (DIR *) avdir;
-/*@=kepttrans@*/
}
#endif /* WITH_NEON */
-/*@=modfilesys@*/
diff --git a/rpmio/rpmdav.h b/rpmio/rpmdav.h
index 8a0722456..2db424820 100644
--- a/rpmio/rpmdav.h
+++ b/rpmio/rpmdav.h
@@ -37,13 +37,11 @@ typedef DIR * DAVDIR;
/**
*/
-/*@unchecked@*/
extern int avmagicdir;
#define ISAVMAGIC(_dir) (!memcmp((_dir), &avmagicdir, sizeof(avmagicdir)))
/**
*/
-/*@unchecked@*/
extern int davmagicdir;
#define ISDAVMAGIC(_dir) (!memcmp((_dir), &davmagicdir, sizeof(davmagicdir)))
@@ -56,29 +54,21 @@ extern "C" {
* @param dir argv DIR
* @return 0 always
*/
-int avClosedir(/*@only@*/ DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies dir, fileSystem @*/;
+int avClosedir(DIR * dir);
/**
* Return next entry from an argv directory.
* @param dir argv DIR
* @return next entry
*/
-/*@dependent@*/ /*@null@*/
-struct dirent * avReaddir(DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+struct dirent * avReaddir(DIR * dir);
/**
* Create an argv directory from URL collection.
* @param path URL for collection path
* @return argv DIR
*/
-/*@null@*/
-DIR * avOpendir(const char * path)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+DIR * avOpendir(const char * path);
/**
* Send a http request.
@@ -87,9 +77,7 @@ DIR * avOpendir(const char * path)
* @param httpArg http command argument (NULL if none)
* @returns 0 on success
*/
-int davReq(FD_t ctrl, const char * httpCmd, /*@null@*/ const char * httpArg)
- /*@globals fileSystem, internalState @*/
- /*@modifies ctrl, fileSystem, internalState @*/;
+int davReq(FD_t ctrl, const char * httpCmd, const char * httpArg);
/**
* Read a http response.
@@ -98,112 +86,75 @@ int davReq(FD_t ctrl, const char * httpCmd, /*@null@*/ const char * httpArg)
* @retval *str error msg
* @returns 0 on success
*/
-int davResp(urlinfo u, FD_t ctrl, /*@out@*/ /*@null@*/ char *const * str)
- /*@globals fileSystem, internalState @*/
- /*@modifies ctrl, *str, fileSystem, internalState @*/;
+int davResp(urlinfo u, FD_t ctrl, char *const * str);
/**
*/
-/*@null@*/
-FD_t davOpen(const char * url, /*@unused@*/ int flags,
- /*@unused@*/ mode_t mode, /*@out@*/ urlinfo * uret)
- /*@globals internalState @*/
- /*@modifies *uret, internalState @*/;
+FD_t davOpen(const char * url, int flags,
+ mode_t mode, urlinfo * uret);
/**
*/
-/*@-incondefs@*/
-ssize_t davRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies buf, fileSystem, internalState @*/
- /*@requires maxSet(buf) >= (count - 1) @*/
- /*@ensures maxRead(buf) == result @*/;
-/*@=incondefs@*/
+ssize_t davRead(void * cookie, char * buf, size_t count);
/**
*/
-ssize_t davWrite(void * cookie, const char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+ssize_t davWrite(void * cookie, const char * buf, size_t count);
/**
*/
-int davSeek(void * cookie, _libio_pos_t pos, int whence)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int davSeek(void * cookie, _libio_pos_t pos, int whence);
/**
*/
-int davClose(void * cookie)
- /*@globals fileSystem, internalState @*/
- /*@modifies cookie, fileSystem, internalState @*/;
+int davClose(void * cookie);
/**
*/
-int davMkdir(const char * path, mode_t mode)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int davMkdir(const char * path, mode_t mode);
/**
*/
-int davRmdir(const char * path)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int davRmdir(const char * path);
/**
*/
-int davRename(const char * oldpath, const char * newpath)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int davRename(const char * oldpath, const char * newpath);
/**
*/
-int davUnlink(const char * path)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int davUnlink(const char * path);
/**
* Close a DAV collection.
* @param dir argv DIR
* @return 0 always
*/
-int davClosedir(/*@only@*/ DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies dir, fileSystem @*/;
+int davClosedir(DIR * dir);
/**
* Return next entry from a DAV collection.
* @param dir argv DIR
* @return next entry
*/
-/*@dependent@*/ /*@null@*/
-struct dirent * davReaddir(DIR * dir)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+struct dirent * davReaddir(DIR * dir);
/**
* Create an argv directory from DAV collection.
* @param path URL for DAV collection path
* @return argv DIR
*/
-/*@null@*/
-DIR * davOpendir(const char * path)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+DIR * davOpendir(const char * path);
/**
* stat(2) clone.
*/
-int davStat(const char * path, /*@out@*/ struct stat * st)
- /*@globals fileSystem, internalState @*/
- /*@modifies *st, fileSystem, internalState @*/;
+int davStat(const char * path, struct stat * st);
/**
* lstat(2) clone.
*/
-int davLstat(const char * path, /*@out@*/ struct stat * st)
- /*@globals fileSystem, internalState @*/
- /*@modifies *st, fileSystem, internalState @*/;
+int davLstat(const char * path, struct stat * st);
#ifdef __cplusplus
}
diff --git a/rpmio/rpmerr.h b/rpmio/rpmerr.h
index 9f99fa305..211f1ad0d 100644
--- a/rpmio/rpmerr.h
+++ b/rpmio/rpmerr.h
@@ -22,20 +22,15 @@
/**
* Tokens used by rpmError().
*/
-/*@-typeuse @*/
typedef enum rpmerrCode_e {
-/*@-enummemuse@*/
RPMERR_GDBMOPEN = _em(2), /*!< gdbm open failed */
RPMERR_GDBMREAD = _em(3), /*!< gdbm read failed */
RPMERR_GDBMWRITE = _em(4), /*!< gdbm write failed */
-/*@=enummemuse@*/
RPMERR_INTERNAL = _em(5), /*!< internal RPM error */
RPMERR_DBCORRUPT = _em(6), /*!< rpm database is corrupt */
-/*@-enummemuse@*/
RPMERR_OLDDBCORRUPT = _em(7), /*!< old style rpm database is corrupt */
RPMERR_OLDDBMISSING = _em(8), /*!< old style rpm database is missing */
RPMERR_NOCREATEDB = _em(9), /*!< cannot create new database */
-/*@=enummemuse@*/
RPMERR_DBOPEN = _em(10), /*!< database open failed */
RPMERR_DBGETINDEX = _em(11), /*!< database get from index failed */
RPMERR_DBPUTINDEX = _em(12), /*!< database get from index failed */
@@ -44,60 +39,44 @@ typedef enum rpmerrCode_e {
RPMERR_RENAME = _em(15), /*!< rename(2) failed */
RPMERR_UNLINK = _em(16), /*!< unlink(2) failed */
RPMERR_RMDIR = _em(17), /*!< rmdir(2) failed */
-/*@-enummemuse@*/
RPMERR_PKGINSTALLED = _em(18), /*!< package already installed */
RPMERR_CHOWN = _em(19), /*!< chown() call failed */
RPMERR_NOUSER = _em(20), /*!< user does not exist */
RPMERR_NOGROUP = _em(21), /*!< group does not exist */
-/*@=enummemuse@*/
RPMERR_MKDIR = _em(22), /*!< mkdir() call failed */
-/*@-enummemuse@*/
RPMERR_FILECONFLICT = _em(23), /*!< file being installed exists */
-/*@=enummemuse@*/
RPMERR_RPMRC = _em(24), /*!< bad line in rpmrc */
RPMERR_NOSPEC = _em(25), /*!< .spec file is missing */
RPMERR_NOTSRPM = _em(26), /*!< a source rpm was expected */
-/*@-enummemuse@*/
RPMERR_FLOCK = _em(27), /*!< locking the database failed */
RPMERR_OLDPACKAGE = _em(28), /*!< trying upgrading to old version */
/* RPMERR_BADARCH = _em(29), bad architecture or arch mismatch */
-/*@=enummemuse@*/
RPMERR_CREATE = _em(30), /*!< failed to create a file */
RPMERR_NOSPACE = _em(31), /*!< out of disk space */
-/*@-enummemuse@*/
RPMERR_NORELOCATE = _em(32), /*!< tried to do improper relocatation */
/* RPMERR_BADOS = _em(33), bad architecture or arch mismatch */
RPMMESS_BACKUP = _em(34), /*!< backup made during [un]install */
-/*@=enummemuse@*/
RPMERR_MTAB = _em(35), /*!< failed to read mount table */
RPMERR_STAT = _em(36), /*!< failed to stat something */
RPMERR_BADDEV = _em(37), /*!< file on device not listed in mtab */
-/*@-enummemuse@*/
RPMMESS_ALTNAME = _em(38), /*!< file written as .rpmnew */
RPMMESS_PREREQLOOP = _em(39), /*!< loop in prerequisites */
RPMERR_BADRELOCATE = _em(40), /*!< bad relocation was specified */
RPMERR_OLDDB = _em(41), /*!< old format database */
-/*@=enummemuse@*/
RPMERR_UNMATCHEDIF = _em(107), /*!< unclosed %ifarch or %ifos */
RPMERR_RELOAD = _em(108), /*!< */
RPMERR_BADARG = _em(109), /*!< */
RPMERR_SCRIPT = _em(110), /*!< errors related to script exec */
RPMERR_READ = _em(111), /*!< */
-/*@-enummemuse@*/
RPMERR_UNKNOWNOS = _em(112), /*!< */
RPMERR_UNKNOWNARCH = _em(113), /*!< */
-/*@=enummemuse@*/
RPMERR_EXEC = _em(114), /*!< */
RPMERR_FORK = _em(115), /*!< */
RPMERR_CPIO = _em(116), /*!< */
-/*@-enummemuse@*/
RPMERR_GZIP = _em(117), /*!< */
-/*@=enummemuse@*/
RPMERR_BADSPEC = _em(118), /*!< */
-/*@-enummemuse@*/
RPMERR_LDD = _em(119), /*!< couldn't understand ldd output */
-/*@=enummemuse@*/
RPMERR_BADFILENAME = _em(120), /*!< */
RPMERR_OPEN = _em(121), /*!< */
RPMERR_POPEN = _em(122), /*!< */
@@ -105,11 +84,9 @@ typedef enum rpmerrCode_e {
RPMERR_QUERY = _em(124), /*!< */
RPMERR_QFMT = _em(125), /*!< */
RPMERR_DBCONFIG = _em(126), /*!< */
-/*@-enummemuse@*/
RPMERR_DBERR = _em(127), /*!< */
RPMERR_BADPACKAGE = _em(128), /*!< getNextHeader: %s */
RPMERR_FREELIST = _em(129), /*!< free list corrupt (%u)- please ... */
-/*@=enummemuse@*/
RPMERR_DATATYPE = _em(130), /*!< Data type %d not supported */
RPMERR_BUILDROOT = _em(131), /*!< */
RPMERR_MAKETEMP = _em(132), /*!< makeTempFile failed */
@@ -131,11 +108,8 @@ typedef enum rpmerrCode_e {
RPMDEBUG_UNLINK = _dm(512u+16), /*!< unlink(2) failed */
RPMDEBUG_RMDIR = _dm(512u+17), /*!< rmdir(2) failed */
-/*@-enummemuse@*/
RPMWARN_FLOCK = _wm(512u+27) /*!< locking the database failed */
-/*@=enummemuse@*/
} rpmerrCode;
-/*@=typeuse @*/
/**
* Retrofit rpmError() onto rpmlog sub-system.
@@ -144,9 +118,7 @@ typedef enum rpmerrCode_e {
#define rpmErrorCode() rpmlogCode()
#define rpmErrorString() rpmlogMessage()
#define rpmErrorSetCallback(_cb) rpmlogSetCallback(_cb)
-/*@-typeuse@*/
typedef rpmlogCallback rpmErrorCallBackType;
-/*@=typeuse@*/
#endif /* H_RPMERR */
diff --git a/rpmio/rpmhook.c b/rpmio/rpmhook.c
index 87e251e31..a59794407 100644
--- a/rpmio/rpmhook.c
+++ b/rpmio/rpmhook.c
@@ -1,4 +1,3 @@
-/*@-bounds@*/
#include "system.h"
#include <stdlib.h>
@@ -19,7 +18,6 @@ typedef struct rpmhookItem_s {
typedef struct rpmhookBucket_s {
unsigned long hash;
-/*@relnull@*/
char *name;
rpmhookItem item;
} * rpmhookBucket;
@@ -46,9 +44,7 @@ rpmhookArgs rpmhookArgsFree(rpmhookArgs args)
return NULL;
}
-/*@only@*/
static rpmhookTable rpmhookTableNew(int size)
- /*@*/
{
rpmhookTable table = (rpmhookTable) xcalloc(1,
sizeof(*table) + sizeof(table->bucket) * (size-1));
@@ -58,7 +54,6 @@ static rpmhookTable rpmhookTableNew(int size)
#if 0
static rpmhookTable rpmhookTableFree(rpmhookTable table)
- /*@*/
{
rpmhookItem item, nextItem;
int i;
@@ -78,11 +73,9 @@ static rpmhookTable rpmhookTableFree(rpmhookTable table)
}
#endif
-static void rpmhookTableRehash(rpmhookTable *table)
- /*@modifies *table @*/;
+static void rpmhookTableRehash(rpmhookTable *table);
static int rpmhookTableFindBucket(rpmhookTable *table, const char *name)
- /*@modifies *table @*/
{
/* Hash based on http://www.isthe.com/chongo/tech/comp/fnv/ */
unsigned long perturb;
@@ -104,9 +97,7 @@ static int rpmhookTableFindBucket(rpmhookTable *table, const char *name)
while (bucket->name &&
(bucket->hash != hash || strcmp(bucket->name, name) != 0)) {
/* Collision resolution based on Python's perturb scheme. */
-/*@-shiftimplementation@*/
ret = ((ret << 2) + ret + perturb + 1) % (*table)->size;
-/*@=shiftimplementation@*/
perturb >>= 5;
bucket = &(*table)->bucket[ret];
}
@@ -116,12 +107,10 @@ static int rpmhookTableFindBucket(rpmhookTable *table, const char *name)
}
static void rpmhookTableRehash(rpmhookTable *table)
- /*@modifies *table @*/
{
rpmhookTable newtable = rpmhookTableNew((*table)->size*2);
int n, i = 0;
-/*@-branchstate@*/
for (; i != (*table)->size; i++) {
if ((*table)->bucket[i].name == NULL)
continue;
@@ -129,17 +118,13 @@ static void rpmhookTableRehash(rpmhookTable *table)
newtable->bucket[n].name = (*table)->bucket[i].name;
newtable->bucket[n].item = (*table)->bucket[i].item;
}
-/*@=branchstate@*/
newtable->used = (*table)->used;
-/*@-unqualifiedtrans@*/
free(*table);
-/*@=unqualifiedtrans@*/
*table = newtable;
}
static void rpmhookTableAddItem(rpmhookTable *table, const char *name,
rpmhookFunc func, void *data)
- /*@modifies *table @*/
{
int n = rpmhookTableFindBucket(table, name);
rpmhookBucket bucket = &(*table)->bucket[n];
@@ -151,15 +136,12 @@ static void rpmhookTableAddItem(rpmhookTable *table, const char *name,
while (*item) item = &(*item)->next;
*item = xcalloc(1, sizeof(**item));
(*item)->func = func;
-/*@-temptrans@*/
(*item)->data = data;
-/*@=temptrans@*/
}
static void rpmhookTableDelItem(rpmhookTable *table, const char *name,
- /*@null@*/ rpmhookFunc func, /*@null@*/ void *data,
+ rpmhookFunc func, void *data,
int matchfunc, int matchdata)
- /*@modifies *table @*/
{
int n = rpmhookTableFindBucket(table, name);
rpmhookBucket bucket = &(*table)->bucket[n];
@@ -168,7 +150,6 @@ static void rpmhookTableDelItem(rpmhookTable *table, const char *name,
rpmhookItem nextItem;
while (item) {
nextItem = item->next;
-/*@-branchstate@*/
if ((!matchfunc || item->func == func) &&
(!matchdata || item->data == data)) {
free(item);
@@ -179,8 +160,6 @@ static void rpmhookTableDelItem(rpmhookTable *table, const char *name,
} else {
lastItem = item;
}
-/*@=branchstate@*/
-/*@-usereleased@*/
item = nextItem;
}
if (!bucket->item) {
@@ -188,38 +167,32 @@ static void rpmhookTableDelItem(rpmhookTable *table, const char *name,
bucket->name = NULL;
(*table)->used--;
}
-/*@=usereleased@*/
}
static rpmhookArgs rpmhookArgsParse(const char *argt, va_list ap)
- /*@*/
{
rpmhookArgs args = rpmhookArgsNew(strlen(argt));
int i;
-/*@-temptrans@*/
args->argt = argt;
-/*@=temptrans@*/
for (i = 0; i != args->argc; i++) {
switch (argt[i]) {
case 's':
args->argv[i].s = va_arg(ap, char *);
- /*@switchbreak@*/ break;
+ break;
case 'i':
args->argv[i].i = va_arg(ap, int);
- /*@switchbreak@*/ break;
+ break;
case 'f':
args->argv[i].f = (float)va_arg(ap, double);
- /*@switchbreak@*/ break;
+ break;
case 'p':
args->argv[i].p = va_arg(ap, void *);
- /*@switchbreak@*/ break;
+ break;
default:
-/*@-modfilesys @*/
fprintf(stderr, "error: unsupported type '%c' as "
"a hook argument\n", argt[i]);
-/*@=modfilesys @*/
- /*@switchbreak@*/ break;
+ break;
}
}
return args;
@@ -227,7 +200,6 @@ static rpmhookArgs rpmhookArgsParse(const char *argt, va_list ap)
static void rpmhookTableCallArgs(rpmhookTable *table, const char *name,
rpmhookArgs args)
- /*@modifies *table @*/
{
int n = rpmhookTableFindBucket(table, name);
rpmhookItem item = (*table)->bucket[n].item;
@@ -238,12 +210,9 @@ static void rpmhookTableCallArgs(rpmhookTable *table, const char *name,
}
}
-/*@unchecked@*/ /*@only@*/ /*@null@*/
static rpmhookTable globalTable = NULL;
void rpmhookRegister(const char *name, rpmhookFunc func, void *data)
- /*@globals globalTable @*/
- /*@modifies globalTable @*/
{
if (globalTable == NULL)
globalTable = rpmhookTableNew(RPMHOOK_TABLE_INITSIZE);
@@ -275,9 +244,7 @@ void rpmhookCall(const char *name, const char *argt, ...)
va_list ap;
va_start(ap, argt);
args = rpmhookArgsParse(argt, ap);
-/*@-noeffect@*/
rpmhookTableCallArgs(&globalTable, name, args);
-/*@=noeffect@*/
(void) rpmhookArgsFree(args);
va_end(ap);
}
@@ -285,9 +252,6 @@ void rpmhookCall(const char *name, const char *argt, ...)
void rpmhookCallArgs(const char *name, rpmhookArgs args)
{
-/*@-noeffect@*/
if (globalTable != NULL)
rpmhookTableCallArgs(&globalTable, name, args);
-/*@=noeffect@*/
}
-/*@=bounds@*/
diff --git a/rpmio/rpmhook.h b/rpmio/rpmhook.h
index 925067603..c049c484f 100644
--- a/rpmio/rpmhook.h
+++ b/rpmio/rpmhook.h
@@ -2,11 +2,9 @@
#define RPMHOOK_H
typedef union {
-/*@observer@*/
const char * s;
int i;
float f;
-/*@observer@*/
void * p;
} rpmhookArgv;
@@ -18,26 +16,14 @@ typedef struct rpmhookArgs_s {
typedef int (*rpmhookFunc) (rpmhookArgs args, void *data);
-/*@only@*/
-rpmhookArgs rpmhookArgsNew(int argc)
- /*@*/;
-/*@null@*/
-rpmhookArgs rpmhookArgsFree(/*@only@*/ /*@null@*/ rpmhookArgs args)
- /*@modifies args @*/;
+rpmhookArgs rpmhookArgsNew(int argc);
+rpmhookArgs rpmhookArgsFree(rpmhookArgs args);
-void rpmhookRegister(const char *name, rpmhookFunc func, void *data)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
-void rpmhookUnregister(const char *name, rpmhookFunc func, void *data)
- /*@*/;
-void rpmhookUnregisterAny(const char *name, rpmhookFunc func)
- /*@*/;
-void rpmhookUnregisterAll(const char *name)
- /*@*/;
-void rpmhookCall(const char *name, const char *argt, ...)
- /*@*/;
-void rpmhookCallArgs(const char *name, rpmhookArgs args)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
+void rpmhookRegister(const char *name, rpmhookFunc func, void *data);
+void rpmhookUnregister(const char *name, rpmhookFunc func, void *data);
+void rpmhookUnregisterAny(const char *name, rpmhookFunc func);
+void rpmhookUnregisterAll(const char *name);
+void rpmhookCall(const char *name, const char *argt, ...);
+void rpmhookCallArgs(const char *name, rpmhookArgs args);
#endif
diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
index 92306b915..7e57487c3 100644
--- a/rpmio/rpmio.c
+++ b/rpmio/rpmio.c
@@ -27,7 +27,6 @@
/* XXX HP-UX w/o -D_XOPEN_SOURCE needs */
#if !defined(HAVE_HERRNO) && (defined(__hpux))
-/*@unchecked@*/
extern int h_errno;
#endif
@@ -40,7 +39,6 @@ extern int h_errno;
#if !defined(HAVE_INET_ATON)
static int inet_aton(const char *cp, struct in_addr *inp)
- /*@modifies *inp @*/
{
long addr;
@@ -74,8 +72,6 @@ static int inet_aton(const char *cp, struct in_addr *inp)
#include "debug.h"
/*@access FILE @*/ /* XXX to permit comparison/conversion with void *. */
-/*@access urlinfo @*/
-/*@access FDSTAT_t @*/
#define FDNREFS(fd) (fd ? ((FD_t)fd)->nrefs : -9)
#define FDTO(fd) (fd ? ((FD_t)fd)->rd_timeoutsecs : -99)
@@ -91,7 +87,6 @@ static int inet_aton(const char *cp, struct in_addr *inp)
/**
*/
-/*@unchecked@*/
#if _USE_LIBIO
int noLibio = 0;
#else
@@ -102,32 +97,26 @@ int noLibio = 1;
/**
*/
-/*@unchecked@*/
static int ftpTimeoutSecs = TIMEOUT_SECS;
/**
*/
-/*@unchecked@*/
static int httpTimeoutSecs = TIMEOUT_SECS;
/**
*/
-/*@unchecked@*/
int _rpmio_debug = 0;
/**
*/
-/*@unchecked@*/
int _av_debug = 0;
/**
*/
-/*@unchecked@*/
int _ftp_debug = 0;
/**
*/
-/*@unchecked@*/
int _dav_debug = 0;
/**
@@ -135,9 +124,8 @@ int _dav_debug = 0;
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
- /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -145,9 +133,7 @@ _free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
/* =============================================================== */
-/*@-boundswrite@*/
-static /*@observer@*/ const char * fdbg(/*@null@*/ FD_t fd)
- /*@*/
+static const char * fdbg(FD_t fd)
{
static char buf[BUFSIZ];
char *be = buf;
@@ -190,11 +176,9 @@ static /*@observer@*/ const char * fdbg(/*@null@*/ FD_t fd)
sprintf(be, "BZD %p fdno %d", fps->fp, fps->fdno);
#endif
} else if (fps->io == fpio) {
- /*@+voidabstract@*/
sprintf(be, "%s %p(%d) fdno %d",
(fps->fdno < 0 ? "LIBIO" : "FP"),
fps->fp, fileno(((FILE *)fps->fp)), fps->fdno);
- /*@=voidabstract@*/
} else {
sprintf(be, "??? io %p fp %p fdno %d ???",
fps->io, fps->fp, fps->fdno);
@@ -204,7 +188,6 @@ static /*@observer@*/ const char * fdbg(/*@null@*/ FD_t fd)
}
return buf;
}
-/*@=boundswrite@*/
/* =============================================================== */
off_t fdSize(FD_t fd)
@@ -223,7 +206,6 @@ DBGIO(0, (stderr, "==>\tfdSize(%p) rc %ld\n", fd, (long)rc));
case URL_IS_UNKNOWN:
if (fstat(Fileno(fd), &sb) == 0)
rc = sb.st_size;
- /*@fallthrough@*/
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_HKP:
@@ -244,12 +226,11 @@ FD_t fdDup(int fdno)
fd = fdNew("open (fdDup)");
fdSetFdno(fd, nfdno);
DBGIO(fd, (stderr, "==> fdDup(%d) fd %p %s\n", fdno, (fd ? fd : NULL), fdbg(fd)));
- /*@-refcounttrans@*/ return fd; /*@=refcounttrans@*/
+ return fd;
}
-static inline /*@unused@*/ int fdSeekNot(void * cookie,
- /*@unused@*/ _libio_pos_t pos, /*@unused@*/ int whence)
- /*@*/
+static inline int fdSeekNot(void * cookie,
+ _libio_pos_t pos, int whence)
{
FD_t fd = c2f(cookie);
FDSANE(fd); /* XXX keep gcc quiet */
@@ -274,16 +255,13 @@ DBGIO(fd, (stderr, "==> fdFdopen(%p,\"%s\") fdno %d -> fp %p fdno %d\n", cookie,
#endif
/* =============================================================== */
-/*@-mustmod@*/ /* FIX: cookie is modified */
-static inline /*@null@*/ FD_t XfdLink(void * cookie, const char * msg,
+/* FIX: cookie is modified */
+static inline FD_t XfdLink(void * cookie, const char * msg,
const char * file, unsigned line)
- /*@modifies *cookie @*/
{
FD_t fd;
if (cookie == NULL)
- /*@-castexpose@*/
DBGREFS(0, (stderr, "--> fd %p ++ %d %s at %s:%u\n", cookie, FDNREFS(cookie)+1, msg, file, line));
- /*@=castexpose@*/
fd = c2f(cookie);
if (fd) {
fd->nrefs++;
@@ -291,12 +269,10 @@ DBGREFS(fd, (stderr, "--> fd %p ++ %d %s at %s:%u %s\n", fd, fd->nrefs, msg, fi
}
return fd;
}
-/*@=mustmod@*/
-static inline /*@null@*/
-FD_t XfdFree( /*@killref@*/ FD_t fd, const char *msg,
+static inline
+FD_t XfdFree( FD_t fd, const char *msg,
const char *file, unsigned line)
- /*@modifies fd @*/
{
int i;
@@ -306,7 +282,7 @@ DBGREFS(0, (stderr, "--> fd %p -- %d %s at %s:%u\n", fd, FDNREFS(fd), msg, file
if (fd) {
DBGREFS(fd, (stderr, "--> fd %p -- %d %s at %s:%u %s\n", fd, fd->nrefs, msg, file, line, fdbg(fd)));
if (--fd->nrefs > 0)
- /*@-refcounttrans -retalias@*/ return fd; /*@=refcounttrans =retalias@*/
+ return fd;
fd->stats = _free(fd->stats);
for (i = fd->ndigests - 1; i >= 0; i--) {
FDDIGEST_t fddig = fd->digests + i;
@@ -316,15 +292,13 @@ DBGREFS(fd, (stderr, "--> fd %p -- %d %s at %s:%u %s\n", fd, fd->nrefs, msg, fi
fddig->hashctx = NULL;
}
fd->ndigests = 0;
- /*@-refcounttrans@*/ free(fd); /*@=refcounttrans@*/
+ free(fd);
}
return NULL;
}
-static inline /*@null@*/
+static inline
FD_t XfdNew(const char * msg, const char * file, unsigned line)
- /*@globals internalState @*/
- /*@modifies internalState @*/
{
FD_t fd = xcalloc(1, sizeof(*fd));
if (fd == NULL) /* XXX xmalloc never returns NULL */
@@ -360,11 +334,7 @@ FD_t XfdNew(const char * msg, const char * file, unsigned line)
return XfdLink(fd, msg, file, line);
}
-static ssize_t fdRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies buf, errno, fileSystem, internalState @*/
- /*@requires maxSet(buf) >= (count - 1) @*/
- /*@ensures maxRead(buf) == result @*/
+static ssize_t fdRead(void * cookie, char * buf, size_t count)
{
FD_t fd = c2f(cookie);
ssize_t rc;
@@ -372,7 +342,6 @@ static ssize_t fdRead(void * cookie, /*@out@*/ char * buf, size_t count)
if (fd->bytesRemain == 0) return 0; /* XXX simulate EOF */
fdstat_enter(fd, FDSTAT_READ);
-/*@-boundswrite@*/
/* HACK: flimsy wiring for davRead */
if (fd->req != NULL) {
#ifdef WITH_NEON
@@ -385,7 +354,6 @@ static ssize_t fdRead(void * cookie, /*@out@*/ char * buf, size_t count)
fd->bytesRemain = 0;
} else
rc = read(fdFileno(fd), buf, (count > fd->bytesRemain ? fd->bytesRemain : count));
-/*@=boundswrite@*/
fdstat_exit(fd, FDSTAT_READ, rc);
if (fd->ndigests && rc > 0) fdUpdateDigests(fd, (void *)buf, rc);
@@ -396,8 +364,6 @@ DBGIO(fd, (stderr, "==>\tfdRead(%p,%p,%ld) rc %ld %s\n", cookie, buf, (long)coun
}
static ssize_t fdWrite(void * cookie, const char * buf, size_t count)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/
{
FD_t fd = c2f(cookie);
int fdno = fdFileno(fd);
@@ -410,7 +376,6 @@ static ssize_t fdWrite(void * cookie, const char * buf, size_t count)
if (count == 0) return 0;
fdstat_enter(fd, FDSTAT_WRITE);
-/*@-boundsread@*/
/* HACK: flimsy wiring for davWrite */
if (fd->req != NULL) {
#ifdef WITH_NEON
@@ -420,7 +385,6 @@ static ssize_t fdWrite(void * cookie, const char * buf, size_t count)
#endif
} else
rc = write(fdno, buf, (count > fd->bytesRemain ? fd->bytesRemain : count));
-/*@=boundsread@*/
fdstat_exit(fd, FDSTAT_WRITE, rc);
DBGIO(fd, (stderr, "==>\tfdWrite(%p,%p,%ld) rc %ld %s\n", cookie, buf, (long)count, (long)rc, fdbg(fd)));
@@ -429,8 +393,6 @@ DBGIO(fd, (stderr, "==>\tfdWrite(%p,%p,%ld) rc %ld %s\n", cookie, buf, (long)cou
}
static inline int fdSeek(void * cookie, _libio_pos_t pos, int whence)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
#ifdef USE_COOKIE_SEEK_POINTER
_IO_off64_t p = *pos;
@@ -450,9 +412,7 @@ DBGIO(fd, (stderr, "==>\tfdSeek(%p,%ld,%d) rc %lx %s\n", cookie, (long)p, whence
return rc;
}
-static int fdClose( /*@only@*/ void * cookie)
- /*@globals errno, fileSystem, systemState, internalState @*/
- /*@modifies errno, fileSystem, systemState, internalState @*/
+static int fdClose( void * cookie)
{
FD_t fd;
int fdno;
@@ -466,7 +426,6 @@ static int fdClose( /*@only@*/ void * cookie)
fdstat_enter(fd, FDSTAT_CLOSE);
/* HACK: flimsy wiring for davClose */
-/*@-branchstate@*/
if (fd->req != NULL) {
#ifdef WITH_NEON
rc = davClose(fd);
@@ -475,7 +434,6 @@ static int fdClose( /*@only@*/ void * cookie)
#endif
} else
rc = ((fdno >= 0) ? close(fdno) : -2);
-/*@=branchstate@*/
fdstat_exit(fd, FDSTAT_CLOSE, rc);
DBGIO(fd, (stderr, "==>\tfdClose(%p) rc %lx %s\n", (fd ? fd : NULL), (unsigned long)rc, fdbg(fd)));
@@ -484,9 +442,7 @@ DBGIO(fd, (stderr, "==>\tfdClose(%p) rc %lx %s\n", (fd ? fd : NULL), (unsigned l
return rc;
}
-static /*@null@*/ FD_t fdOpen(const char *path, int flags, mode_t mode)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/
+static FD_t fdOpen(const char *path, int flags, mode_t mode)
{
FD_t fd;
int fdno;
@@ -501,16 +457,15 @@ static /*@null@*/ FD_t fdOpen(const char *path, int flags, mode_t mode)
fdSetFdno(fd, fdno);
fd->flags = flags;
DBGIO(fd, (stderr, "==>\tfdOpen(\"%s\",%x,0%o) %s\n", path, (unsigned)flags, (unsigned)mode, fdbg(fd)));
- /*@-refcounttrans@*/ return fd; /*@=refcounttrans@*/
+ return fd;
}
-/*@-type@*/ /* LCL: function typedefs */
+/* LCL: function typedefs */
static struct FDIO_s fdio_s = {
fdRead, fdWrite, fdSeek, fdClose, XfdLink, XfdFree, XfdNew, fdFileno,
fdOpen, NULL, fdGetFp, NULL, mkdir, chdir, rmdir, rename, unlink
};
-/*@=type@*/
-FDIO_t fdio = /*@-compmempass@*/ &fdio_s /*@=compmempass@*/ ;
+FDIO_t fdio = &fdio_s ;
int fdWritable(FD_t fd, int secs)
{
@@ -544,9 +499,7 @@ int fdWritable(FD_t fd, int secs)
tvp->tv_usec = 0;
}
FD_SET(fdno, &wrfds);
-/*@-compdef -nullpass@*/
rc = select(fdno + 1, NULL, &wrfds, NULL, tvp);
-/*@=compdef =nullpass@*/
#endif
/* HACK: EBADF on PUT chunked termination from ufdClose. */
@@ -556,15 +509,14 @@ fprintf(stderr, "*** fdWritable fdno %d rc %d %s\n", fdno, rc, strerror(errno));
switch (errno) {
case EINTR:
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
return rc;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
}
}
return rc;
} while (1);
- /*@notreached@*/
}
int fdReadable(FD_t fd, int secs)
@@ -599,27 +551,23 @@ int fdReadable(FD_t fd, int secs)
tvp->tv_usec = 0;
}
FD_SET(fdno, &rdfds);
- /*@-compdef -nullpass@*/
rc = select(fdno + 1, &rdfds, NULL, NULL, tvp);
- /*@=compdef =nullpass@*/
#endif
if (rc < 0) {
switch (errno) {
case EINTR:
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
return rc;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
}
}
return rc;
} while (1);
- /*@notreached@*/
}
-/*@-boundswrite@*/
int fdFgets(FD_t fd, char * buf, size_t len)
{
int fdno;
@@ -641,13 +589,13 @@ int fdFgets(FD_t fd, char * buf, size_t len)
case -1: /* error */
ec = -1;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case 0: /* timeout */
ec = -1;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default: /* data to read */
- /*@switchbreak@*/ break;
+ break;
}
errno = 0;
@@ -661,9 +609,9 @@ int fdFgets(FD_t fd, char * buf, size_t len)
switch (errno) {
case EWOULDBLOCK:
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
if (_rpmio_debug)
fprintf(stderr, "*** read: fd %p rc %d errno %d %s \"%s\"\n", fd, rc, errno, strerror(errno), buf);
@@ -682,7 +630,6 @@ fprintf(stderr, "*** read: fd %p rc %d EOF errno %d %s \"%s\"\n", fd, rc, errno,
return (ec >= 0 ? nb : ec);
}
-/*@=boundswrite@*/
/* =============================================================== */
/* Support for FTP/HTTP I/O.
@@ -745,7 +692,6 @@ const char * ftpStrerror(int errorNumber)
const char *urlStrerror(const char *url)
{
const char *retstr;
- /*@-branchstate@*/
switch (urlIsURL(url)) {
case URL_IS_HTTPS:
case URL_IS_HTTP:
@@ -762,50 +708,36 @@ const char *urlStrerror(const char *url)
retstr = strerror(errno);
break;
}
- /*@=branchstate@*/
return retstr;
}
#if !defined(HAVE_GETADDRINFO)
#if !defined(USE_ALT_DNS) || !USE_ALT_DNS
static int mygethostbyname(const char * host,
- /*@out@*/ struct in_addr * address)
- /*@globals h_errno @*/
- /*@modifies *address @*/
+ struct in_addr * address)
{
struct hostent * hostinfo;
- /*@-multithreaded @*/
hostinfo = gethostbyname(host);
- /*@=multithreaded @*/
if (!hostinfo) return 1;
-/*@-boundswrite@*/
memcpy(address, hostinfo->h_addr_list[0], sizeof(*address));
-/*@=boundswrite@*/
return 0;
}
#endif
-/*@-boundsread@*/
/*@-compdef@*/ /* FIX: address->s_addr undefined. */
-static int getHostAddress(const char * host, /*@out@*/ struct in_addr * address)
- /*@globals errno, h_errno @*/
- /*@modifies *address, errno @*/
+static int getHostAddress(const char * host, struct in_addr * address)
{
#if 0 /* XXX workaround nss_foo module hand-off using valgrind. */
if (!strcmp(host, "localhost")) {
- /*@-moduncon @*/
if (!inet_aton("127.0.0.1", address))
return FTPERR_BAD_HOST_ADDR;
- /*@=moduncon @*/
} else
#endif
if (xisdigit(host[0])) {
- /*@-moduncon @*/
if (!inet_aton(host, address))
return FTPERR_BAD_HOST_ADDR;
- /*@=moduncon @*/
} else {
if (mygethostbyname(host, address)) {
errno = h_errno;
@@ -815,13 +747,9 @@ static int getHostAddress(const char * host, /*@out@*/ struct in_addr * address)
return 0;
}
-/*@=compdef@*/
-/*@=boundsread@*/
#endif
static int tcpConnect(FD_t ctrl, const char * host, int port)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies ctrl, fileSystem, internalState @*/
{
int fdno = -1;
int rc;
@@ -850,7 +778,7 @@ static int tcpConnect(FD_t ctrl, const char * host, int port)
getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
NULL, 0, NI_NUMERICHOST);
fprintf(stderr,"++ connect [%s]:%d on fdno %d\n",
- /*@-unrecog@*/ hbuf /*@=unrecog@*/, port, fdno);
+ hbuf, port, fdno);
}
break;
}
@@ -862,9 +790,7 @@ static int tcpConnect(FD_t ctrl, const char * host, int port)
#else /* HAVE_GETADDRINFO */
struct sockaddr_in sin;
-/*@-boundswrite@*/
memset(&sin, 0, sizeof(sin));
-/*@=boundswrite@*/
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
sin.sin_addr.s_addr = INADDR_ANY;
@@ -878,12 +804,10 @@ static int tcpConnect(FD_t ctrl, const char * host, int port)
break;
}
- /*@-internalglobs@*/
if (connect(fdno, (struct sockaddr *) &sin, sizeof(sin))) {
rc = FTPERR_FAILED_CONNECT;
break;
}
- /*@=internalglobs@*/
} while (0);
if (rc < 0)
@@ -891,9 +815,8 @@ static int tcpConnect(FD_t ctrl, const char * host, int port)
if (_ftp_debug)
fprintf(stderr,"++ connect %s:%d on fdno %d\n",
-/*@-unrecog -moduncon -evalorderuncon @*/
inet_ntoa(sin.sin_addr)
-/*@=unrecog =moduncon =evalorderuncon @*/ ,
+,
(int)ntohs(sin.sin_port), fdno);
#endif /* HAVE_GETADDRINFO */
@@ -901,19 +824,14 @@ inet_ntoa(sin.sin_addr)
return 0;
errxit:
- /*@-observertrans@*/
fdSetSyserrno(ctrl, errno, ftpStrerror(rc));
- /*@=observertrans@*/
if (fdno >= 0)
(void) close(fdno);
return rc;
}
-/*@-boundswrite@*/
static int checkResponse(void * uu, FD_t ctrl,
- /*@out@*/ int *ecp, /*@out@*/ char ** str)
- /*@globals fileSystem @*/
- /*@modifies ctrl, *ecp, *str, fileSystem @*/
+ int *ecp, char ** str)
{
urlinfo u = uu;
char *buf;
@@ -962,7 +880,7 @@ static int checkResponse(void * uu, FD_t ctrl,
if (se > s && se[-1] == '\r')
se[-1] = '\0';
if (*se == '\0')
- /*@innerbreak@*/ break;
+ break;
if (_ftp_debug)
fprintf(stderr, "<- %s\n", s);
@@ -970,7 +888,7 @@ fprintf(stderr, "<- %s\n", s);
/* HTTP: header termination on empty line */
if (*s == '\0') {
moretodo = 0;
- /*@innerbreak@*/ break;
+ break;
}
*se++ = '\0';
@@ -991,7 +909,7 @@ fprintf(stderr, "<- %s\n", s);
strncpy(errorCode, e, 3);
errorCode[3] = '\0';
}
- /*@innercontinue@*/ continue;
+ continue;
}
/* HTTP: look for "token: ..." */
@@ -1037,7 +955,7 @@ fprintf(stderr, "<- %s\n", s);
if (!strncmp(s, "Allow:", ne)) {
}
#endif
- /*@innercontinue@*/ continue;
+ continue;
}
/* HTTP: look for "<TITLE>501 ... </TITLE>" */
@@ -1072,11 +990,8 @@ fprintf(stderr, "<- %s\n", s);
return ec;
}
-/*@=boundswrite@*/
-static int ftpCheckResponse(urlinfo u, /*@out@*/ char ** str)
- /*@globals fileSystem @*/
- /*@modifies u, *str, fileSystem @*/
+static int ftpCheckResponse(urlinfo u, char ** str)
{
int ec = 0;
int rc;
@@ -1087,10 +1002,10 @@ static int ftpCheckResponse(urlinfo u, /*@out@*/ char ** str)
switch (ec) {
case 550:
return FTPERR_FILE_NOT_FOUND;
- /*@notreached@*/ break;
+ break;
case 552:
return FTPERR_NIC_ABORT_IN_PROGRESS;
- /*@notreached@*/ break;
+ break;
default:
if (ec >= 400 && ec <= 599) {
return FTPERR_BAD_SERVER_RESPONSE;
@@ -1101,8 +1016,6 @@ static int ftpCheckResponse(urlinfo u, /*@out@*/ char ** str)
}
static int ftpCommand(urlinfo u, char ** str, ...)
- /*@globals fileSystem, internalState @*/
- /*@modifies u, *str, fileSystem, internalState @*/
{
va_list ap;
int len = 0;
@@ -1119,7 +1032,6 @@ static int ftpCommand(urlinfo u, char ** str, ...)
len += sizeof("\r\n")-1;
va_end(ap);
-/*@-boundswrite@*/
t = te = alloca(len + 1);
va_start(ap, str);
@@ -1129,7 +1041,6 @@ static int ftpCommand(urlinfo u, char ** str, ...)
}
te = stpcpy(te, "\r\n");
va_end(ap);
-/*@=boundswrite@*/
if (_ftp_debug)
fprintf(stderr, "-> %s", t);
@@ -1141,8 +1052,6 @@ fprintf(stderr, "-> %s", t);
}
static int ftpLogin(urlinfo u)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies u, fileSystem, internalState @*/
{
const char * host;
const char * user;
@@ -1160,34 +1069,25 @@ static int ftpLogin(urlinfo u)
if ((port = (u->proxyp > 0 ? u->proxyp : u->port)) < 0) port = IPPORT_FTP;
- /*@-branchstate@*/
if ((user = (u->proxyu ? u->proxyu : u->user)) == NULL)
user = "anonymous";
- /*@=branchstate@*/
- /*@-branchstate@*/
if ((password = u->password) == NULL) {
uid_t uid = getuid();
struct passwd * pw;
if (uid && (pw = getpwuid(uid)) != NULL) {
-/*@-boundswrite@*/
char *myp = alloca(strlen(pw->pw_name) + sizeof("@"));
strcpy(myp, pw->pw_name);
strcat(myp, "@");
-/*@=boundswrite@*/
password = myp;
} else {
password = "root@";
}
}
- /*@=branchstate@*/
- /*@-branchstate@*/
if (fdFileno(u->ctrl) >= 0 && fdWritable(u->ctrl, 0) < 1)
- /*@-refcounttrans@*/ (void) fdClose(u->ctrl); /*@=refcounttrans@*/
- /*@=branchstate@*/
+ (void) fdClose(u->ctrl);
-/*@-usereleased@*/
if (fdFileno(u->ctrl) < 0) {
rc = tcpConnect(u->ctrl, host, port);
if (rc < 0)
@@ -1206,23 +1106,14 @@ static int ftpLogin(urlinfo u)
if ((rc = ftpCommand(u, NULL, "TYPE", "I", NULL)))
goto errxit;
- /*@-compdef@*/
return 0;
- /*@=compdef@*/
errxit:
- /*@-observertrans@*/
fdSetSyserrno(u->ctrl, errno, ftpStrerror(rc));
- /*@=observertrans@*/
errxit2:
- /*@-branchstate@*/
if (fdFileno(u->ctrl) >= 0)
- /*@-refcounttrans@*/ (void) fdClose(u->ctrl); /*@=refcounttrans@*/
- /*@=branchstate@*/
- /*@-compdef@*/
+ (void) fdClose(u->ctrl);
return rc;
- /*@=compdef@*/
-/*@=usereleased@*/
}
int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
@@ -1240,7 +1131,6 @@ int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
int epsv;
int port;
-/*@-boundswrite@*/
URLSANE(u);
if (ftpCmd == NULL)
return FTPERR_UNKNOWN; /* XXX W2DO? */
@@ -1347,7 +1237,6 @@ int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
while (*chptr++ != '\0') {
if (*chptr == ',') *chptr = '.';
}
-/*@=boundswrite@*/
sprintf(remoteIP, "%s", passReply);
} /* if (epsv) */
@@ -1415,12 +1304,10 @@ int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
dataAddress.sin_family = AF_INET;
dataAddress.sin_port = htons(port);
- /*@-moduncon@*/
if (!inet_aton(remoteIP, &dataAddress.sin_addr)) {
rc = FTPERR_PASSIVE_ERROR;
goto errxit;
}
- /*@=moduncon@*/
rc = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
fdSetFdno(data, (rc >= 0 ? rc : -1));
@@ -1434,7 +1321,6 @@ int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
/* XXX setsockopt SO_KEEPALIVE */
/* XXX setsockopt SO_TOS IPTOS_THROUGHPUT */
- /*@-internalglobs@*/
while (connect(fdFileno(data), (struct sockaddr *) &dataAddress,
sizeof(dataAddress)) < 0)
{
@@ -1443,7 +1329,6 @@ int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
rc = FTPERR_FAILED_DATA_CONNECT;
goto errxit;
}
- /*@=internalglobs@*/
#endif /* HAVE_GETADDRINFO */
if (_ftp_debug)
@@ -1463,23 +1348,16 @@ fprintf(stderr, "-> %s", cmd);
return 0;
errxit:
- /*@-observertrans@*/
fdSetSyserrno(u->ctrl, errno, ftpStrerror(rc));
- /*@=observertrans@*/
- /*@-branchstate@*/
if (fdFileno(data) >= 0)
- /*@-refcounttrans@*/ (void) fdClose(data); /*@=refcounttrans@*/
- /*@=branchstate@*/
+ (void) fdClose(data);
return rc;
}
-/*@unchecked@*/ /*@null@*/
static rpmCallbackFunction urlNotify = NULL;
-/*@unchecked@*/ /*@null@*/
static void * urlNotifyData = NULL;
-/*@unchecked@*/
static int urlNotifyCount = -1;
void urlSetCallback(rpmCallbackFunction notify, void *notifyData, int notifyCount) {
@@ -1497,12 +1375,9 @@ int ufdCopy(FD_t sfd, FD_t tfd)
int notifier = -1;
if (urlNotify) {
-/*@-boundsread@*/
- /*@-noeffectuncon @*/ /* FIX: check rc */
+ /* FIX: check rc */
(void)(*urlNotify) (NULL, RPMCALLBACK_INST_OPEN_FILE,
0, 0, NULL, urlNotifyData);
- /*@=noeffectuncon @*/
-/*@=boundsread@*/
}
while (1) {
@@ -1526,12 +1401,9 @@ int ufdCopy(FD_t sfd, FD_t tfd)
if (urlNotify && urlNotifyCount > 0) {
int n = itemsCopied/urlNotifyCount;
if (n != notifier) {
-/*@-boundsread@*/
- /*@-noeffectuncon @*/ /* FIX: check rc */
+ /* FIX: check rc */
(void)(*urlNotify) (NULL, RPMCALLBACK_INST_PROGRESS,
itemsCopied, 0, NULL, urlNotifyData);
- /*@=noeffectuncon @*/
-/*@=boundsread@*/
notifier = n;
}
}
@@ -1541,20 +1413,15 @@ int ufdCopy(FD_t sfd, FD_t tfd)
ftpStrerror(rc)));
if (urlNotify) {
-/*@-boundsread@*/
- /*@-noeffectuncon @*/ /* FIX: check rc */
+ /* FIX: check rc */
(void)(*urlNotify) (NULL, RPMCALLBACK_INST_OPEN_FILE,
itemsCopied, itemsCopied, NULL, urlNotifyData);
- /*@=noeffectuncon @*/
-/*@=boundsread@*/
}
return rc;
}
-static int urlConnect(const char * url, /*@out@*/ urlinfo * uret)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *uret, fileSystem, internalState @*/
+static int urlConnect(const char * url, urlinfo * uret)
{
urlinfo u;
int rc = 0;
@@ -1589,10 +1456,8 @@ static int urlConnect(const char * url, /*@out@*/ urlinfo * uret)
}
}
-/*@-boundswrite@*/
if (uret != NULL)
*uret = urlLink(u, "urlConnect");
-/*@=boundswrite@*/
u = urlFree(u, "urlSplit (urlConnect)");
return rc;
@@ -1642,8 +1507,6 @@ int ftpCmd(const char * cmd, const char * url, const char * arg2)
#endif
static int ftpAbort(urlinfo u, FD_t data)
- /*@globals fileSystem, internalState @*/
- /*@modifies u, data, fileSystem, internalState @*/
{
static unsigned char ipbuf[3] = { IAC, IP, IAC };
FD_t ctrl;
@@ -1662,15 +1525,14 @@ static int ftpAbort(urlinfo u, FD_t data)
DBGIO(0, (stderr, "-> ABOR\n"));
-/*@-usereleased -compdef@*/
if (send(fdFileno(ctrl), ipbuf, sizeof(ipbuf), MSG_OOB) != sizeof(ipbuf)) {
- /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
+ (void) fdClose(ctrl);
return FTPERR_SERVER_IO_ERROR;
}
sprintf(u->buf, "%cABOR\r\n",(char) DM);
if (fdWrite(ctrl, u->buf, 7) != 7) {
- /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
+ (void) fdClose(ctrl);
return FTPERR_SERVER_IO_ERROR;
}
@@ -1679,10 +1541,8 @@ static int ftpAbort(urlinfo u, FD_t data)
tosecs = data->rd_timeoutsecs;
data->rd_timeoutsecs = 10;
if (fdReadable(data, data->rd_timeoutsecs) > 0) {
-/*@-boundswrite@*/
while (timedRead(data, u->buf, u->bufAlloced) > 0)
u->buf[0] = '\0';
-/*@=boundswrite@*/
}
data->rd_timeoutsecs = tosecs;
/* XXX ftp abort needs to close the data channel to receive status */
@@ -1701,12 +1561,9 @@ static int ftpAbort(urlinfo u, FD_t data)
u->ctrl->rd_timeoutsecs = tosecs;
return rc;
-/*@=usereleased =compdef@*/
}
static int ftpFileDone(urlinfo u, FD_t data)
- /*@globals fileSystem @*/
- /*@modifies u, data, fileSystem @*/
{
int rc = 0;
@@ -1722,9 +1579,7 @@ static int ftpFileDone(urlinfo u, FD_t data)
return rc;
}
-static int httpResp(urlinfo u, FD_t ctrl, /*@out@*/ char ** str)
- /*@globals fileSystem @*/
- /*@modifies ctrl, *str, fileSystem @*/
+static int httpResp(urlinfo u, FD_t ctrl, char ** str)
{
int ec = 0;
int rc;
@@ -1752,8 +1607,6 @@ fprintf(stderr, "*** httpResp: rc %d ec %d\n", rc, ec);
}
static int httpReq(FD_t ctrl, const char * httpCmd, const char * httpArg)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies ctrl, fileSystem, internalState @*/
{
urlinfo u;
const char * host;
@@ -1778,18 +1631,13 @@ assert(ctrl != NULL);
if ((port = (u->proxyp > 0 ? u->proxyp : u->port)) < 0) port = 80;
path = (u->proxyh || u->proxyp > 0) ? u->url : httpArg;
- /*@-branchstate@*/
if (path == NULL) path = "";
- /*@=branchstate@*/
reopen:
- /*@-branchstate@*/
if (fdFileno(ctrl) >= 0 && (rc = fdWritable(ctrl, 0)) < 1) {
- /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
+ (void) fdClose(ctrl);
}
- /*@=branchstate@*/
-/*@-usereleased@*/
if (fdFileno(ctrl) < 0) {
rc = tcpConnect(ctrl, host, port);
if (rc < 0)
@@ -1806,7 +1654,6 @@ Transfer-Encoding: chunked\r\n\
\r\n\
") + strlen(httpCmd) + strlen(path) + sizeof(VERSION) + strlen(hthost) + 20;
-/*@-boundswrite@*/
req = alloca(len);
*req = '\0';
@@ -1828,7 +1675,6 @@ Accept: text/plain\r\n\
\r\n\
", httpCmd, path, (u->httpVersion ? 1 : 0), VERSION, hthost, port);
}
-/*@=boundswrite@*/
if (_ftp_debug)
fprintf(stderr, "-> %s", req);
@@ -1839,7 +1685,6 @@ fprintf(stderr, "-> %s", req);
goto errxit;
}
- /*@-branchstate@*/
if (!strcmp(httpCmd, "PUT")) {
ctrl->wr_chunked = 1;
} else {
@@ -1849,28 +1694,22 @@ fprintf(stderr, "-> %s", req);
if (rc) {
if (!retrying) { /* not HTTP_OK */
retrying = 1;
- /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
+ (void) fdClose(ctrl);
goto reopen;
}
goto errxit;
}
}
- /*@=branchstate@*/
ctrl = fdLink(ctrl, "open data (httpReq)");
return 0;
errxit:
- /*@-observertrans@*/
fdSetSyserrno(ctrl, errno, ftpStrerror(rc));
- /*@=observertrans@*/
errxit2:
- /*@-branchstate@*/
if (fdFileno(ctrl) >= 0)
- /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
- /*@=branchstate@*/
+ (void) fdClose(ctrl);
return rc;
-/*@=usereleased@*/
}
/* XXX DYING: unused */
@@ -1883,11 +1722,7 @@ void * ufdGetUrlinfo(FD_t fd)
}
/* =============================================================== */
-static ssize_t ufdRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies buf, fileSystem, internalState @*/
- /*@requires maxSet(buf) >= (count - 1) @*/
- /*@ensures maxRead(buf) == result @*/
+static ssize_t ufdRead(void * cookie, char * buf, size_t count)
{
FD_t fd = c2f(cookie);
int bytesRead;
@@ -1919,30 +1754,28 @@ static ssize_t ufdRead(void * cookie, /*@out@*/ char * buf, size_t count)
case -1: /* error */
case 0: /* timeout */
return total;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default: /* data to read */
- /*@switchbreak@*/ break;
+ break;
}
-/*@-boundswrite@*/
rc = fdRead(fd, buf + total, count - total);
-/*@=boundswrite@*/
if (rc < 0) {
switch (errno) {
case EWOULDBLOCK:
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
if (_rpmio_debug)
fprintf(stderr, "*** read: rc %d errno %d %s \"%s\"\n", rc, errno, strerror(errno), buf);
return rc;
- /*@notreached@*/ break;
+ break;
} else if (rc == 0) {
return total;
- /*@notreached@*/ break;
+ break;
}
bytesRead = rc;
}
@@ -1951,8 +1784,6 @@ fprintf(stderr, "*** read: rc %d errno %d %s \"%s\"\n", rc, errno, strerror(errn
}
static ssize_t ufdWrite(void * cookie, const char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
FD_t fd = c2f(cookie);
int bytesWritten;
@@ -1986,9 +1817,9 @@ fprintf(stderr, "*** ufdWrite fd %p WRITE PAST END OF CONTENT\n", fd);
case -1: /* error */
case 0: /* timeout */
return total;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default: /* data to write */
- /*@switchbreak@*/ break;
+ break;
}
rc = fdWrite(fd, buf + total, count - total);
@@ -1997,17 +1828,17 @@ fprintf(stderr, "*** ufdWrite fd %p WRITE PAST END OF CONTENT\n", fd);
switch (errno) {
case EWOULDBLOCK:
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
if (_rpmio_debug)
fprintf(stderr, "*** write: rc %d errno %d %s \"%s\"\n", rc, errno, strerror(errno), buf);
return rc;
- /*@notreached@*/ break;
+ break;
} else if (rc == 0) {
return total;
- /*@notreached@*/ break;
+ break;
}
bytesWritten = rc;
}
@@ -2016,8 +1847,6 @@ fprintf(stderr, "*** write: rc %d errno %d %s \"%s\"\n", rc, errno, strerror(err
}
static inline int ufdSeek(void * cookie, _libio_pos_t pos, int whence)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
FD_t fd = c2f(cookie);
@@ -2032,20 +1861,18 @@ static inline int ufdSeek(void * cookie, _libio_pos_t pos, int whence)
case URL_IS_DASH:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return fdSeek(cookie, pos, whence);
}
-/*@-branchstate@*/
/*@-usereleased@*/ /* LCL: fd handling is tricky here. */
-int ufdClose( /*@only@*/ void * cookie)
+int ufdClose( void * cookie)
{
FD_t fd = c2f(cookie);
UFDONLY(fd);
- /*@-branchstate@*/
if (fd->url) {
urlinfo u = fd->url;
@@ -2061,11 +1888,9 @@ int ufdClose( /*@only@*/ void * cookie)
/* XXX if not using libio, lose the fp from fpio */
{ FILE * fp;
- /*@+voidabstract -nullpass@*/
fp = fdGetFILE(fd);
if (noLibio && fp)
fdSetFp(fd, NULL);
- /*@=voidabstract =nullpass@*/
}
/*
@@ -2092,16 +1917,13 @@ int ufdClose( /*@only@*/ void * cookie)
} else {
int rc;
/* XXX STOR et al require close before ftpFileDone */
- /*@-refcounttrans@*/
rc = fdClose(fd);
- /*@=refcounttrans@*/
#if 0 /* XXX error exit from ufdOpen does not have this set */
assert(fd->ftpFileDoneNeeded != 0);
#endif
- /*@-compdef@*/ /* FIX: u->data undefined */
+ /* FIX: u->data undefined */
if (fd->ftpFileDoneNeeded)
(void) ftpFileDone(u, fd);
- /*@=compdef@*/
return rc;
}
}
@@ -2130,11 +1952,9 @@ int ufdClose( /*@only@*/ void * cookie)
/* XXX if not using libio, lose the fp from fpio */
{ FILE * fp;
- /*@+voidabstract -nullpass@*/
fp = fdGetFILE(fd);
if (noLibio && fp)
fdSetFp(fd, NULL);
- /*@=voidabstract =nullpass@*/
}
/* If content remains, then don't persist. */
@@ -2149,13 +1969,10 @@ int ufdClose( /*@only@*/ void * cookie)
}
return fdClose(fd);
}
-/*@=usereleased@*/
-/*@=branchstate@*/
/*@-nullstate@*/ /* FIX: u->{ctrl,data}->url undef after XurlLink. */
-/*@null@*/ FD_t ftpOpen(const char *url, /*@unused@*/ int flags,
- /*@unused@*/ mode_t mode, /*@out@*/ urlinfo *uret)
- /*@modifies *uret @*/
+FD_t ftpOpen(const char *url, int flags,
+ mode_t mode, urlinfo *uret)
{
urlinfo u = NULL;
FD_t fd = NULL;
@@ -2184,22 +2001,15 @@ int ufdClose( /*@only@*/ void * cookie)
}
exit:
-/*@-boundswrite@*/
if (uret)
*uret = u;
-/*@=boundswrite@*/
- /*@-refcounttrans@*/
return fd;
- /*@=refcounttrans@*/
}
-/*@=nullstate@*/
#ifndef WITH_NEON
-/*@-nullstate@*/ /* FIX: u->{ctrl,data}->url undef after XurlLink. */
-static /*@null@*/ FD_t httpOpen(const char * url, /*@unused@*/ int flags,
- /*@unused@*/ mode_t mode, /*@out@*/ urlinfo * uret)
- /*@globals internalState @*/
- /*@modifies *uret, internalState @*/
+ /* FIX: u->{ctrl,data}->url undef after XurlLink. */
+static FD_t httpOpen(const char * url, int flags,
+ mode_t mode, urlinfo * uret)
{
urlinfo u = NULL;
FD_t fd = NULL;
@@ -2233,20 +2043,13 @@ static /*@null@*/ FD_t httpOpen(const char * url, /*@unused@*/ int flags,
}
exit:
-/*@-boundswrite@*/
if (uret)
*uret = u;
-/*@=boundswrite@*/
- /*@-refcounttrans@*/
return fd;
- /*@=refcounttrans@*/
}
-/*@=nullstate@*/
#endif
-static /*@null@*/ FD_t ufdOpen(const char * url, int flags, mode_t mode)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static FD_t ufdOpen(const char * url, int flags, mode_t mode)
{
FD_t fd = NULL;
const char * cmd;
@@ -2257,7 +2060,6 @@ static /*@null@*/ FD_t ufdOpen(const char * url, int flags, mode_t mode)
if (_rpmio_debug)
fprintf(stderr, "*** ufdOpen(%s,0x%x,0%o)\n", url, (unsigned)flags, (unsigned)mode);
- /*@-branchstate@*/
switch (urlType) {
case URL_IS_FTP:
fd = ftpOpen(url, flags, mode, &u);
@@ -2330,7 +2132,6 @@ fprintf(stderr, "*** ufdOpen(%s,0x%x,0%o)\n", url, (unsigned)flags, (unsigned)mo
}
break;
}
- /*@=branchstate@*/
if (fd == NULL) return NULL;
fd->urlType = urlType;
@@ -2342,35 +2143,28 @@ DBGIO(fd, (stderr, "==>\tufdOpen(\"%s\",%x,0%o) %s\n", url, (unsigned)flags, (un
return fd;
}
-/*@-type@*/ /* LCL: function typedefs */
+/* LCL: function typedefs */
static struct FDIO_s ufdio_s = {
ufdRead, ufdWrite, ufdSeek, ufdClose, XfdLink, XfdFree, XfdNew, fdFileno,
ufdOpen, NULL, fdGetFp, NULL, Mkdir, Chdir, Rmdir, Rename, Unlink
};
-/*@=type@*/
-FDIO_t ufdio = /*@-compmempass@*/ &ufdio_s /*@=compmempass@*/ ;
+FDIO_t ufdio = &ufdio_s ;
/* =============================================================== */
/* Support for GZIP library.
*/
#ifdef HAVE_ZLIB_H
-/*@-moduncon@*/
-/*@-noparams@*/
#include <zlib.h>
-/*@=noparams@*/
-static inline /*@dependent@*/ /*@null@*/ void * gzdFileno(FD_t fd)
- /*@*/
+static inline void * gzdFileno(FD_t fd)
{
void * rc = NULL;
int i;
FDSANE(fd);
for (i = fd->nfps; i >= 0; i--) {
-/*@-boundsread@*/
FDSTACK_t * fps = &fd->fps[i];
-/*@=boundsread@*/
if (fps->io != gzdio)
continue;
rc = fps->fp;
@@ -2380,10 +2174,8 @@ static inline /*@dependent@*/ /*@null@*/ void * gzdFileno(FD_t fd)
return rc;
}
-static /*@null@*/
+static
FD_t gzdOpen(const char * path, const char * fmode)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
FD_t fd;
gzFile gzfile;
@@ -2396,9 +2188,7 @@ DBGIO(fd, (stderr, "==>\tgzdOpen(\"%s\", \"%s\") fd %p %s\n", path, fmode, (fd ?
return fdLink(fd, "gzdOpen");
}
-static /*@null@*/ FD_t gzdFdopen(void * cookie, const char *fmode)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static FD_t gzdFdopen(void * cookie, const char *fmode)
{
FD_t fd = c2f(cookie);
int fdno;
@@ -2417,8 +2207,6 @@ static /*@null@*/ FD_t gzdFdopen(void * cookie, const char *fmode)
}
static int gzdFlush(FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
gzFile gzfile;
gzfile = gzdFileno(fd);
@@ -2427,9 +2215,7 @@ static int gzdFlush(FD_t fd)
}
/* =============================================================== */
-static ssize_t gzdRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies buf, fileSystem, internalState @*/
+static ssize_t gzdRead(void * cookie, char * buf, size_t count)
{
FD_t fd = c2f(cookie);
gzFile gzfile;
@@ -2458,8 +2244,6 @@ DBGIO(fd, (stderr, "==>\tgzdRead(%p,%p,%u) rc %lx %s\n", cookie, buf, (unsigned)
}
static ssize_t gzdWrite(void * cookie, const char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
FD_t fd = c2f(cookie);
gzFile gzfile;
@@ -2490,8 +2274,6 @@ DBGIO(fd, (stderr, "==>\tgzdWrite(%p,%p,%u) rc %lx %s\n", cookie, buf, (unsigned
/* XXX zlib-1.0.4 has not */
static inline int gzdSeek(void * cookie, _libio_pos_t pos, int whence)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
#ifdef USE_COOKIE_SEEK_POINTER
_IO_off64_t p = *pos;
@@ -2528,9 +2310,7 @@ DBGIO(fd, (stderr, "==>\tgzdSeek(%p,%ld,%d) rc %lx %s\n", cookie, (long)p, whenc
return rc;
}
-static int gzdClose( /*@only@*/ void * cookie)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static int gzdClose( void * cookie)
{
FD_t fd = c2f(cookie);
gzFile gzfile;
@@ -2540,9 +2320,7 @@ static int gzdClose( /*@only@*/ void * cookie)
if (gzfile == NULL) return -2; /* XXX can't happen */
fdstat_enter(fd, FDSTAT_CLOSE);
- /*@-dependenttrans@*/
rc = gzclose(gzfile);
- /*@=dependenttrans@*/
/* XXX TODO: preserve fd if errors */
@@ -2562,29 +2340,24 @@ DBGIO(fd, (stderr, "==>\tgzdClose(%p) zerror %d %s\n", cookie, rc, fdbg(fd)));
DBGIO(fd, (stderr, "==>\tgzdClose(%p) rc %lx %s\n", cookie, (unsigned long)rc, fdbg(fd)));
if (_rpmio_debug || rpmIsDebug()) fdstat_print(fd, "GZDIO", stderr);
- /*@-branchstate@*/
if (rc == 0)
fd = fdFree(fd, "open (gzdClose)");
- /*@=branchstate@*/
return rc;
}
-/*@-type@*/ /* LCL: function typedefs */
+/* LCL: function typedefs */
static struct FDIO_s gzdio_s = {
gzdRead, gzdWrite, gzdSeek, gzdClose, XfdLink, XfdFree, XfdNew, fdFileno,
NULL, gzdOpen, gzdFileno, gzdFlush, NULL, NULL, NULL, NULL, NULL
};
-/*@=type@*/
-FDIO_t gzdio = /*@-compmempass@*/ &gzdio_s /*@=compmempass@*/ ;
+FDIO_t gzdio = &gzdio_s ;
-/*@=moduncon@*/
#endif /* HAVE_ZLIB_H */
/* =============================================================== */
/* Support for BZIP2 library.
*/
#if HAVE_BZLIB_H
-/*@-moduncon@*/
#include <bzlib.h>
@@ -2598,17 +2371,14 @@ FDIO_t gzdio = /*@-compmempass@*/ &gzdio_s /*@=compmempass@*/ ;
# define bzwrite BZ2_bzwrite
#endif /* HAVE_BZ2_1_0 */
-static inline /*@dependent@*/ void * bzdFileno(FD_t fd)
- /*@*/
+static inline void * bzdFileno(FD_t fd)
{
void * rc = NULL;
int i;
FDSANE(fd);
for (i = fd->nfps; i >= 0; i--) {
-/*@-boundsread@*/
FDSTACK_t * fps = &fd->fps[i];
-/*@=boundsread@*/
if (fps->io != bzdio)
continue;
rc = fps->fp;
@@ -2618,10 +2388,7 @@ static inline /*@dependent@*/ void * bzdFileno(FD_t fd)
return rc;
}
-/*@-globuse@*/
-static /*@null@*/ FD_t bzdOpen(const char * path, const char * mode)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
+static FD_t bzdOpen(const char * path, const char * mode)
{
FD_t fd;
BZFILE *bzfile;;
@@ -2631,12 +2398,8 @@ static /*@null@*/ FD_t bzdOpen(const char * path, const char * mode)
fdPop(fd); fdPush(fd, bzdio, bzfile, -1);
return fdLink(fd, "bzdOpen");
}
-/*@=globuse@*/
-/*@-globuse@*/
-static /*@null@*/ FD_t bzdFdopen(void * cookie, const char * fmode)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static FD_t bzdFdopen(void * cookie, const char * fmode)
{
FD_t fd = c2f(cookie);
int fdno;
@@ -2653,23 +2416,15 @@ static /*@null@*/ FD_t bzdFdopen(void * cookie, const char * fmode)
return fdLink(fd, "bzdFdopen");
}
-/*@=globuse@*/
-/*@-globuse@*/
static int bzdFlush(FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
return bzflush(bzdFileno(fd));
}
-/*@=globuse@*/
/* =============================================================== */
-/*@-globuse@*/
/*@-mustmod@*/ /* LCL: *buf is modified */
-static ssize_t bzdRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies *buf, fileSystem, internalState @*/
+static ssize_t bzdRead(void * cookie, char * buf, size_t count)
{
FD_t fd = c2f(cookie);
BZFILE *bzfile;
@@ -2679,28 +2434,19 @@ static ssize_t bzdRead(void * cookie, /*@out@*/ char * buf, size_t count)
bzfile = bzdFileno(fd);
fdstat_enter(fd, FDSTAT_READ);
if (bzfile)
- /*@-compdef@*/
rc = bzread(bzfile, buf, count);
- /*@=compdef@*/
if (rc == -1) {
int zerror = 0;
if (bzfile)
fd->errcookie = bzerror(bzfile, &zerror);
} else if (rc >= 0) {
fdstat_exit(fd, FDSTAT_READ, rc);
- /*@-compdef@*/
if (fd->ndigests && rc > 0) fdUpdateDigests(fd, (void *)buf, rc);
- /*@=compdef@*/
}
return rc;
}
-/*@=mustmod@*/
-/*@=globuse@*/
-/*@-globuse@*/
static ssize_t bzdWrite(void * cookie, const char * buf, size_t count)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
FD_t fd = c2f(cookie);
BZFILE *bzfile;
@@ -2721,11 +2467,9 @@ static ssize_t bzdWrite(void * cookie, const char * buf, size_t count)
}
return rc;
}
-/*@=globuse@*/
-static inline int bzdSeek(void * cookie, /*@unused@*/ _libio_pos_t pos,
- /*@unused@*/ int whence)
- /*@*/
+static inline int bzdSeek(void * cookie, _libio_pos_t pos,
+ int whence)
{
FD_t fd = c2f(cookie);
@@ -2733,9 +2477,7 @@ static inline int bzdSeek(void * cookie, /*@unused@*/ _libio_pos_t pos,
return -2;
}
-static int bzdClose( /*@only@*/ void * cookie)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static int bzdClose( void * cookie)
{
FD_t fd = c2f(cookie);
BZFILE *bzfile;
@@ -2745,9 +2487,8 @@ static int bzdClose( /*@only@*/ void * cookie)
if (bzfile == NULL) return -2;
fdstat_enter(fd, FDSTAT_CLOSE);
- /*@-noeffectuncon@*/ /* FIX: check rc */
+ /* FIX: check rc */
bzclose(bzfile);
- /*@=noeffectuncon@*/
rc = 0; /* XXX FIXME */
/* XXX TODO: preserve fd if errors */
@@ -2764,28 +2505,22 @@ static int bzdClose( /*@only@*/ void * cookie)
DBGIO(fd, (stderr, "==>\tbzdClose(%p) rc %lx %s\n", cookie, (unsigned long)rc, fdbg(fd)));
if (_rpmio_debug || rpmIsDebug()) fdstat_print(fd, "BZDIO", stderr);
- /*@-branchstate@*/
if (rc == 0)
fd = fdFree(fd, "open (bzdClose)");
- /*@=branchstate@*/
return rc;
}
-/*@-type@*/ /* LCL: function typedefs */
+/* LCL: function typedefs */
static struct FDIO_s bzdio_s = {
bzdRead, bzdWrite, bzdSeek, bzdClose, XfdLink, XfdFree, XfdNew, fdFileno,
NULL, bzdOpen, bzdFileno, bzdFlush, NULL, NULL, NULL, NULL, NULL
};
-/*@=type@*/
-FDIO_t bzdio = /*@-compmempass@*/ &bzdio_s /*@=compmempass@*/ ;
+FDIO_t bzdio = &bzdio_s ;
-/*@=moduncon@*/
#endif /* HAVE_BZLIB_H */
/* =============================================================== */
-/*@observer@*/
static const char * getFdErrstr (FD_t fd)
- /*@*/
{
const char *errstr = NULL;
@@ -2829,15 +2564,11 @@ ssize_t Fread(void *buf, size_t size, size_t nmemb, FD_t fd) {
DBGIO(fd, (stderr, "==> Fread(%p,%u,%u,%p) %s\n", buf, (unsigned)size, (unsigned)nmemb, (fd ? fd : NULL), fdbg(fd)));
if (fdGetIo(fd) == fpio) {
- /*@+voidabstract -nullpass@*/
rc = fread(buf, size, nmemb, fdGetFILE(fd));
- /*@=voidabstract =nullpass@*/
return rc;
}
- /*@-nullderef@*/
_read = FDIOVEC(fd, read);
- /*@=nullderef@*/
rc = (_read ? (*_read) (fd, buf, size * nmemb) : -2);
return rc;
@@ -2852,17 +2583,11 @@ ssize_t Fwrite(const void *buf, size_t size, size_t nmemb, FD_t fd)
DBGIO(fd, (stderr, "==> Fwrite(%p,%u,%u,%p) %s\n", buf, (unsigned)size, (unsigned)nmemb, (fd ? fd : NULL), fdbg(fd)));
if (fdGetIo(fd) == fpio) {
-/*@-boundsread@*/
- /*@+voidabstract -nullpass@*/
rc = fwrite(buf, size, nmemb, fdGetFILE(fd));
- /*@=voidabstract =nullpass@*/
-/*@=boundsread@*/
return rc;
}
- /*@-nullderef@*/
_write = FDIOVEC(fd, write);
- /*@=nullderef@*/
rc = (_write ? _write(fd, buf, size * nmemb) : -2);
return rc;
@@ -2885,16 +2610,12 @@ DBGIO(fd, (stderr, "==> Fseek(%p,%ld,%d) %s\n", fd, (long)offset, whence, fdbg(f
if (fdGetIo(fd) == fpio) {
FILE *fp;
- /*@+voidabstract -nullpass@*/
fp = fdGetFILE(fd);
rc = fseek(fp, offset, whence);
- /*@=voidabstract =nullpass@*/
return rc;
}
- /*@-nullderef@*/
_seek = FDIOVEC(fd, seek);
- /*@=nullderef@*/
rc = (_seek ? _seek(fd, pos, whence) : -2);
return rc;
@@ -2908,20 +2629,15 @@ int Fclose(FD_t fd)
DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
fd = fdLink(fd, "Fclose");
- /*@-branchstate@*/
while (fd->nfps >= 0) {
-/*@-boundsread@*/
FDSTACK_t * fps = &fd->fps[fd->nfps];
-/*@=boundsread@*/
if (fps->io == fpio) {
FILE *fp;
int fpno;
- /*@+voidabstract -nullpass@*/
fp = fdGetFILE(fd);
fpno = fileno(fp);
- /*@=voidabstract =nullpass@*/
/* XXX persistent HTTP/1.1 returns the previously opened fp */
if (fd->nfps > 0 && fpno == -1 &&
fd->fps[fd->nfps-1].io == ufdio &&
@@ -2933,10 +2649,7 @@ DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
if (fp)
rc = fflush(fp);
fd->nfps--;
- /*@-refcounttrans@*/
rc = ufdClose(fd);
- /*@=refcounttrans@*/
-/*@-usereleased@*/
if (fdGetFdno(fd) >= 0)
break;
if (!fd->persist)
@@ -2947,17 +2660,11 @@ DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
/* HACK: flimsy Keepalive wiring. */
if (hadreqpersist) {
fd->nfps--;
-/*@-exposetrans@*/
fdSetFp(fd, fp);
-/*@=exposetrans@*/
-/*@-refcounttrans@*/
(void) fdClose(fd);
-/*@=refcounttrans@*/
fdSetFp(fd, NULL);
fd->nfps++;
-/*@-refcounttrans@*/
(void) fdClose(fd);
-/*@=refcounttrans@*/
} else
rc = fclose(fp);
}
@@ -2973,9 +2680,7 @@ DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
}
}
} else {
- /*@-nullderef@*/
fdio_close_function_t _close = FDIOVEC(fd, close);
- /*@=nullderef@*/
rc = _close(fd);
}
if (fd->nfps == 0)
@@ -2984,10 +2689,8 @@ DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
ec = rc;
fdPop(fd);
}
- /*@=branchstate@*/
fd = fdFree(fd, "Fclose");
return ec;
-/*@=usereleased@*/
}
/**
@@ -3001,12 +2704,10 @@ DBGIO(fd, (stderr, "==> Fclose(%p) %s\n", (fd ? fd : NULL), fdbg(fd)));
* - bzopen: 's' is smallmode
* - HACK: '.' terminates, rest is type of I/O
*/
-/*@-boundswrite@*/
static inline void cvtfmode (const char *m,
- /*@out@*/ char *stdio, size_t nstdio,
- /*@out@*/ char *other, size_t nother,
- /*@out@*/ const char **end, /*@out@*/ int * f)
- /*@modifies *stdio, *other, *end, *f @*/
+ char *stdio, size_t nstdio,
+ char *other, size_t nother,
+ const char **end, int * f)
{
int flags = 0;
char c;
@@ -3027,33 +2728,33 @@ static inline void cvtfmode (const char *m,
default:
*stdio = '\0';
return;
- /*@notreached@*/ break;
+ break;
}
m++;
while ((c = *m++) != '\0') {
switch (c) {
case '.':
- /*@switchbreak@*/ break;
+ break;
case '+':
flags &= ~(O_RDONLY|O_WRONLY);
flags |= O_RDWR;
if (--nstdio > 0) *stdio++ = c;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case 'b':
if (--nstdio > 0) *stdio++ = c;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case 'x':
flags |= O_EXCL;
if (--nstdio > 0) *stdio++ = c;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
default:
if (--nother > 0) *other++ = c;
continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
}
break;
}
@@ -3064,7 +2765,6 @@ static inline void cvtfmode (const char *m,
if (f != NULL)
*f = flags;
}
-/*@=boundswrite@*/
#if _USE_LIBIO
#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0
@@ -3073,7 +2773,6 @@ typedef _IO_cookie_io_functions_t cookie_io_functions_t;
#endif
#endif
-/*@-boundswrite@*/
FD_t Fdopen(FD_t ofd, const char *fmode)
{
char stdio[20], other[20], zstdio[20];
@@ -3096,23 +2795,18 @@ fprintf(stderr, "*** Fdopen(%p,%s) %s\n", fd, fmode, fdbg(fd));
strncat(zstdio, other, sizeof(zstdio) - strlen(zstdio));
if (end == NULL && other[0] == '\0')
- /*@-refcounttrans -retalias@*/ return fd; /*@=refcounttrans =retalias@*/
+ return fd;
- /*@-branchstate@*/
if (end && *end) {
if (!strcmp(end, "fdio")) {
iof = fdio;
} else if (!strcmp(end, "gzdio")) {
iof = gzdio;
- /*@-internalglobs@*/
fd = gzdFdopen(fd, zstdio);
- /*@=internalglobs@*/
#if HAVE_BZLIB_H
} else if (!strcmp(end, "bzdio")) {
iof = bzdio;
- /*@-internalglobs@*/
fd = bzdFdopen(fd, zstdio);
- /*@=internalglobs@*/
#endif
} else if (!strcmp(end, "ufdio")) {
iof = ufdio;
@@ -3121,18 +2815,14 @@ fprintf(stderr, "*** Fdopen(%p,%s) %s\n", fd, fmode, fdbg(fd));
if (noLibio) {
int fdno = Fileno(fd);
FILE * fp = fdopen(fdno, stdio);
-/*@+voidabstract -nullpass@*/
if (_rpmio_debug)
fprintf(stderr, "*** Fdopen fpio fp %p\n", (void *)fp);
-/*@=voidabstract =nullpass@*/
if (fp == NULL)
return NULL;
/* XXX gzdio/bzdio use fp for private data */
- /*@+voidabstract@*/
if (fdGetFp(fd) == NULL)
fdSetFp(fd, fp);
fdPush(fd, fpio, fp, fdno); /* Push fpio onto stack */
- /*@=voidabstract@*/
}
}
} else if (other[0] != '\0') {
@@ -3140,14 +2830,11 @@ fprintf(stderr, "*** Fdopen fpio fp %p\n", (void *)fp);
{};
if (*end == '\0') {
iof = gzdio;
- /*@-internalglobs@*/
fd = gzdFdopen(fd, zstdio);
- /*@=internalglobs@*/
}
}
- /*@=branchstate@*/
if (iof == NULL)
- /*@-refcounttrans -retalias@*/ return fd; /*@=refcounttrans =retalias@*/
+ return fd;
if (!noLibio) {
FILE * fp = NULL;
@@ -3163,23 +2850,18 @@ DBGIO(fd, (stderr, "==> fopencookie(%p,\"%s\",*%p) returns fp %p\n", fd, stdio,
}
#endif
- /*@-branchstate@*/
if (fp) {
/* XXX gzdio/bzdio use fp for private data */
- /*@+voidabstract -nullpass@*/
if (fdGetFp(fd) == NULL)
fdSetFp(fd, fp);
fdPush(fd, fpio, fp, fileno(fp)); /* Push fpio onto stack */
- /*@=voidabstract =nullpass@*/
fd = fdLink(fd, "fopencookie");
}
- /*@=branchstate@*/
}
DBGIO(fd, (stderr, "==> Fdopen(%p,\"%s\") returns fd %p %s\n", ofd, fmode, (fd ? fd : NULL), fdbg(fd)));
- /*@-refcounttrans -retalias@*/ return fd; /*@=refcounttrans =retalias@*/
+ return fd;
}
-/*@=boundswrite@*/
FD_t Fopen(const char *path, const char *fmode)
{
@@ -3197,7 +2879,6 @@ FD_t Fopen(const char *path, const char *fmode)
if (stdio[0] == '\0')
return NULL;
- /*@-branchstate@*/
if (end == NULL || !strcmp(end, "fdio")) {
if (_rpmio_debug)
fprintf(stderr, "*** Fopen fdio path %s fmode %s\n", path, fmode);
@@ -3218,7 +2899,6 @@ fprintf(stderr, "*** Fopen fdio path %s fmode %s\n", path, fmode);
case URL_IS_HTTP:
case URL_IS_HKP:
isHTTP = 1;
- /*@fallthrough@*/
case URL_IS_PATH:
case URL_IS_DASH:
case URL_IS_FTP:
@@ -3233,24 +2913,19 @@ fprintf(stderr, "*** Fopen ufdio path %s fmode %s\n", path, fmode);
if (_rpmio_debug)
fprintf(stderr, "*** Fopen WTFO path %s fmode %s\n", path, fmode);
return NULL;
- /*@notreached@*/ break;
+ break;
}
/* XXX persistent HTTP/1.1 returns the previously opened fp */
if (isHTTP && ((fp = fdGetFp(fd)) != NULL) && ((fdno = fdGetFdno(fd)) >= 0 || fd->req != NULL))
{
- /*@+voidabstract@*/
fdPush(fd, fpio, fp, fileno(fp)); /* Push fpio onto stack */
- /*@=voidabstract@*/
return fd;
}
}
- /*@=branchstate@*/
- /*@-branchstate@*/
if (fd)
fd = Fdopen(fd, fmode);
- /*@=branchstate@*/
return fd;
}
@@ -3259,9 +2934,7 @@ int Fflush(FD_t fd)
void * vh;
if (fd == NULL) return -1;
if (fdGetIo(fd) == fpio)
- /*@+voidabstract -nullpass@*/
return fflush(fdGetFILE(fd));
- /*@=voidabstract =nullpass@*/
vh = fdGetFp(fd);
if (vh && fdGetIo(fd) == gzdio)
@@ -3284,15 +2957,11 @@ int Ferror(FD_t fd)
rc = (fd->syserrno || fd->errcookie != NULL) ? -1 : 0;
} else
for (i = fd->nfps; rc == 0 && i >= 0; i--) {
-/*@-boundsread@*/
FDSTACK_t * fps = &fd->fps[i];
-/*@=boundsread@*/
int ec;
if (fps->io == fpio) {
- /*@+voidabstract -nullpass@*/
ec = ferror(fdGetFILE(fd));
- /*@=voidabstract =nullpass@*/
} else if (fps->io == gzdio) {
ec = (fd->syserrno || fd->errcookie != NULL) ? -1 : 0;
i--; /* XXX fdio under gzdio always has fdno == -1 */
@@ -3322,9 +2991,7 @@ int Fileno(FD_t fd)
rc = 123456789; /* HACK: https has no steenkin fileno. */
else
for (i = fd->nfps ; rc == -1 && i >= 0; i--) {
-/*@-boundsread@*/
rc = fd->fps[i].fdno;
-/*@=boundsread@*/
}
DBGIO(fd, (stderr, "==> Fileno(%p) rc %d %s\n", (fd ? fd : NULL), rc, fdbg(fd)));
@@ -3340,7 +3007,6 @@ int Fcntl(FD_t fd, int op, void *lip)
/* =============================================================== */
/* Helper routines that may be generally useful.
*/
-/*@-bounds@*/
int rpmioMkpath(const char * path, mode_t mode, uid_t uid, gid_t gid)
{
char * d, * de;
@@ -3365,9 +3031,9 @@ int rpmioMkpath(const char * path, mode_t mode, uid_t uid, gid_t gid)
switch(errno) {
default:
return errno;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
case ENOENT:
- /*@switchbreak@*/ break;
+ break;
}
rc = Mkdir(d, mode);
if (rc)
@@ -3389,9 +3055,7 @@ int rpmioMkpath(const char * path, mode_t mode, uid_t uid, gid_t gid)
path, mode);
return rc;
}
-/*@=bounds@*/
-/*@-boundswrite@*/
int rpmioSlurp(const char * fn, byte ** bp, ssize_t * blenp)
{
static ssize_t blenmax = (32 * BUFSIZ);
@@ -3409,7 +3073,6 @@ int rpmioSlurp(const char * fn, byte ** bp, ssize_t * blenp)
size = fdSize(fd);
blen = (size >= 0 ? size : blenmax);
- /*@-branchstate@*/
if (blen) {
int nb;
b = xmalloc(blen+1);
@@ -3425,7 +3088,6 @@ int rpmioSlurp(const char * fn, byte ** bp, ssize_t * blenp)
}
b[blen] = '\0';
}
- /*@=branchstate@*/
exit:
if (fd) (void) Fclose(fd);
@@ -3443,12 +3105,10 @@ exit:
return rc;
}
-/*@=boundswrite@*/
-/*@-type@*/ /* LCL: function typedefs */
+/* LCL: function typedefs */
static struct FDIO_s fpio_s = {
ufdRead, ufdWrite, fdSeek, ufdClose, XfdLink, XfdFree, XfdNew, fdFileno,
ufdOpen, NULL, fdGetFp, NULL, Mkdir, Chdir, Rmdir, Rename, Unlink
};
-/*@=type@*/
-FDIO_t fpio = /*@-compmempass@*/ &fpio_s /*@=compmempass@*/ ;
+FDIO_t fpio = &fpio_s ;
diff --git a/rpmio/rpmio.h b/rpmio/rpmio.h
index 50366786e..cb0c40f6e 100644
--- a/rpmio/rpmio.h
+++ b/rpmio/rpmio.h
@@ -9,20 +9,18 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
-/*@-noparams@*/
#include "glob.h"
-/*@=noparams@*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
/**
*/
-typedef /*@abstract@*/ struct pgpDig_s * pgpDig;
+typedef struct pgpDig_s * pgpDig;
/**
*/
-typedef /*@abstract@*/ struct pgpDigParams_s * pgpDigParams;
+typedef struct pgpDigParams_s * pgpDigParams;
/** \ingroup rpmio
* Hide libio API lossage.
@@ -30,7 +28,6 @@ typedef /*@abstract@*/ struct pgpDigParams_s * pgpDigParams;
* argument as a pointer rather than as an off_t. The snarl below defines
* typedefs to isolate the lossage.
*/
-/*@{*/
#if defined(__GLIBC__) && \
(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))
#define USE_COOKIE_SEEK_POINTER 1
@@ -40,15 +37,14 @@ typedef _libio_off_t * _libio_pos_t;
typedef off_t _libio_off_t;
typedef off_t _libio_pos_t;
#endif
-/*@}*/
/** \ingroup rpmio
*/
-typedef /*@abstract@*/ /*@refcounted@*/ struct _FD_s * FD_t;
+typedef struct _FD_s * FD_t;
/** \ingroup rpmio
*/
-typedef /*@observer@*/ struct FDIO_s * FDIO_t;
+typedef struct FDIO_s * FDIO_t;
#ifdef __cplusplus
extern "C" {
@@ -57,146 +53,98 @@ extern "C" {
/** \ingroup rpmio
* \name RPMIO Vectors.
*/
-/*@{*/
/**
*/
-typedef ssize_t (*fdio_read_function_t) (void *cookie, char *buf, size_t nbytes)
- /*@globals errno, fileSystem @*/
- /*@modifies *cookie, errno, fileSystem @*/
- /*@requires maxSet(buf) >= (nbytes - 1) @*/
- /*@ensures maxRead(buf) == result @*/ ;
+typedef ssize_t (*fdio_read_function_t) (void *cookie, char *buf, size_t nbytes);
/**
*/
-typedef ssize_t (*fdio_write_function_t) (void *cookie, const char *buf, size_t nbytes)
- /*@globals errno, fileSystem @*/
- /*@modifies *cookie, errno, fileSystem @*/;
+typedef ssize_t (*fdio_write_function_t) (void *cookie, const char *buf, size_t nbytes);
/**
*/
-typedef int (*fdio_seek_function_t) (void *cookie, _libio_pos_t pos, int whence)
- /*@globals errno, fileSystem @*/
- /*@modifies *cookie, errno, fileSystem @*/;
+typedef int (*fdio_seek_function_t) (void *cookie, _libio_pos_t pos, int whence);
/**
*/
-typedef int (*fdio_close_function_t) (void *cookie)
- /*@globals errno, fileSystem, systemState @*/
- /*@modifies *cookie, errno, fileSystem, systemState @*/;
+typedef int (*fdio_close_function_t) (void *cookie);
/**
*/
-typedef /*@only@*/ /*@null@*/ FD_t (*fdio_ref_function_t) ( /*@only@*/ void * cookie,
- const char * msg, const char * file, unsigned line)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+typedef FD_t (*fdio_ref_function_t) ( void * cookie,
+ const char * msg, const char * file, unsigned line);
/**
*/
-typedef /*@only@*/ /*@null@*/ FD_t (*fdio_deref_function_t) ( /*@only@*/ FD_t fd,
- const char * msg, const char * file, unsigned line)
- /*@globals fileSystem @*/
- /*@modifies fd, fileSystem @*/;
+typedef FD_t (*fdio_deref_function_t) ( FD_t fd,
+ const char * msg, const char * file, unsigned line);
/**
*/
-typedef /*@only@*/ /*@null@*/ FD_t (*fdio_new_function_t) (const char * msg,
- const char * file, unsigned line)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+typedef FD_t (*fdio_new_function_t) (const char * msg,
+ const char * file, unsigned line);
/**
*/
-typedef int (*fdio_fileno_function_t) (void * cookie)
- /*@globals fileSystem @*/
- /*@modifies *cookie, fileSystem @*/;
+typedef int (*fdio_fileno_function_t) (void * cookie);
/**
*/
-typedef FD_t (*fdio_open_function_t) (const char * path, int flags, mode_t mode)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+typedef FD_t (*fdio_open_function_t) (const char * path, int flags, mode_t mode);
/**
*/
-typedef FD_t (*fdio_fopen_function_t) (const char * path, const char * fmode)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+typedef FD_t (*fdio_fopen_function_t) (const char * path, const char * fmode);
/**
*/
-typedef void * (*fdio_ffileno_function_t) (FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+typedef void * (*fdio_ffileno_function_t) (FD_t fd);
/**
*/
-typedef int (*fdio_fflush_function_t) (FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
-/*@}*/
+typedef int (*fdio_fflush_function_t) (FD_t fd);
/** \ingroup rpmrpc
* \name RPMRPC Vectors.
*/
-/*@{*/
/**
*/
-typedef int (*fdio_mkdir_function_t) (const char * path, mode_t mode)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+typedef int (*fdio_mkdir_function_t) (const char * path, mode_t mode);
/**
*/
-typedef int (*fdio_chdir_function_t) (const char * path)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+typedef int (*fdio_chdir_function_t) (const char * path);
/**
*/
-typedef int (*fdio_rmdir_function_t) (const char * path)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+typedef int (*fdio_rmdir_function_t) (const char * path);
/**
*/
-typedef int (*fdio_rename_function_t) (const char * oldpath, const char * newpath)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+typedef int (*fdio_rename_function_t) (const char * oldpath, const char * newpath);
/**
*/
-typedef int (*fdio_unlink_function_t) (const char * path)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
-/*@-typeuse@*/
+typedef int (*fdio_unlink_function_t) (const char * path);
/**
*/
-typedef int (*fdio_stat_function_t) (const char * path, /*@out@*/ struct stat * st)
- /*@globals errno, fileSystem @*/
- /*@modifies *st, errno, fileSystem @*/;
+typedef int (*fdio_stat_function_t) (const char * path, struct stat * st);
/**
*/
-typedef int (*fdio_lstat_function_t) (const char * path, /*@out@*/ struct stat * st)
- /*@globals errno, fileSystem @*/
- /*@modifies *st, errno, fileSystem @*/;
+typedef int (*fdio_lstat_function_t) (const char * path, struct stat * st);
/**
*/
-typedef int (*fdio_access_function_t) (const char * path, int amode)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
-/*@=typeuse@*/
-/*@}*/
+typedef int (*fdio_access_function_t) (const char * path, int amode);
/** \ingroup rpmio
@@ -228,331 +176,225 @@ struct FDIO_s {
/** \ingroup rpmio
* \name RPMIO Interface.
*/
-/*@{*/
/**
* strerror(3) clone.
*/
-/*@observer@*/ const char * Fstrerror(/*@null@*/ FD_t fd)
- /*@*/;
+const char * Fstrerror(FD_t fd);
/**
* fread(3) clone.
*/
-/*@-incondefs@*/
-ssize_t Fread(/*@out@*/ void * buf, size_t size, size_t nmemb, FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fd, *buf, fileSystem @*/
- /*@requires maxSet(buf) >= (nmemb - 1) @*/
- /*@ensures maxRead(buf) == result @*/;
-/*@=incondefs@*/
+ssize_t Fread(void * buf, size_t size, size_t nmemb, FD_t fd);
/**
* fwrite(3) clone.
*/
-/*@-incondefs@*/
-ssize_t Fwrite(const void * buf, size_t size, size_t nmemb, FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fd, fileSystem @*/
- /*@requires maxRead(buf) >= nmemb @*/;
-/*@=incondefs@*/
+ssize_t Fwrite(const void * buf, size_t size, size_t nmemb, FD_t fd);
/**
* fseek(3) clone.
*/
-int Fseek(FD_t fd, _libio_off_t offset, int whence)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+int Fseek(FD_t fd, _libio_off_t offset, int whence);
/**
* fclose(3) clone.
*/
-int Fclose( /*@killref@*/ FD_t fd)
- /*@globals fileSystem, internalState @*/
- /*@modifies fd, fileSystem, internalState @*/;
+int Fclose( FD_t fd);
/**
*/
-/*@null@*/ FD_t Fdopen(FD_t ofd, const char * fmode)
- /*@globals fileSystem @*/
- /*@modifies ofd, fileSystem @*/;
+FD_t Fdopen(FD_t ofd, const char * fmode);
/**
* fopen(3) clone.
*/
-/*@null@*/ FD_t Fopen(/*@null@*/ const char * path,
- /*@null@*/ const char * fmode)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+FD_t Fopen(const char * path,
+ const char * fmode);
/**
* fflush(3) clone.
*/
-int Fflush(/*@null@*/ FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fd, fileSystem @*/;
+int Fflush(FD_t fd);
/**
* ferror(3) clone.
*/
-int Ferror(/*@null@*/ FD_t fd)
- /*@*/;
+int Ferror(FD_t fd);
/**
* fileno(3) clone.
*/
-int Fileno(FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fileSystem@*/;
+int Fileno(FD_t fd);
/**
* fcntl(2) clone.
*/
-/*@unused@*/
-int Fcntl(FD_t fd, int op, void *lip)
- /*@globals errno, fileSystem @*/
- /*@modifies fd, *lip, errno, fileSystem @*/;
+int Fcntl(FD_t fd, int op, void *lip);
-/*@}*/
/** \ingroup rpmrpc
* \name RPMRPC Interface.
*/
-/*@{*/
/**
* mkdir(2) clone.
*/
-int Mkdir(const char * path, mode_t mode)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Mkdir(const char * path, mode_t mode);
/**
* chdir(2) clone.
*/
-int Chdir(const char * path)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Chdir(const char * path);
/**
* rmdir(2) clone.
*/
-int Rmdir(const char * path)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Rmdir(const char * path);
/**
* rename(2) clone.
*/
-int Rename(const char * oldpath, const char * newpath)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Rename(const char * oldpath, const char * newpath);
/**
* link(2) clone.
*/
-int Link(const char * oldpath, const char * newpath)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Link(const char * oldpath, const char * newpath);
/**
* unlink(2) clone.
*/
-int Unlink(const char * path)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+int Unlink(const char * path);
/**
* readlink(2) clone.
*/
-/*@-incondefs@*/
-int Readlink(const char * path, /*@out@*/ char * buf, size_t bufsiz)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies *buf, errno, fileSystem, internalState @*/
- /*@requires maxSet(buf) >= (bufsiz - 1) @*/
- /*@ensures maxRead(buf) <= bufsiz @*/;
-/*@=incondefs@*/
+int Readlink(const char * path, char * buf, size_t bufsiz);
/**
* stat(2) clone.
*/
-int Stat(const char * path, /*@out@*/ struct stat * st)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies *st, errno, fileSystem, internalState @*/;
+int Stat(const char * path, struct stat * st);
/**
* lstat(2) clone.
*/
-int Lstat(const char * path, /*@out@*/ struct stat * st)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies *st, errno, fileSystem, internalState @*/;
+int Lstat(const char * path, struct stat * st);
/**
* access(2) clone.
*/
-int Access(const char * path, int amode)
- /*@globals errno, fileSystem @*/
- /*@modifies errno, fileSystem @*/;
+int Access(const char * path, int amode);
/**
* glob_pattern_p(3) clone.
*/
-int Glob_pattern_p (const char *pattern, int quote)
- /*@*/;
+int Glob_pattern_p (const char *pattern, int quote);
/**
* glob_error(3) clone.
*/
-int Glob_error(const char * epath, int eerrno)
- /*@*/;
+int Glob_error(const char * epath, int eerrno);
/**
* glob(3) clone.
*/
int Glob(const char * pattern, int flags,
int errfunc(const char * epath, int eerrno),
- /*@out@*/ glob_t * pglob)
- /*@globals fileSystem @*/
- /*@modifies *pglob, fileSystem @*/;
+ glob_t * pglob);
/**
* globfree(3) clone.
*/
-void Globfree( /*@only@*/ glob_t * pglob)
- /*@globals fileSystem @*/
- /*@modifies *pglob, fileSystem @*/;
+void Globfree( glob_t * pglob);
/**
* opendir(3) clone.
*/
-/*@null@*/
-DIR * Opendir(const char * path)
- /*@globals errno, h_errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+DIR * Opendir(const char * path);
/**
* readdir(3) clone.
*/
-/*@dependent@*/ /*@null@*/
-struct dirent * Readdir(DIR * dir)
- /*@globals errno, fileSystem @*/
- /*@modifies *dir, errno, fileSystem @*/;
+struct dirent * Readdir(DIR * dir);
/**
* closedir(3) clone.
*/
-int Closedir(/*@only@*/ DIR * dir)
- /*@globals errno, fileSystem @*/
- /*@modifies *dir, errno, fileSystem @*/;
+int Closedir(DIR * dir);
-/*@}*/
/** \ingroup rpmio
* \name RPMIO Utilities.
*/
-/*@{*/
/**
*/
-off_t fdSize(FD_t fd)
- /*@globals fileSystem @*/
- /*@modifies fd, fileSystem@*/;
+off_t fdSize(FD_t fd);
/**
*/
-/*@null@*/ FD_t fdDup(int fdno)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+FD_t fdDup(int fdno);
#ifdef UNUSED
-/*@null@*/ FILE *fdFdopen( /*@only@*/ void * cookie, const char * mode);
+FILE *fdFdopen( void * cookie, const char * mode);
#endif
/* XXX Legacy interfaces needed by gnorpm, rpmfind et al */
-/*@-exportlocal@*/
/**
*/
#ifndef H_RPMIO_INTERNAL /* XXX avoid gcc warning */
-/*@unused@*/ int fdFileno(void * cookie)
- /*@*/;
+int fdFileno(void * cookie);
#define fdFileno(_fd) fdio->_fileno(_fd)
#endif
/**
*/
-/*@null@*/ FD_t fdOpen(const char *path, int flags, mode_t mode)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies errno, fileSystem, internalState @*/;
+FD_t fdOpen(const char *path, int flags, mode_t mode);
#define fdOpen(_path, _flags, _mode) fdio->_open((_path), (_flags), (_mode))
/**
*/
-/*@-incondefs@*/
-ssize_t fdRead(void * cookie, /*@out@*/ char * buf, size_t count)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies *cookie, *buf, errno, fileSystem, internalState @*/
- /*@requires maxSet(buf) >= (count - 1) @*/
- /*@ensures maxRead(buf) == result @*/ ;
+ssize_t fdRead(void * cookie, char * buf, size_t count);
#define fdRead(_fd, _buf, _count) fdio->read((_fd), (_buf), (_count))
-/*@=incondefs@*/
/**
*/
-ssize_t fdWrite(void * cookie, const char * buf, size_t count)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies *cookie, errno, fileSystem, internalState @*/;
+ssize_t fdWrite(void * cookie, const char * buf, size_t count);
#define fdWrite(_fd, _buf, _count) fdio->write((_fd), (_buf), (_count))
/**
*/
-int fdClose( /*@only@*/ void * cookie)
- /*@globals errno, fileSystem, systemState, internalState @*/
- /*@modifies *cookie, errno, fileSystem, systemState, internalState @*/;
+int fdClose( void * cookie);
#define fdClose(_fd) fdio->close(_fd)
/**
*/
-/*@unused@*/
-/*@only@*/ /*@null@*/
-FD_t fdLink (/*@only@*/ void * cookie, const char * msg)
- /*@globals fileSystem @*/
- /*@modifies *cookie, fileSystem @*/;
+FD_t fdLink (void * cookie, const char * msg);
#define fdLink(_fd, _msg) fdio->_fdref(_fd, _msg, __FILE__, __LINE__)
/**
*/
-/*@unused@*/
-/*@only@*/ /*@null@*/
-FD_t fdFree(/*@only@*/ FD_t fd, const char * msg)
- /*@globals fileSystem @*/
- /*@modifies fd, fileSystem @*/;
+FD_t fdFree(FD_t fd, const char * msg);
#define fdFree(_fd, _msg) fdio->_fdderef(_fd, _msg, __FILE__, __LINE__)
/**
*/
-/*@unused@*/
-/*@only@*/ /*@null@*/
-FD_t fdNew (const char * msg)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+FD_t fdNew (const char * msg);
#define fdNew(_msg) fdio->_fdnew(_msg, __FILE__, __LINE__)
/**
*/
-int fdWritable(FD_t fd, int secs)
- /*@globals errno, fileSystem @*/
- /*@modifies fd, errno, fileSystem @*/;
+int fdWritable(FD_t fd, int secs);
/**
*/
-int fdReadable(FD_t fd, int secs)
- /*@globals errno @*/
- /*@modifies fd, errno @*/;
-/*@=exportlocal@*/
+int fdReadable(FD_t fd, int secs);
/**
* Insure that directories in path exist, creating as needed.
@@ -562,14 +404,11 @@ int fdReadable(FD_t fd, int secs)
* @param gid directory uid (if created), or -1 to skip
* @return 0 on success, errno (or -1) on error
*/
-int rpmioMkpath(const char * path, mode_t mode, uid_t uid, gid_t gid)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int rpmioMkpath(const char * path, mode_t mode, uid_t uid, gid_t gid);
/**
* FTP and HTTP error codes.
*/
-/*@-typeuse@*/
typedef enum ftperrCode_e {
FTPERR_NE_ERROR = -1, /*!< Generic error. */
FTPERR_NE_LOOKUP = -2, /*!< Hostname lookup failed. */
@@ -594,116 +433,94 @@ typedef enum ftperrCode_e {
FTPERR_NIC_ABORT_IN_PROGRESS= -91, /*!< Abort in progress */
FTPERR_UNKNOWN = -100 /*!< Unknown or unexpected error */
} ftperrCode;
-/*@=typeuse@*/
/**
*/
-/*@-redecl@*/
-/*@observer@*/ const char * ftpStrerror(int errorNumber)
- /*@*/;
-/*@=redecl@*/
+const char * ftpStrerror(int errorNumber);
/**
*/
-/*@unused@*/
-/*@dependent@*/ /*@null@*/ void * ufdGetUrlinfo(FD_t fd)
- /*@modifies fd @*/;
+void * ufdGetUrlinfo(FD_t fd);
/**
*/
-/*@-redecl@*/
-/*@unused@*/
-/*@observer@*/ const char * urlStrerror(const char * url)
- /*@globals h_errno, internalState @*/
- /*@modifies internalState @*/;
-/*@=redecl@*/
+const char * urlStrerror(const char * url);
/**
*/
-/*@-exportlocal@*/
-int ufdCopy(FD_t sfd, FD_t tfd)
- /*@globals fileSystem @*/
- /*@modifies sfd, tfd, fileSystem @*/;
-/*@=exportlocal@*/
+int ufdCopy(FD_t sfd, FD_t tfd);
/**
*/
-int ufdGetFile( /*@killref@*/ FD_t sfd, FD_t tfd)
- /*@globals fileSystem, internalState @*/
- /*@modifies sfd, tfd, fileSystem, internalState @*/;
+int ufdGetFile( FD_t sfd, FD_t tfd);
/**
*/
-/*@unused@*/ int timedRead(FD_t fd, /*@out@*/ void * bufptr, int length)
- /*@globals fileSystem @*/
- /*@modifies fd, *bufptr, fileSystem @*/;
+int timedRead(FD_t fd, void * bufptr, int length);
#define timedRead (ufdio->read)
-/*@-exportlocal@*/
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t fdio;
+extern FDIO_t fdio;
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t fpio;
+extern FDIO_t fpio;
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t ufdio;
+extern FDIO_t ufdio;
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t gzdio;
+extern FDIO_t gzdio;
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t bzdio;
+extern FDIO_t bzdio;
/**
*/
-/*@observer@*/ /*@unchecked@*/ extern FDIO_t fadio;
-/*@=exportlocal@*/
-/*@}*/
+extern FDIO_t fadio;
-/*@unused@*/ static inline int xislower(int c) /*@*/ {
+static inline int xislower(int c) {
return (c >= 'a' && c <= 'z');
}
-/*@unused@*/ static inline int xisupper(int c) /*@*/ {
+static inline int xisupper(int c) {
return (c >= 'A' && c <= 'Z');
}
-/*@unused@*/ static inline int xisalpha(int c) /*@*/ {
+static inline int xisalpha(int c) {
return (xislower(c) || xisupper(c));
}
-/*@unused@*/ static inline int xisdigit(int c) /*@*/ {
+static inline int xisdigit(int c) {
return (c >= '0' && c <= '9');
}
-/*@unused@*/ static inline int xisalnum(int c) /*@*/ {
+static inline int xisalnum(int c) {
return (xisalpha(c) || xisdigit(c));
}
-/*@unused@*/ static inline int xisblank(int c) /*@*/ {
+static inline int xisblank(int c) {
return (c == ' ' || c == '\t');
}
-/*@unused@*/ static inline int xisspace(int c) /*@*/ {
+static inline int xisspace(int c) {
return (xisblank(c) || c == '\n' || c == '\r' || c == '\f' || c == '\v');
}
-/*@unused@*/ static inline int xtolower(int c) /*@*/ {
+static inline int xtolower(int c) {
return ((xisupper(c)) ? (c | ('a' - 'A')) : c);
}
-/*@unused@*/ static inline int xtoupper(int c) /*@*/ {
+static inline int xtoupper(int c) {
return ((xislower(c)) ? (c & ~('a' - 'A')) : c);
}
/** \ingroup rpmio
* Locale insensitive strcasecmp(3).
*/
-int xstrcasecmp(const char * s1, const char * s2) /*@*/;
+int xstrcasecmp(const char * s1, const char * s2) ;
/** \ingroup rpmio
* Locale insensitive strncasecmp(3).
*/
-int xstrncasecmp(const char *s1, const char * s2, size_t n) /*@*/;
+int xstrncasecmp(const char *s1, const char * s2, size_t n) ;
#ifdef __cplusplus
}
diff --git a/rpmio/rpmio_internal.h b/rpmio/rpmio_internal.h
index cc67329cf..2c4befe4d 100644
--- a/rpmio/rpmio_internal.h
+++ b/rpmio/rpmio_internal.h
@@ -38,9 +38,7 @@
* Values parsed from OpenPGP signature/pubkey packet(s).
*/
struct pgpDigParams_s {
-/*@only@*/ /*@null@*/
const char * userid;
-/*@only@*/ /*@null@*/
const byte * hash;
const char * params[4];
byte tag;
@@ -69,19 +67,13 @@ struct pgpDig_s {
size_t nbytes; /*!< No. bytes of plain text. */
-/*@only@*/ /*@null@*/
DIGEST_CTX sha1ctx; /*!< (dsa) sha1 hash context. */
-/*@only@*/ /*@null@*/
DIGEST_CTX hdrsha1ctx; /*!< (dsa) header sha1 hash context. */
-/*@only@*/ /*@null@*/
void * sha1; /*!< (dsa) V3 signature hash. */
size_t sha1len; /*!< (dsa) V3 signature hash length. */
-/*@only@*/ /*@null@*/
DIGEST_CTX md5ctx; /*!< (rsa) md5 hash context. */
-/*@only@*/ /*@null@*/
DIGEST_CTX hdrmd5ctx; /*!< (rsa) header md5 hash context. */
-/*@only@*/ /*@null@*/
void * md5; /*!< (rsa) V3 signature hash. */
size_t md5len; /*!< (rsa) V3 signature hash length. */
@@ -104,9 +96,7 @@ struct pgpDig_s {
/** \ingroup rpmio
*/
typedef struct _FDSTACK_s {
-/*@exposed@*/
FDIO_t io;
-/*@dependent@*/
void * fp;
int fdno;
} FDSTACK_t;
@@ -126,7 +116,7 @@ typedef enum fdOpX_e {
/** \ingroup rpmio
* Cumulative statistics for a descriptor.
*/
-typedef /*@abstract@*/ struct {
+typedef struct {
struct rpmop_s ops[FDSTAT_MAX]; /*!< Cumulative statistics. */
} * FDSTAT_t;
@@ -141,7 +131,6 @@ typedef struct _FDDIGEST_s {
* The FD_t File Handle data structure.
*/
struct _FD_s {
-/*@refs@*/
int nrefs;
int flags;
#define RPMIO_DEBUG_IO 0x40000000
@@ -152,9 +141,7 @@ struct _FD_s {
FDSTACK_t fps[8];
int urlType; /* ufdio: */
-/*@dependent@*/
void * url; /* ufdio: URL info */
-/*@relnull@*/
void * req; /* ufdio: HTTP request */
int rd_timeoutsecs; /* ufdRead: per FD_t timer */
@@ -164,7 +151,6 @@ struct _FD_s {
int wr_chunked; /* ufdio: */
int syserrno; /* last system errno encountered */
-/*@observer@*/
const void *errcookie; /* gzdio/bzdio/ufdio: */
FDSTAT_t stats; /* I/O statistics */
@@ -178,34 +164,20 @@ struct _FD_s {
long int fileSize; /* fadio: */
long int fd_cpioPos; /* cpio: */
};
-/*@access FD_t@*/
#define FDSANE(fd) assert(fd && fd->magic == FDMAGIC)
-/*@-redecl@*/
-/*@unchecked@*/
extern int _rpmio_debug;
-/*@=redecl@*/
-/*@-redecl@*/
-/*@unchecked@*/
extern int _av_debug;
-/*@=redecl@*/
-/*@-redecl@*/
-/*@unchecked@*/
extern int _ftp_debug;
-/*@=redecl@*/
-/*@-redecl@*/
-/*@unchecked@*/
extern int _dav_debug;
-/*@=redecl@*/
#define DBG(_f, _m, _x) \
- /*@-modfilesys@*/ \
+ \
if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x \
- /*@=modfilesys@*/
#define DBGIO(_f, _x) DBG((_f), RPMIO_DEBUG_IO, _x)
#define DBGREFS(_f, _x) DBG((_f), RPMIO_DEBUG_REFS, _x)
@@ -216,134 +188,94 @@ extern "C" {
/** \ingroup rpmio
*/
-int fdFgets(FD_t fd, char * buf, size_t len)
- /*@globals errno, fileSystem @*/
- /*@modifies *buf, fd, errno, fileSystem @*/;
+int fdFgets(FD_t fd, char * buf, size_t len);
/** \ingroup rpmio
*/
-/*@null@*/ FD_t ftpOpen(const char *url, /*@unused@*/ int flags,
- /*@unused@*/ mode_t mode, /*@out@*/ urlinfo *uret)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *uret, fileSystem, internalState @*/;
+FD_t ftpOpen(const char *url, int flags,
+ mode_t mode, urlinfo *uret);
/** \ingroup rpmio
*/
-int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg)
- /*@globals fileSystem, internalState @*/
- /*@modifies data, fileSystem, internalState @*/;
+int ftpReq(FD_t data, const char * ftpCmd, const char * ftpArg);
/** \ingroup rpmio
*/
-int ftpCmd(const char * cmd, const char * url, const char * arg2)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int ftpCmd(const char * cmd, const char * url, const char * arg2);
/** \ingroup rpmio
*/
-int ufdClose( /*@only@*/ void * cookie)
- /*@globals fileSystem, internalState @*/
- /*@modifies cookie, fileSystem, internalState @*/;
+int ufdClose( void * cookie);
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-/*@null@*/ FDIO_t fdGetIo(FD_t fd)
- /*@*/
+static inline
+FDIO_t fdGetIo(FD_t fd)
{
FDSANE(fd);
-/*@-boundsread@*/
return fd->fps[fd->nfps].io;
-/*@=boundsread@*/
}
/** \ingroup rpmio
*/
-/*@-nullstate@*/ /* FIX: io may be NULL */
-/*@unused@*/ static inline
-void fdSetIo(FD_t fd, /*@kept@*/ /*@null@*/ FDIO_t io)
- /*@modifies fd @*/
+/* FIX: io may be NULL */
+static inline
+void fdSetIo(FD_t fd, FDIO_t io)
{
FDSANE(fd);
-/*@-boundswrite@*/
- /*@-assignexpose@*/
fd->fps[fd->nfps].io = io;
- /*@=assignexpose@*/
-/*@=boundswrite@*/
}
-/*@=nullstate@*/
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-/*@exposed@*/ /*@dependent@*/ /*@null@*/ FILE * fdGetFILE(FD_t fd)
- /*@*/
+static inline
+FILE * fdGetFILE(FD_t fd)
{
FDSANE(fd);
-/*@-boundsread@*/
- /*@+voidabstract@*/
return ((FILE *)fd->fps[fd->nfps].fp);
- /*@=voidabstract@*/
-/*@=boundsread@*/
}
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-/*@exposed@*/ /*@dependent@*/ /*@null@*/ void * fdGetFp(FD_t fd)
- /*@*/
+static inline
+void * fdGetFp(FD_t fd)
{
FDSANE(fd);
-/*@-boundsread@*/
return fd->fps[fd->nfps].fp;
-/*@=boundsread@*/
}
/** \ingroup rpmio
*/
-/*@-nullstate@*/ /* FIX: fp may be NULL */
-/*@unused@*/ static inline
-void fdSetFp(FD_t fd, /*@kept@*/ /*@null@*/ void * fp)
- /*@modifies fd @*/
+/* FIX: fp may be NULL */
+static inline
+void fdSetFp(FD_t fd, void * fp)
{
FDSANE(fd);
-/*@-boundswrite@*/
- /*@-assignexpose@*/
fd->fps[fd->nfps].fp = fp;
- /*@=assignexpose@*/
-/*@=boundswrite@*/
}
-/*@=nullstate@*/
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
int fdGetFdno(FD_t fd)
- /*@*/
{
FDSANE(fd);
-/*@-boundsread@*/
return fd->fps[fd->nfps].fdno;
-/*@=boundsread@*/
}
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdSetFdno(FD_t fd, int fdno)
- /*@modifies fd @*/
{
FDSANE(fd);
-/*@-boundswrite@*/
fd->fps[fd->nfps].fdno = fdno;
-/*@=boundswrite@*/
}
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdSetContentLength(FD_t fd, ssize_t contentLength)
- /*@modifies fd @*/
{
FDSANE(fd);
fd->contentLength = fd->bytesRemain = contentLength;
@@ -351,9 +283,8 @@ void fdSetContentLength(FD_t fd, ssize_t contentLength)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdPush(FD_t fd, FDIO_t io, void * fp, int fdno)
- /*@modifies fd @*/
{
FDSANE(fd);
if (fd->nfps >= (sizeof(fd->fps)/sizeof(fd->fps[0]) - 1))
@@ -366,9 +297,8 @@ void fdPush(FD_t fd, FDIO_t io, void * fp, int fdno)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdPop(FD_t fd)
- /*@modifies fd @*/
{
FDSANE(fd);
if (fd->nfps < 0) return;
@@ -380,25 +310,20 @@ void fdPop(FD_t fd)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline /*@null@*/
-rpmop fdstat_op(/*@null@*/ FD_t fd, fdOpX opx)
- /*@*/
+static inline
+rpmop fdstat_op(FD_t fd, fdOpX opx)
{
rpmop op = NULL;
-/*@-boundsread@*/
if (fd != NULL && fd->stats != NULL && opx >= 0 && opx < FDSTAT_MAX)
op = fd->stats->ops + opx;
-/*@=boundsread@*/
return op;
}
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-void fdstat_enter(/*@null@*/ FD_t fd, int opx)
- /*@globals internalState @*/
- /*@modifies internalState @*/
+static inline
+void fdstat_enter(FD_t fd, int opx)
{
if (fd == NULL) return;
if (fd->stats != NULL)
@@ -407,10 +332,8 @@ void fdstat_enter(/*@null@*/ FD_t fd, int opx)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-void fdstat_exit(/*@null@*/ FD_t fd, int opx, ssize_t rc)
- /*@globals internalState @*/
- /*@modifies fd, internalState @*/
+static inline
+void fdstat_exit(FD_t fd, int opx, ssize_t rc)
{
if (fd == NULL) return;
if (rc == -1)
@@ -430,11 +353,8 @@ void fdstat_exit(/*@null@*/ FD_t fd, int opx, ssize_t rc)
/** \ingroup rpmio
*/
-/*@-boundsread@*/
-/*@unused@*/ static inline
-void fdstat_print(/*@null@*/ FD_t fd, const char * msg, FILE * fp)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
+static inline
+void fdstat_print(FD_t fd, const char * msg, FILE * fp)
{
static int usec_scale = (1000*1000);
int opx;
@@ -449,40 +369,35 @@ void fdstat_print(/*@null@*/ FD_t fd, const char * msg, FILE * fp)
fprintf(fp, "%8d reads, %8ld total bytes in %d.%06d secs\n",
op->count, (long)op->bytes,
(int)(op->usecs/usec_scale), (int)(op->usecs%usec_scale));
- /*@switchbreak@*/ break;
+ break;
case FDSTAT_WRITE:
if (msg) fprintf(fp, "%s:", msg);
fprintf(fp, "%8d writes, %8ld total bytes in %d.%06d secs\n",
op->count, (long)op->bytes,
(int)(op->usecs/usec_scale), (int)(op->usecs%usec_scale));
- /*@switchbreak@*/ break;
+ break;
case FDSTAT_SEEK:
- /*@switchbreak@*/ break;
+ break;
case FDSTAT_CLOSE:
- /*@switchbreak@*/ break;
+ break;
}
}
}
-/*@=boundsread@*/
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-void fdSetSyserrno(FD_t fd, int syserrno, /*@kept@*/ const void * errcookie)
- /*@modifies fd @*/
+static inline
+void fdSetSyserrno(FD_t fd, int syserrno, const void * errcookie)
{
FDSANE(fd);
fd->syserrno = syserrno;
- /*@-assignexpose@*/
fd->errcookie = errcookie;
- /*@=assignexpose@*/
}
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
int fdGetRdTimeoutSecs(FD_t fd)
- /*@*/
{
FDSANE(fd);
return fd->rd_timeoutsecs;
@@ -490,9 +405,8 @@ int fdGetRdTimeoutSecs(FD_t fd)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
long int fdGetCpioPos(FD_t fd)
- /*@*/
{
FDSANE(fd);
return fd->fd_cpioPos;
@@ -500,9 +414,8 @@ long int fdGetCpioPos(FD_t fd)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdSetCpioPos(FD_t fd, long int cpioPos)
- /*@modifies fd @*/
{
FDSANE(fd);
fd->fd_cpioPos = cpioPos;
@@ -510,24 +423,19 @@ void fdSetCpioPos(FD_t fd, long int cpioPos)
/** \ingroup rpmio
*/
-/*@mayexit@*/ /*@unused@*/ static inline
-FD_t c2f(/*@null@*/ void * cookie)
- /*@*/
+static inline
+FD_t c2f(void * cookie)
{
- /*@-castexpose@*/
FD_t fd = (FD_t) cookie;
- /*@=castexpose@*/
FDSANE(fd);
- /*@-refcounttrans -retalias@*/ return fd; /*@=refcounttrans =retalias@*/
+ return fd;
}
/** \ingroup rpmio
* Attach digest to fd.
*/
-/*@unused@*/ static inline
+static inline
void fdInitDigest(FD_t fd, pgpHashAlgo hashalgo, int flags)
- /*@globals internalState @*/
- /*@modifies fd, internalState @*/
{
FDDIGEST_t fddig = fd->digests + fd->ndigests;
if (fddig != (fd->digests + FDDIGEST_MAX)) {
@@ -542,10 +450,8 @@ void fdInitDigest(FD_t fd, pgpHashAlgo hashalgo, int flags)
/** \ingroup rpmio
* Update digest(s) attached to fd.
*/
-/*@unused@*/ static inline
+static inline
void fdUpdateDigests(FD_t fd, const unsigned char * buf, ssize_t buflen)
- /*@globals internalState @*/
- /*@modifies fd, internalState @*/
{
int i;
@@ -562,13 +468,11 @@ void fdUpdateDigests(FD_t fd, const unsigned char * buf, ssize_t buflen)
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
+static inline
void fdFiniDigest(FD_t fd, pgpHashAlgo hashalgo,
- /*@null@*/ /*@out@*/ void ** datap,
- /*@null@*/ /*@out@*/ size_t * lenp,
+ void ** datap,
+ size_t * lenp,
int asAscii)
- /*@globals internalState @*/
- /*@modifies fd, *datap, *lenp, internalState @*/
{
int imax = -1;
int i;
@@ -586,33 +490,26 @@ void fdFiniDigest(FD_t fd, pgpHashAlgo hashalgo,
fddig->hashctx = NULL;
break;
}
-/*@-boundswrite@*/
if (i < 0) {
if (datap) *datap = NULL;
if (lenp) *lenp = 0;
}
-/*@=boundswrite@*/
fd->ndigests = imax;
if (i < imax)
fd->ndigests++; /* convert index to count */
}
-/*@-shadow@*/
/** \ingroup rpmio
*/
-/*@unused@*/ static inline
-int fdFileno(/*@null@*/ void * cookie)
- /*@*/
+static inline
+int fdFileno(void * cookie)
{
FD_t fd;
if (cookie == NULL) return -2;
fd = c2f(cookie);
-/*@-boundsread@*/
return fd->fps[0].fdno;
-/*@=boundsread@*/
}
-/*@=shadow@*/
/**
* Read an entire file into a buffer.
@@ -622,9 +519,7 @@ int fdFileno(/*@null@*/ void * cookie)
* @return 0 on success
*/
int rpmioSlurp(const char * fn,
- /*@out@*/ byte ** bp, /*@out@*/ ssize_t * blenp)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *bp, *blenp, fileSystem, internalState @*/;
+ byte ** bp, ssize_t * blenp);
#ifdef __cplusplus
}
diff --git a/rpmio/rpmlog.c b/rpmio/rpmlog.c
index 2d8b0f226..0a8d9fd40 100644
--- a/rpmio/rpmlog.c
+++ b/rpmio/rpmlog.c
@@ -1,4 +1,3 @@
-/*@-boundsread@*/
/** \ingroup rpmio
* \file rpmio/rpmlog.c
*/
@@ -20,20 +19,17 @@
# endif
#endif
-/*@access rpmlogRec @*/
-/*@unchecked@*/
static int nrecs = 0;
-/*@unchecked@*/
-static /*@only@*/ /*@null@*/ rpmlogRec recs = NULL;
+static rpmlogRec recs = NULL;
/**
* Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p) /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -59,7 +55,6 @@ const char * rpmlogMessage(void)
return _("(no error)");
}
-/*@-modfilesys@*/
void rpmlogPrint(FILE *f)
{
int i;
@@ -74,11 +69,8 @@ void rpmlogPrint(FILE *f)
fprintf(f, " %s", rec->message);
}
}
-/*@=modfilesys@*/
void rpmlogClose (void)
- /*@globals recs, nrecs @*/
- /*@modifies recs, nrecs @*/
{
int i;
@@ -91,22 +83,18 @@ void rpmlogClose (void)
nrecs = 0;
}
-void rpmlogOpen (/*@unused@*/ const char *ident, /*@unused@*/ int option,
- /*@unused@*/ int facility)
+void rpmlogOpen (const char *ident, int option,
+ int facility)
{
}
-/*@unchecked@*/
static unsigned rpmlogMask = RPMLOG_UPTO( RPMLOG_NOTICE );
#ifdef NOTYET
-/*@unchecked@*/
-static /*@unused@*/ unsigned rpmlogFacility = RPMLOG_USER;
+static unsigned rpmlogFacility = RPMLOG_USER;
#endif
int rpmlogSetMask (int mask)
- /*@globals rpmlogMask @*/
- /*@modifies rpmlogMask @*/
{
int omask = rpmlogMask;
if (mask)
@@ -114,24 +102,18 @@ int rpmlogSetMask (int mask)
return omask;
}
-/*@unchecked@*/
-static /*@null@*/ rpmlogCallback _rpmlogCallback = NULL;
+static rpmlogCallback _rpmlogCallback = NULL;
rpmlogCallback rpmlogSetCallback(rpmlogCallback cb)
- /*@globals _rpmlogCallback @*/
- /*@modifies _rpmlogCallback @*/
{
rpmlogCallback ocb = _rpmlogCallback;
_rpmlogCallback = cb;
return ocb;
}
-/*@unchecked@*/ /*@null@*/
static FILE * _stdlog = NULL;
FILE * rpmlogSetFile(FILE * fp)
- /*@globals _stdlog @*/
- /*@modifies _stdlog @*/
{
FILE * ofp = _stdlog;
_stdlog = fp;
@@ -139,7 +121,6 @@ FILE * rpmlogSetFile(FILE * fp)
}
/*@-readonlytrans@*/ /* FIX: double indirection. */
-/*@observer@*/ /*@unchecked@*/
static char *rpmlogMsgPrefix[] = {
N_("fatal error: "),/*!< RPMLOG_EMERG */
N_("fatal error: "),/*!< RPMLOG_ALERT */
@@ -150,27 +131,23 @@ static char *rpmlogMsgPrefix[] = {
"", /*!< RPMLOG_INFO */
"D: ", /*!< RPMLOG_DEBUG */
};
-/*@=readonlytrans@*/
#if !defined(HAVE_VSNPRINTF)
-static inline int vsnprintf(char * buf, /*@unused@*/ int nb,
+static inline int vsnprintf(char * buf, int nb,
const char * fmt, va_list ap)
{
return vsprintf(buf, fmt, ap);
}
#endif
-/*@-modfilesys@*/
-/*@-compmempass@*/ /* FIX: rpmlogMsgPrefix[] dependent, not unqualified */
-/*@-nullstate@*/ /* FIX: rpmlogMsgPrefix[] may be NULL */
+/* FIX: rpmlogMsgPrefix[] dependent, not unqualified */
+/* FIX: rpmlogMsgPrefix[] may be NULL */
static void vrpmlog (unsigned code, const char *fmt, va_list ap)
- /*@globals nrecs, recs, internalState @*/
- /*@modifies nrecs, recs, internalState @*/
{
unsigned pri = RPMLOG_PRI(code);
unsigned mask = RPMLOG_MASK(pri);
#ifdef NOTYET
- /*@unused@*/ unsigned fac = RPMLOG_FAC(code);
+ unsigned fac = RPMLOG_FAC(code);
#endif
char *msgbuf, *msg;
int msgnb = BUFSIZ, nb;
@@ -179,14 +156,13 @@ static void vrpmlog (unsigned code, const char *fmt, va_list ap)
if ((mask & rpmlogMask) == 0)
return;
-/*@-boundswrite@*/
msgbuf = xmalloc(msgnb);
*msgbuf = '\0';
/* Allocate a sufficently large buffer for output. */
while (1) {
va_list apc;
- /*@-sysunrecog -usedef@*/ va_copy(apc, ap); /*@=sysunrecog =usedef@*/
+ va_copy(apc, ap);
nb = vsnprintf(msgbuf, msgnb, fmt, apc);
if (nb > -1 && nb < msgnb)
break;
@@ -195,15 +171,12 @@ static void vrpmlog (unsigned code, const char *fmt, va_list ap)
else /* glibc 2.0 */
msgnb *= 2;
msgbuf = xrealloc(msgbuf, msgnb);
-/*@-mods@*/
va_end(apc);
-/*@=mods@*/
}
msgbuf[msgnb - 1] = '\0';
msg = msgbuf;
/* Save copy of all messages at warning (or below == "more important"). */
- /*@-branchstate@*/
if (pri <= RPMLOG_WARNING) {
if (recs == NULL)
@@ -218,14 +191,11 @@ static void vrpmlog (unsigned code, const char *fmt, va_list ap)
++nrecs;
if (_rpmlogCallback) {
- /*@-noeffectuncon@*/ /* FIX: useless callback */
+ /* FIX: useless callback */
_rpmlogCallback();
- /*@=noeffectuncon@*/
return; /* XXX Preserve legacy rpmError behavior. */
}
}
- /*@=branchstate@*/
-/*@=boundswrite@*/
/* rpmMessage behavior */
@@ -253,17 +223,14 @@ static void vrpmlog (unsigned code, const char *fmt, va_list ap)
if (pri <= RPMLOG_CRIT)
exit(EXIT_FAILURE);
}
-/*@=compmempass =nullstate@*/
-/*@=modfilesys@*/
void rpmlog (int code, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- /*@-internalglobs@*/ /* FIX: shrug */
+ /* FIX: shrug */
vrpmlog(code, fmt, ap);
- /*@=internalglobs@*/
va_end(ap);
}
@@ -281,4 +248,3 @@ rpmlogCallback rpmErrorSetCallback(rpmlogCallback cb)
{
return rpmlogSetCallback(cb);
}
-/*@=boundsread@*/
diff --git a/rpmio/rpmlog.h b/rpmio/rpmlog.h
index d9d01a409..624a7e7f0 100644
--- a/rpmio/rpmlog.h
+++ b/rpmio/rpmlog.h
@@ -19,7 +19,6 @@
*
* priorities (these are ordered)
*/
-/*@-typeuse@*/
typedef enum rpmlogLvl_e {
RPMLOG_EMERG = 0, /*!< system is unusable */
RPMLOG_ALERT = 1, /*!< action must be taken immediately */
@@ -30,7 +29,6 @@ typedef enum rpmlogLvl_e {
RPMLOG_INFO = 6, /*!< informational */
RPMLOG_DEBUG = 7 /*!< debug-level messages */
} rpmlogLvl;
-/*@=typeuse@*/
#define RPMLOG_PRIMASK 0x07 /* mask to extract priority part (internal) */
/* extract priority */
@@ -67,7 +65,6 @@ RPMCODE rpmprioritynames[] =
/**
* facility codes
*/
-/*@-enummemuse -typeuse@*/
typedef enum rpmlogFac_e {
RPMLOG_KERN = (0<<3), /*!< kernel messages */
RPMLOG_USER = (1<<3), /*!< random user-level messages */
@@ -95,7 +92,6 @@ typedef enum rpmlogFac_e {
#define RPMLOG_NFACILITIES 24 /*!< current number of facilities */
RPMLOG_ERRMSG = (((unsigned)(RPMLOG_NFACILITIES+0))<<3)
} rpmlogFac;
-/*@=enummemuse =typeuse@*/
#define RPMLOG_FACMASK 0x03f8 /*!< mask to extract facility part */
#define RPMLOG_FAC(p) (((p) & RPMLOG_FACMASK) >> 3)
@@ -156,9 +152,8 @@ typedef void (*rpmlogCallback) (void);
/**
*/
-typedef /*@abstract@*/ struct rpmlogRec_s {
+typedef struct rpmlogRec_s {
int code;
-/*@owned@*/ /*@null@*/
const char * message;
} * rpmlogRec;
@@ -170,57 +165,43 @@ extern "C" {
* Return number of rpmError() ressages.
* @return number of messages
*/
-int rpmlogGetNrecs(void) /*@*/;
+int rpmlogGetNrecs(void) ;
/**
* Print all rpmError() messages.
* @param f file handle (NULL uses stderr)
*/
-void rpmlogPrint(/*@null@*/ FILE *f)
- /*@modifies *f @*/;
+void rpmlogPrint(FILE *f);
/**
* Close desriptor used to write to system logger.
* @todo Implement.
*/
-/*@unused@*/
-void rpmlogClose (void)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
+void rpmlogClose (void);
/**
* Open connection to system logger.
* @todo Implement.
*/
-/*@unused@*/
-void rpmlogOpen (const char * ident, int option, int facility)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
+void rpmlogOpen (const char * ident, int option, int facility);
/**
* Set the log mask level.
* @param mask log mask (0 is no operation)
* @return previous log mask
*/
-int rpmlogSetMask (int mask)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
+int rpmlogSetMask (int mask);
/**
* Generate a log message using FMT string and option arguments.
*/
-/*@mayexit@*/ /*@printflike@*/ void rpmlog (int code, const char *fmt, ...)
- /*@*/;
+void rpmlog (int code, const char *fmt, ...);
-/*@-exportlocal@*/
/**
* Return text of last rpmError() message.
* @return text of last message
*/
-/*@-redecl@*/
-/*@observer@*/ /*@null@*/ const char * rpmlogMessage(void)
- /*@*/;
-/*@=redecl@*/
+const char * rpmlogMessage(void);
/**
* Return error code from last rpmError() message.
@@ -229,53 +210,41 @@ int rpmlogSetMask (int mask)
* and parsed IMHO.
* @return code from last message
*/
-int rpmlogCode(void)
- /*@*/;
+int rpmlogCode(void);
/**
* Set rpmlog callback function.
* @param cb rpmlog callback function
* @return previous rpmlog callback function
*/
-rpmlogCallback rpmlogSetCallback(rpmlogCallback cb)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
+rpmlogCallback rpmlogSetCallback(rpmlogCallback cb);
/**
* Set rpmlog file handle.
* @param fp rpmlog file handle (NULL uses stdout/stderr)
* @return previous rpmlog file handle
*/
-/*@null@*/
-FILE * rpmlogSetFile(/*@null@*/ FILE * fp)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
-/*@=exportlocal@*/
+FILE * rpmlogSetFile(FILE * fp);
/**
* Set rpmlog callback function.
* @deprecated gnorpm needs, use rpmlogSetCallback() instead.
*/
-extern rpmlogCallback rpmErrorSetCallback(rpmlogCallback cb)
- /*@globals internalState@*/
- /*@modifies internalState @*/;
+extern rpmlogCallback rpmErrorSetCallback(rpmlogCallback cb);
/**
* Return error code from last rpmError() message.
* @deprecated Perl-RPM needs, use rpmlogCode() instead.
* @return code from last message
*/
-extern int rpmErrorCode(void)
- /*@*/;
+extern int rpmErrorCode(void);
/**
* Return text of last rpmError() message.
* @deprecated gnorpm needs, use rpmlogMessage() instead.
* @return text of last message
*/
-/*@-redecl@*/
-/*@observer@*/ /*@null@*/ extern const char * rpmErrorString(void) /*@*/;
-/*@=redecl@*/
+extern const char * rpmErrorString(void) ;
#ifdef __cplusplus
}
diff --git a/rpmio/rpmlua.c b/rpmio/rpmlua.c
index 363216ef0..342c2cda3 100644
--- a/rpmio/rpmlua.c
+++ b/rpmio/rpmlua.c
@@ -1,4 +1,3 @@
-/*@-bounds -realcompare -sizeoftype -protoparammatch @*/
#include "system.h"
#ifdef WITH_LUA
@@ -23,7 +22,7 @@
#include "debug.h"
#if !defined(HAVE_VSNPRINTF)
-static inline int vsnprintf(char * buf, /*@unused@*/ int nb,
+static inline int vsnprintf(char * buf, int nb,
const char * fmt, va_list ap)
{
return vsprintf(buf, fmt, ap);
@@ -33,27 +32,22 @@ static inline int vsnprintf(char * buf, /*@unused@*/ int nb,
#define INITSTATE(_lua, lua) \
rpmlua lua = _lua ? _lua : \
(globalLuaState ? globalLuaState : \
- /*@-mods@*/ \
+ \
(globalLuaState = rpmluaNew()) \
- /*@=mods@*/ \
+ \
)
-/*@only@*/ /*@unchecked@*/ /*@null@*/
static rpmlua globalLuaState = NULL;
-static int luaopen_rpm(lua_State *L)
- /*@modifies L @*/;
-static int rpm_print(lua_State *L)
- /*@globals fileSystem @*/
- /*@modifies L, fileSystem @*/;
+static int luaopen_rpm(lua_State *L);
+static int rpm_print(lua_State *L);
rpmlua rpmluaNew()
{
rpmlua lua = (rpmlua) xcalloc(1, sizeof(*lua));
lua_State *L = lua_open();
struct stat st;
- /*@-readonlytrans@*/
- /*@observer@*/ /*@unchecked@*/
+
static const luaL_reg lualibs[] = {
{"base", luaopen_base},
{"table", luaopen_table},
@@ -66,15 +60,12 @@ rpmlua rpmluaNew()
{"rpm", luaopen_rpm},
{NULL, NULL},
};
- /*@observer@*/ /*@unchecked@*/
+
const luaL_reg *lib = lualibs;
- /*@=readonlytrans@*/
lua->L = L;
for (; lib->name; lib++) {
-/*@-noeffectuncon@*/
(void) lib->func(L);
-/*@=noeffectuncon@*/
lua_settop(L, 0);
}
lua_pushliteral(L, "LUA_PATH");
@@ -114,17 +105,14 @@ void rpmluaSetData(rpmlua _lua, const char *key, const void *data)
}
static void *getdata(lua_State *L, const char *key)
- /*@modifies L @*/
{
void *ret = NULL;
lua_pushliteral(L, "rpm_");
lua_pushstring(L, key);
lua_concat(L, 2);
lua_rawget(L, LUA_REGISTRYINDEX);
-/*@-branchstate@*/
if (lua_islightuserdata(L, -1))
ret = lua_touserdata(L, -1);
-/*@=branchstate@*/
lua_pop(L, 1);
return ret;
}
@@ -151,7 +139,6 @@ const char *rpmluaGetPrintBuffer(rpmlua _lua)
}
static int pushvar(lua_State *L, rpmluavType type, void *value)
- /*@modifies L @*/
{
int ret = 0;
switch (type) {
@@ -197,14 +184,11 @@ void rpmluaSetVar(rpmlua _lua, rpmluav var)
}
static void popvar(lua_State *L, rpmluavType *type, void *value)
- /*@modifies L, *type, *value @*/
{
switch (lua_type(L, -1)) {
case LUA_TSTRING:
*type = RPMLUAV_STRING;
-/*@-observertrans -dependenttrans @*/
*((const char **)value) = lua_tostring(L, -1);
-/*@=observertrans =dependenttrans @*/
break;
case LUA_TNUMBER:
*type = RPMLUAV_NUMBER;
@@ -242,7 +226,6 @@ void rpmluaGetVar(rpmlua _lua, rpmluav var)
#define FINDKEY_CREATE 1
#define FINDKEY_REMOVE 2
static int findkey(lua_State *L, int oper, const char *key, va_list va)
- /*@modifies L @*/
{
char buf[BUFSIZ];
const char *s, *e;
@@ -260,13 +243,12 @@ static int findkey(lua_State *L, int oper, const char *key, va_list va)
lua_pushnil(L);
lua_rawset(L, -3);
lua_pop(L, 1);
- /*@switchbreak@*/ break;
+ break;
}
- /*@fallthrough@*/
case FINDKEY_RETURN:
lua_rawget(L, -2);
lua_remove(L, -2);
- /*@switchbreak@*/ break;
+ break;
case FINDKEY_CREATE:
lua_rawget(L, -2);
if (!lua_istable(L, -1)) {
@@ -277,7 +259,7 @@ static int findkey(lua_State *L, int oper, const char *key, va_list va)
lua_rawset(L, -4);
}
lua_remove(L, -2);
- /*@switchbreak@*/ break;
+ break;
}
}
if (*e == '\0')
@@ -359,7 +341,6 @@ void rpmluavSetListMode(rpmluav var, int flag)
void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value)
{
var->keyType = type;
-/*@-assignexpose -branchstate -temptrans @*/
switch (type) {
case RPMLUAV_NUMBER:
var->key.num = *((double *)value);
@@ -370,13 +351,11 @@ void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value)
default:
break;
}
-/*@=assignexpose =branchstate =temptrans @*/
}
void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value)
{
var->valueType = type;
-/*@-assignexpose -branchstate -temptrans @*/
switch (type) {
case RPMLUAV_NUMBER:
var->value.num = *((const double *)value);
@@ -387,13 +366,11 @@ void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value)
default:
break;
}
-/*@=assignexpose =branchstate =temptrans @*/
}
void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value)
{
*type = var->keyType;
-/*@-onlytrans@*/
switch (var->keyType) {
case RPMLUAV_NUMBER:
*((double **)value) = &var->key.num;
@@ -404,13 +381,11 @@ void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value)
default:
break;
}
-/*@=onlytrans@*/
}
void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value)
{
*type = var->valueType;
-/*@-onlytrans@*/
switch (var->valueType) {
case RPMLUAV_NUMBER:
*((double **)value) = &var->value.num;
@@ -421,7 +396,6 @@ void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value)
default:
break;
}
-/*@=onlytrans@*/
}
void rpmluavSetKeyNum(rpmluav var, double value)
@@ -469,10 +443,8 @@ int rpmluaCheckScript(rpmlua _lua, const char *script, const char *name)
INITSTATE(_lua, lua);
lua_State *L = lua->L;
int ret = 0;
-/*@-branchstate@*/
if (name == NULL)
name = "<lua>";
-/*@=branchstate@*/
if (luaL_loadbuffer(L, script, strlen(script), name) != 0) {
rpmError(RPMERR_SCRIPT,
_("invalid syntax in lua scriptlet: %s\n"),
@@ -488,10 +460,8 @@ int rpmluaRunScript(rpmlua _lua, const char *script, const char *name)
INITSTATE(_lua, lua);
lua_State *L = lua->L;
int ret = 0;
-/*@-branchstate@*/
if (name == NULL)
name = "<lua>";
-/*@=branchstate@*/
if (luaL_loadbuffer(L, script, strlen(script), name) != 0) {
rpmError(RPMERR_SCRIPT, _("invalid syntax in lua script: %s\n"),
lua_tostring(L, -1));
@@ -527,8 +497,6 @@ int rpmluaRunScriptFile(rpmlua _lua, const char *filename)
/* From lua.c */
static int rpmluaReadline(lua_State *L, const char *prompt)
- /*@globals fileSystem @*/
- /*@modifies L, fileSystem @*/
{
static char buffer[1024];
if (prompt) {
@@ -545,8 +513,6 @@ static int rpmluaReadline(lua_State *L, const char *prompt)
/* Based on lua.c */
static void _rpmluaInteractive(lua_State *L)
- /*@globals fileSystem @*/
- /*@modifies L, fileSystem @*/
{
(void) fputs("\n", stdout);
printf("RPM Interactive %s Interpreter\n", LUA_VERSION);
@@ -556,25 +522,21 @@ static void _rpmluaInteractive(lua_State *L)
if (rpmluaReadline(L, "> ") == 0)
break;
if (lua_tostring(L, -1)[0] == '=') {
-/*@-evalorder@*/
(void) lua_pushfstring(L, "print(%s)", lua_tostring(L, -1)+1);
-/*@=evalorder@*/
lua_remove(L, -2);
}
for (;;) {
-/*@-evalorder@*/
rc = luaL_loadbuffer(L, lua_tostring(L, -1),
lua_strlen(L, -1), "<lua>");
-/*@=evalorder@*/
if (rc == LUA_ERRSYNTAX &&
strstr(lua_tostring(L, -1), "near `<eof>'") != NULL) {
if (rpmluaReadline(L, ">> ") == 0)
- /*@innerbreak@*/ break;
+ break;
lua_remove(L, -2); /* Remove error */
lua_concat(L, 2);
- /*@innercontinue@*/ continue;
+ continue;
}
- /*@innerbreak@*/ break;
+ break;
}
if (rc == 0)
rc = lua_pcall(L, 0, 0, 0);
@@ -587,20 +549,16 @@ static void _rpmluaInteractive(lua_State *L)
(void) fputs("\n", stdout);
}
-/*@-mods@*/
void rpmluaInteractive(rpmlua _lua)
{
INITSTATE(_lua, lua);
_rpmluaInteractive(lua->L);
}
-/*@=mods@*/
/* ------------------------------------------------------------------ */
/* Lua API */
static int rpm_expand(lua_State *L)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies L, rpmGlobalMacroContext @*/
{
const char *str = luaL_checkstring(L, 1);
lua_pushstring(L, rpmExpand(str, NULL));
@@ -608,8 +566,6 @@ static int rpm_expand(lua_State *L)
}
static int rpm_define(lua_State *L)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies L, rpmGlobalMacroContext @*/
{
const char *str = luaL_checkstring(L, 1);
(void) rpmDefineMacro(NULL, str, 0);
@@ -617,22 +573,18 @@ static int rpm_define(lua_State *L)
}
static int rpm_interactive(lua_State *L)
- /*@globals fileSystem @*/
- /*@modifies L, fileSystem @*/
{
_rpmluaInteractive(L);
return 0;
}
typedef struct rpmluaHookData_s {
-/*@shared@*/
lua_State *L;
int funcRef;
int dataRef;
} * rpmluaHookData;
static int rpmluaHookWrapper(rpmhookArgs args, void *data)
- /*@*/
{
rpmluaHookData hookdata = (rpmluaHookData)data;
lua_State *L = hookdata->L;
@@ -645,23 +597,23 @@ static int rpmluaHookWrapper(rpmhookArgs args, void *data)
case 's':
lua_pushstring(L, args->argv[i].s);
lua_rawseti(L, -2, i+1);
- /*@switchbreak@*/ break;
+ break;
case 'i':
lua_pushnumber(L, (lua_Number)args->argv[i].i);
lua_rawseti(L, -2, i+1);
- /*@switchbreak@*/ break;
+ break;
case 'f':
lua_pushnumber(L, (lua_Number)args->argv[i].f);
lua_rawseti(L, -2, i+1);
- /*@switchbreak@*/ break;
+ break;
case 'p':
lua_pushlightuserdata(L, args->argv[i].p);
lua_rawseti(L, -2, i+1);
- /*@switchbreak@*/ break;
+ break;
default:
(void) luaL_error(L, "unsupported type '%c' as "
"a hook argument\n", args->argt[i]);
- /*@switchbreak@*/ break;
+ break;
}
}
if (lua_pcall(L, 1, 1, 0) != 0) {
@@ -677,8 +629,6 @@ static int rpmluaHookWrapper(rpmhookArgs args, void *data)
}
static int rpm_register(lua_State *L)
- /*@globals internalState @*/
- /*@modifies L, internalState @*/
{
if (!lua_isstring(L, 1)) {
(void) luaL_argerror(L, 1, "hook name expected");
@@ -691,9 +641,7 @@ static int rpm_register(lua_State *L)
hookdata->dataRef = luaL_ref(L, LUA_REGISTRYINDEX);
lua_pushvalue(L, 2);
hookdata->funcRef = luaL_ref(L, LUA_REGISTRYINDEX);
-/*@-temptrans@*/
hookdata->L = L;
-/*@=temptrans@*/
rpmhookRegister(lua_tostring(L, 1), rpmluaHookWrapper, hookdata);
return 1;
}
@@ -701,7 +649,6 @@ static int rpm_register(lua_State *L)
}
static int rpm_unregister(lua_State *L)
- /*@modifies L @*/
{
if (!lua_isstring(L, 1)) {
(void) luaL_argerror(L, 1, "hook name expected");
@@ -717,8 +664,6 @@ static int rpm_unregister(lua_State *L)
}
static int rpm_call(lua_State *L)
- /*@globals internalState @*/
- /*@modifies L, internalState @*/
{
if (!lua_isstring(L, 1)) {
(void) luaL_argerror(L, 1, "hook name expected");
@@ -732,10 +677,9 @@ static int rpm_call(lua_State *L)
case LUA_TNIL:
argt[i] = 'p';
args->argv[i].p = NULL;
- /*@switchbreak@*/ break;
+ break;
case LUA_TNUMBER: {
float f = (float)lua_tonumber(L, i+1);
-/*@+relaxtypes@*/
if (f == (int)f) {
argt[i] = 'i';
args->argv[i].i = (int)f;
@@ -743,38 +687,33 @@ static int rpm_call(lua_State *L)
argt[i] = 'f';
args->argv[i].f = f;
}
-/*@=relaxtypes@*/
- } /*@switchbreak@*/ break;
+ } break;
case LUA_TSTRING:
argt[i] = 's';
args->argv[i].s = lua_tostring(L, i+1);
- /*@switchbreak@*/ break;
+ break;
case LUA_TUSERDATA:
case LUA_TLIGHTUSERDATA:
argt[i] = 'p';
args->argv[i].p = lua_touserdata(L, i+1);
- /*@switchbreak@*/ break;
+ break;
default:
(void) luaL_error(L, "unsupported Lua type passed to hook");
argt[i] = 'p';
args->argv[i].p = NULL;
- /*@switchbreak@*/ break;
+ break;
}
}
-/*@-compdef -kepttrans -usereleased @*/
args->argt = argt;
rpmhookCallArgs(name, args);
free(argt);
(void) rpmhookArgsFree(args);
-/*@=compdef =kepttrans =usereleased @*/
}
return 0;
}
/* Based on luaB_print. */
static int rpm_print (lua_State *L)
- /*@globals fileSystem @*/
- /*@modifies L, fileSystem @*/
{
rpmlua lua = (rpmlua)getdata(L, "lua");
int n = lua_gettop(L); /* number of arguments */
@@ -820,8 +759,6 @@ static int rpm_print (lua_State *L)
return 0;
}
-/*@-readonlytrans@*/
-/*@observer@*/ /*@unchecked@*/
static const luaL_reg rpmlib[] = {
{"expand", rpm_expand},
{"define", rpm_define},
@@ -831,10 +768,8 @@ static const luaL_reg rpmlib[] = {
{"interactive", rpm_interactive},
{NULL, NULL}
};
-/*@=readonlytrans@*/
static int luaopen_rpm(lua_State *L)
- /*@modifies L @*/
{
lua_pushvalue(L, LUA_GLOBALSINDEX);
luaL_openlib(L, "rpm", rpmlib, 0);
@@ -842,4 +777,3 @@ static int luaopen_rpm(lua_State *L)
}
#endif /* WITH_LUA */
-/*@=bounds =realcompare =sizeoftype =protoparammatch @*/
diff --git a/rpmio/rpmlua.h b/rpmio/rpmlua.h
index 7f6f376af..02d97ab66 100644
--- a/rpmio/rpmlua.h
+++ b/rpmio/rpmlua.h
@@ -39,107 +39,46 @@ struct rpmluav_s {
#endif /* _RPMLUA_INTERNAL */
-typedef /*@abstract@*/ struct rpmlua_s * rpmlua;
-typedef /*@abstract@*/ struct rpmluav_s * rpmluav;
+typedef struct rpmlua_s * rpmlua;
+typedef struct rpmluav_s * rpmluav;
-/*@-exportlocal@*/
-/*@only@*/
-rpmlua rpmluaNew(void)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
-/*@=exportlocal@*/
-void *rpmluaFree(/*@only@*/ rpmlua lua)
- /*@modifies lua @*/;
+rpmlua rpmluaNew(void);
+void *rpmluaFree(rpmlua lua);
-int rpmluaCheckScript(/*@null@*/ rpmlua lua, const char *script,
- /*@null@*/ const char *name)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-int rpmluaRunScript(/*@null@*/ rpmlua lua, const char *script,
- /*@null@*/ const char *name)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-/*@-exportlocal@*/
-int rpmluaRunScriptFile(/*@null@*/ rpmlua lua, const char *filename)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-/*@=exportlocal@*/
-void rpmluaInteractive(/*@null@*/ rpmlua lua)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
+int rpmluaCheckScript(rpmlua lua, const char *script,
+ const char *name);
+int rpmluaRunScript(rpmlua lua, const char *script,
+ const char *name);
+int rpmluaRunScriptFile(rpmlua lua, const char *filename);
+void rpmluaInteractive(rpmlua lua);
-void *rpmluaGetData(/*@null@*/ rpmlua lua, const char *key)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-/*@-exportlocal@*/
-void rpmluaSetData(/*@null@*/ rpmlua lua, const char *key, const void *data)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-/*@=exportlocal@*/
+void *rpmluaGetData(rpmlua lua, const char *key);
+void rpmluaSetData(rpmlua lua, const char *key, const void *data);
-/*@exposed@*/
-const char *rpmluaGetPrintBuffer(/*@null@*/ rpmlua lua)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-void rpmluaSetPrintBuffer(/*@null@*/ rpmlua lua, int flag)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
+const char *rpmluaGetPrintBuffer(rpmlua lua);
+void rpmluaSetPrintBuffer(rpmlua lua, int flag);
-void rpmluaGetVar(/*@null@*/ rpmlua lua, rpmluav var)
- /*@globals fileSystem @*/
- /*@modifies lua, var, fileSystem @*/;
-void rpmluaSetVar(/*@null@*/ rpmlua lua, rpmluav var)
- /*@globals fileSystem @*/
- /*@modifies lua, var, fileSystem @*/;
-void rpmluaDelVar(/*@null@*/ rpmlua lua, const char *key, ...)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-int rpmluaVarExists(/*@null@*/ rpmlua lua, const char *key, ...)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-void rpmluaPushTable(/*@null@*/ rpmlua lua, const char *key, ...)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
-void rpmluaPop(/*@null@*/ rpmlua lua)
- /*@globals fileSystem @*/
- /*@modifies lua, fileSystem @*/;
+void rpmluaGetVar(rpmlua lua, rpmluav var);
+void rpmluaSetVar(rpmlua lua, rpmluav var);
+void rpmluaDelVar(rpmlua lua, const char *key, ...);
+int rpmluaVarExists(rpmlua lua, const char *key, ...);
+void rpmluaPushTable(rpmlua lua, const char *key, ...);
+void rpmluaPop(rpmlua lua);
-/*@only@*/
-rpmluav rpmluavNew(void)
- /*@*/;
-void * rpmluavFree(/*@only@*/ rpmluav var)
- /*@modifes var @*/;
-void rpmluavSetListMode(rpmluav var, int flag)
- /*@modifies var @*/;
-/*@-exportlocal@*/
-void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value)
- /*@modifies var @*/;
-/*@=exportlocal@*/
-/*@-exportlocal@*/
-void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value)
- /*@modifies var @*/;
-/*@=exportlocal@*/
-/*@-exportlocal@*/
-void rpmluavGetKey(rpmluav var, /*@out@*/ rpmluavType *type, /*@out@*/ void **value)
- /*@modifies *type, *value @*/;
-/*@=exportlocal@*/
-/*@-exportlocal@*/
-void rpmluavGetValue(rpmluav var, /*@out@*/ rpmluavType *type, /*@out@*/ void **value)
- /*@modifies *type, *value @*/;
-/*@=exportlocal@*/
+rpmluav rpmluavNew(void);
+void * rpmluavFree(rpmluav var);
+void rpmluavSetListMode(rpmluav var, int flag);
+void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value);
+void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value);
+void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value);
+void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value);
/* Optional helpers for numbers. */
-void rpmluavSetKeyNum(rpmluav var, double value)
- /*@modifies var @*/;
-void rpmluavSetValueNum(rpmluav var, double value)
- /*@modifies var @*/;
-double rpmluavGetKeyNum(rpmluav var)
- /*@*/;
-double rpmluavGetValueNum(rpmluav var)
- /*@*/;
-int rpmluavKeyIsNum(rpmluav var)
- /*@*/;
-int rpmluavValueIsNum(rpmluav var)
- /*@*/;
+void rpmluavSetKeyNum(rpmluav var, double value);
+void rpmluavSetValueNum(rpmluav var, double value);
+double rpmluavGetKeyNum(rpmluav var);
+double rpmluavGetValueNum(rpmluav var);
+int rpmluavKeyIsNum(rpmluav var);
+int rpmluavValueIsNum(rpmluav var);
#endif /* RPMLUA_H */
diff --git a/rpmio/rpmmacro.h b/rpmio/rpmmacro.h
index 737a3d0b5..d6d8312df 100644
--- a/rpmio/rpmmacro.h
+++ b/rpmio/rpmmacro.h
@@ -6,7 +6,7 @@
*/
/*! The structure used to store a macro. */
-typedef /*@abstract@*/ struct MacroEntry_s {
+typedef struct MacroEntry_s {
struct MacroEntry_s *prev;/*!< Macro entry stack. */
const char *name; /*!< Macro name. */
const char *opts; /*!< Macro parameters (a la getopt) */
@@ -16,29 +16,22 @@ typedef /*@abstract@*/ struct MacroEntry_s {
} * MacroEntry;
/*! The structure used to store the set of macros in a context. */
-typedef /*@abstract@*/ struct MacroContext_s {
-/*@owned@*//*@null@*/ MacroEntry *macroTable; /*!< Macro entry table for context. */
+typedef struct MacroContext_s {
+/*@owned@*/MacroEntry *macroTable; /*!< Macro entry table for context. */
int macrosAllocated;/*!< No. of allocated macros. */
int firstFree; /*!< No. of macros. */
} * MacroContext;
-/*@-redecl@*/
-/*@checked@*/
extern MacroContext rpmGlobalMacroContext;
-/*@checked@*/
extern MacroContext rpmCLIMacroContext;
-/*@=redecl@*/
/** \ingroup rpmrc
* List of macro files to read when configuring rpm.
* This is a colon separated list of files. URI's are permitted as well,
* identified by the token '://', so file paths must not begin with '//'.
*/
-/*@-redecl@*/
-/*@observer@*/ /*@checked@*/
extern const char * macrofiles;
-/*@=redecl@*/
/**
* Markers for sources of macros added throughout rpm.
@@ -62,10 +55,8 @@ extern "C" {
* @param mc macro context (NULL uses global context).
* @param fp file stream (NULL uses stderr).
*/
-void rpmDumpMacroTable (/*@null@*/ MacroContext mc,
- /*@null@*/ FILE * fp)
- /*@globals rpmGlobalMacroContext, fileSystem @*/
- /*@modifies *fp, fileSystem @*/;
+void rpmDumpMacroTable (MacroContext mc,
+ FILE * fp);
/**
* Return URL path(s) from a (URL prefixed) pattern glob.
@@ -74,10 +65,8 @@ void rpmDumpMacroTable (/*@null@*/ MacroContext mc,
* @retval *argvPtr array of paths (malloc'd contiguous blob)
* @return 0 on success
*/
-int rpmGlob(const char * patterns, /*@out@*/ int * argcPtr,
- /*@out@*/ const char *** argvPtr)
- /*@globals fileSystem, internalState @*/
- /*@modifies *argcPtr, *argvPtr, fileSystem, internalState @*/;
+int rpmGlob(const char * patterns, int * argcPtr,
+ const char *** argvPtr);
/**
* Expand macro into buffer.
@@ -89,11 +78,9 @@ int rpmGlob(const char * patterns, /*@out@*/ int * argcPtr,
* @param slen size of buffer
* @return 0 on success
*/
-int expandMacros (/*@null@*/ void * spec, /*@null@*/ MacroContext mc,
- /*@in@*/ /*@out@*/ char * sbuf,
- size_t slen)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
- /*@modifies *sbuf, rpmGlobalMacroContext, fileSystem @*/;
+int expandMacros (void * spec, MacroContext mc,
+ char * sbuf,
+ size_t slen);
/**
* Add macro to context.
@@ -104,20 +91,16 @@ int expandMacros (/*@null@*/ void * spec, /*@null@*/ MacroContext mc,
* @param b macro body
* @param level macro recursion level (0 is entry API)
*/
-void addMacro (/*@null@*/ MacroContext mc, const char * n,
- /*@null@*/ const char * o,
- /*@null@*/ const char * b, int level)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mc, rpmGlobalMacroContext @*/;
+void addMacro (MacroContext mc, const char * n,
+ const char * o,
+ const char * b, int level);
/**
* Delete macro from context.
* @param mc macro context (NULL uses global context).
* @param n macro name
*/
-void delMacro (/*@null@*/ MacroContext mc, const char * n)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mc, rpmGlobalMacroContext @*/;
+void delMacro (MacroContext mc, const char * n);
/**
* Define macro in context.
@@ -126,47 +109,41 @@ void delMacro (/*@null@*/ MacroContext mc, const char * n)
* @param level macro recursion level (0 is entry API)
* @return @todo Document.
*/
-int rpmDefineMacro (/*@null@*/ MacroContext mc, const char * macro,
- int level)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies mc, rpmGlobalMacroContext @*/;
+int rpmDefineMacro (MacroContext mc, const char * macro,
+ int level);
/**
* Load macros from specific context into global context.
* @param mc macro context (NULL does nothing).
* @param level macro recursion level (0 is entry API)
*/
-void rpmLoadMacros (/*@null@*/ MacroContext mc, int level)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies rpmGlobalMacroContext @*/;
+void rpmLoadMacros (MacroContext mc, int level);
/**
* Load macro context from a macro file.
* @param mc (unused)
* @param fn macro file name
*/
-int rpmLoadMacroFile(/*@null@*/ MacroContext mc, const char * fn)
+int rpmLoadMacroFile(MacroContext mc, const char * fn)
/*@globals rpmGlobalMacroContext,
h_errno, fileSystem, internalState @*/
- /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/;
+;
/**
* Initialize macro context from set of macrofile(s).
* @param mc macro context
* @param macrofiles colon separated list of macro files (NULL does nothing)
*/
-void rpmInitMacros (/*@null@*/ MacroContext mc, const char * macrofiles)
+void rpmInitMacros (MacroContext mc, const char * macrofiles)
/*@globals rpmGlobalMacroContext, rpmCLIMacroContext,
h_errno, fileSystem, internalState @*/
- /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/;
+;
/**
* Destroy macro context.
* @param mc macro context (NULL uses global context).
*/
-void rpmFreeMacros (/*@null@*/ MacroContext mc)
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mc, rpmGlobalMacroContext @*/;
+void rpmFreeMacros (MacroContext mc);
typedef enum rpmCompressedMagic_e {
COMPRESSED_NOT = 0, /*!< not compressed */
@@ -182,38 +159,29 @@ typedef enum rpmCompressedMagic_e {
* @return 0 on success, 1 on I/O error
*/
int isCompressed (const char * file,
- /*@out@*/ rpmCompressedMagic * compressed)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *compressed, fileSystem, internalState @*/;
+ rpmCompressedMagic * compressed);
/**
* Return (malloc'ed) concatenated macro expansion(s).
* @param arg macro(s) to expand (NULL terminates list)
* @return macro expansion (malloc'ed)
*/
-char * rpmExpand (/*@null@*/ const char * arg, ...)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies rpmGlobalMacroContext @*/;
+char * rpmExpand (const char * arg, ...);
/**
* Canonicalize file path.
* @param path path to canonicalize (in-place)
* @return canonicalized path (malloc'ed)
*/
-/*@null@*/
-char * rpmCleanPath (/*@returned@*/ /*@null@*/ char * path)
- /*@modifies *path @*/;
+char * rpmCleanPath (char * path);
/**
* Return (malloc'ed) expanded, canonicalized, file path.
* @param path macro(s) to expand (NULL terminates list)
* @return canonicalized path (malloc'ed)
*/
-/*@-redecl@*/ /* LCL: shrug */
-const char * rpmGetPath (/*@null@*/ const char * path, ...)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies rpmGlobalMacroContext @*/;
-/*@=redecl@*/
+/* LCL: shrug */
+const char * rpmGetPath (const char * path, ...);
/**
* Merge 3 args into path, any or all of which may be a url.
@@ -225,13 +193,10 @@ const char * rpmGetPath (/*@null@*/ const char * path, ...)
* @param urlfile file URL (often a file, or NULL)
* @return expanded, merged, canonicalized path (malloc'ed)
*/
-/*@-redecl@*/ /* LCL: shrug */
-const char * rpmGenPath (/*@null@*/ const char * urlroot,
- /*@null@*/ const char * urlmdir,
- /*@null@*/ const char * urlfile)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies rpmGlobalMacroContext @*/;
-/*@=redecl@*/
+/* LCL: shrug */
+const char * rpmGenPath (const char * urlroot,
+ const char * urlmdir,
+ const char * urlfile);
/**
* Return macro expansion as a numeric value.
@@ -240,9 +205,7 @@ const char * rpmGenPath (/*@null@*/ const char * urlroot,
* @param arg macro to expand
* @return numeric value
*/
-int rpmExpandNumeric (const char * arg)
- /*@globals rpmGlobalMacroContext, h_errno @*/
- /*@modifies rpmGlobalMacroContext @*/;
+int rpmExpandNumeric (const char * arg);
#ifdef __cplusplus
}
diff --git a/rpmio/rpmmalloc.c b/rpmio/rpmmalloc.c
index 362463c28..eee46606b 100644
--- a/rpmio/rpmmalloc.c
+++ b/rpmio/rpmmalloc.c
@@ -9,19 +9,16 @@
#define EXIT_FAILURE 1
#endif
-/*@-modfilesys@*/
-/*@only@*/ void *vmefail(size_t size)
+void *vmefail(size_t size)
{
fprintf(stderr, _("memory alloc (%u bytes) returned NULL.\n"), (unsigned)size);
exit(EXIT_FAILURE);
- /*@notreached@*/
return NULL;
}
-/*@=modfilesys@*/
#if !(HAVE_MCHECK_H && defined(__GNUC__))
-/*@out@*/ /*@only@*/ void * xmalloc (size_t size)
+void * xmalloc (size_t size)
{
register void *value;
if (size == 0) size++;
@@ -31,7 +28,7 @@
return value;
}
-/*@only@*/ void * xcalloc (size_t nmemb, size_t size)
+void * xcalloc (size_t nmemb, size_t size)
{
register void *value;
if (size == 0) size++;
@@ -42,7 +39,7 @@
return value;
}
-/*@only@*/ void * xrealloc (/*@only@*/ void *ptr, size_t size)
+void * xrealloc (void *ptr, size_t size)
{
register void *value;
if (size == 0) size++;
@@ -52,7 +49,7 @@
return value;
}
-/*@only@*/ char * xstrdup (const char *str)
+char * xstrdup (const char *str)
{
size_t size = strlen(str) + 1;
char *newstr = (char *) malloc (size);
diff --git a/rpmio/rpmmessages.h b/rpmio/rpmmessages.h
index 5bad9a64f..6f52e2da6 100644
--- a/rpmio/rpmmessages.h
+++ b/rpmio/rpmmessages.h
@@ -31,9 +31,8 @@
#define rpmIsDebug() \
(rpmlogSetMask(0) >= RPMLOG_MASK( RPMMESS_DEBUG ))
-/*@-redef@*/ /* LCL: ??? */
-typedef /*@abstract@*/ const void * fnpyKey;
-/*@=redef@*/
+/* LCL: ??? */
+typedef const void * fnpyKey;
/**
* Bit(s) to identify progress callbacks.
@@ -68,18 +67,15 @@ extern "C" {
/**
*/
typedef void * (*rpmCallbackFunction)
- (/*@null@*/ const void * h,
+ (const void * h,
const rpmCallbackType what,
const unsigned long amount,
const unsigned long total,
- /*@null@*/ fnpyKey key,
- /*@null@*/ rpmCallbackData data)
- /*@globals internalState@*/
- /*@modifies internalState@*/;
+ fnpyKey key,
+ rpmCallbackData data);
/**
*/
-/*@unused@*/
void urlSetCallback(rpmCallbackFunction notify, rpmCallbackData notifyData,
int notifyCount);
diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
index d5eda4d00..353f826da 100644
--- a/rpmio/rpmpgp.c
+++ b/rpmio/rpmpgp.c
@@ -1,4 +1,3 @@
-/*@-boundsread@*/
/** \ingroup rpmio signature
* \file rpmio/rpmpgp.c
* Routines to handle RFC-2440 detached signatures.
@@ -8,19 +7,13 @@
#include "rpmio_internal.h"
#include "debug.h"
-/*@access pgpDig @*/
-/*@access pgpDigParams @*/
-/*@unchecked@*/
static int _debug = 0;
-/*@unchecked@*/
static int _print = 0;
-/*@unchecked@*/ /*@null@*/
static pgpDig _dig = NULL;
-/*@unchecked@*/ /*@null@*/
static pgpDigParams _digp = NULL;
struct pgpValTbl_s pgpSigTypeTbl[] = {
@@ -90,13 +83,10 @@ struct pgpValTbl_s pgpHashTbl[] = {
{ -1, "Unknown hash algorithm" },
};
-/*@-exportlocal -exportheadervar@*/
-/*@observer@*/ /*@unchecked@*/
struct pgpValTbl_s pgpKeyServerPrefsTbl[] = {
{ 0x80, "No-modify" },
{ -1, "Unknown key server preference" },
};
-/*@=exportlocal =exportheadervar@*/
struct pgpValTbl_s pgpSubTypeTbl[] = {
{ PGPSUBTYPE_SIG_CREATE_TIME,"signature creation time" },
@@ -188,25 +178,20 @@ struct pgpValTbl_s pgpArmorKeyTbl[] = {
* @param p memory to free
* @return NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
- /*@modifies p @*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
}
static void pgpPrtNL(void)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (!_print) return;
fprintf(stderr, "\n");
}
static void pgpPrtInt(const char *pre, int i)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (!_print) return;
if (pre && *pre)
@@ -215,8 +200,6 @@ static void pgpPrtInt(const char *pre, int i)
}
static void pgpPrtStr(const char *pre, const char *s)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (!_print) return;
if (pre && *pre)
@@ -225,8 +208,6 @@ static void pgpPrtStr(const char *pre, const char *s)
}
static void pgpPrtHex(const char *pre, const byte *p, unsigned int plen)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (!_print) return;
if (pre && *pre)
@@ -235,8 +216,6 @@ static void pgpPrtHex(const char *pre, const byte *p, unsigned int plen)
}
void pgpPrtVal(const char * pre, pgpValTbl vs, byte val)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
if (!_print) return;
if (pre && *pre)
@@ -246,9 +225,8 @@ void pgpPrtVal(const char * pre, pgpValTbl vs, byte val)
/**
*/
-/*@unused@*/ static /*@observer@*/
+static
const char * pgpMpiHex(const byte *p)
- /*@*/
{
static char prbuf[2048];
char *t = prbuf;
@@ -256,14 +234,11 @@ const char * pgpMpiHex(const byte *p)
return prbuf;
}
-/*@-boundswrite@*/
/**
* @return 0 on success
*/
static int pgpHexSet(const char * pre, int lbits,
- /*@out@*/ mpnumber * mpn, const byte * p, const byte * pend)
- /*@globals fileSystem @*/
- /*@modifies mpn, fileSystem @*/
+ mpnumber * mpn, const byte * p, const byte * pend)
{
unsigned int mbits = pgpMpiBits(p);
unsigned int nbits;
@@ -291,7 +266,6 @@ if (_debug && _print)
fprintf(stderr, "\t %s ", pre), mpfprintln(stderr, mpn->size, mpn->data);
return 0;
}
-/*@=boundswrite@*/
int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
{
@@ -312,29 +286,26 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
case PGPSUBTYPE_PREFER_SYMKEY: /* preferred symmetric algorithms */
for (i = 1; i < plen; i++)
pgpPrtVal(" ", pgpSymkeyTbl, p[i]);
- /*@switchbreak@*/ break;
+ break;
case PGPSUBTYPE_PREFER_HASH: /* preferred hash algorithms */
for (i = 1; i < plen; i++)
pgpPrtVal(" ", pgpHashTbl, p[i]);
- /*@switchbreak@*/ break;
+ break;
case PGPSUBTYPE_PREFER_COMPRESS:/* preferred compression algorithms */
for (i = 1; i < plen; i++)
pgpPrtVal(" ", pgpCompressionTbl, p[i]);
- /*@switchbreak@*/ break;
+ break;
case PGPSUBTYPE_KEYSERVER_PREFERS:/* key server preferences */
for (i = 1; i < plen; i++)
pgpPrtVal(" ", pgpKeyServerPrefsTbl, p[i]);
- /*@switchbreak@*/ break;
+ break;
case PGPSUBTYPE_SIG_CREATE_TIME:
-/*@-mods -mayaliasunique @*/
if (_digp && !(_digp->saved & PGPDIG_SAVED_TIME) &&
(sigtype == PGPSIGTYPE_POSITIVE_CERT || sigtype == PGPSIGTYPE_BINARY || sigtype == PGPSIGTYPE_TEXT || sigtype == PGPSIGTYPE_STANDALONE))
{
_digp->saved |= PGPDIG_SAVED_TIME;
memcpy(_digp->time, p+1, sizeof(_digp->time));
}
-/*@=mods =mayaliasunique @*/
- /*@fallthrough@*/
case PGPSUBTYPE_SIG_EXPIRE_TIME:
case PGPSUBTYPE_KEY_EXPIRE_TIME:
if ((plen - 1) == 4) {
@@ -343,18 +314,15 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
fprintf(stderr, " %-24.24s(0x%08x)", ctime(&t), (unsigned)t);
} else
pgpPrtHex("", p+1, plen-1);
- /*@switchbreak@*/ break;
+ break;
case PGPSUBTYPE_ISSUER_KEYID: /* issuer key ID */
-/*@-mods -mayaliasunique @*/
if (_digp && !(_digp->saved & PGPDIG_SAVED_ID) &&
(sigtype == PGPSIGTYPE_POSITIVE_CERT || sigtype == PGPSIGTYPE_BINARY || sigtype == PGPSIGTYPE_TEXT || sigtype == PGPSIGTYPE_STANDALONE))
{
_digp->saved |= PGPDIG_SAVED_ID;
memcpy(_digp->signid, p+1, sizeof(_digp->signid));
}
-/*@=mods =mayaliasunique @*/
- /*@fallthrough@*/
case PGPSUBTYPE_EXPORTABLE_CERT:
case PGPSUBTYPE_TRUST_SIG:
case PGPSUBTYPE_REGEX:
@@ -383,7 +351,7 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
case PGPSUBTYPE_INTERNAL_110:
default:
pgpPrtHex("", p+1, plen-1);
- /*@switchbreak@*/ break;
+ break;
}
pgpPrtNL();
p += plen;
@@ -392,25 +360,19 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
return 0;
}
-/*@-varuse =readonlytrans @*/
-/*@observer@*/ /*@unchecked@*/
static const char * pgpSigRSA[] = {
" m**d =",
NULL,
};
-/*@observer@*/ /*@unchecked@*/
static const char * pgpSigDSA[] = {
" r =",
" s =",
NULL,
};
-/*@=varuse =readonlytrans @*/
-static int pgpPrtSigParams(/*@unused@*/ pgpTag tag, byte pubkey_algo, byte sigtype,
+static int pgpPrtSigParams(pgpTag tag, byte pubkey_algo, byte sigtype,
const byte *p, const byte *h, unsigned int hlen)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
{
const byte * pend = h + hlen;
int i;
@@ -426,9 +388,9 @@ static int pgpPrtSigParams(/*@unused@*/ pgpTag tag, byte pubkey_algo, byte sigty
(void) mpnsethex(&_dig->c, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t m**d = "), mpfprintln(stderr, _dig->c.size, _dig->c.data);
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
pgpPrtStr("", pgpSigRSA[i]);
@@ -442,13 +404,13 @@ fprintf(stderr, "\t m**d = "), mpfprintln(stderr, _dig->c.size, _dig->c.data);
switch (i) {
case 0: /* r */
xx = pgpHexSet(pgpSigDSA[i], 160, &_dig->r, p, pend);
- /*@switchbreak@*/ break;
+ break;
case 1: /* s */
xx = pgpHexSet(pgpSigDSA[i], 160, &_dig->s, p, pend);
- /*@switchbreak@*/ break;
+ break;
default:
xx = 1;
- /*@switchbreak@*/ break;
+ break;
}
if (xx) return xx;
}
@@ -465,8 +427,6 @@ fprintf(stderr, "\t m**d = "), mpfprintln(stderr, _dig->c.size, _dig->c.data);
}
int pgpPrtSig(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals _digp @*/
- /*@modifies *_digp @*/
{
byte version = h[0];
byte * p;
@@ -571,8 +531,6 @@ fprintf(stderr, " unhash[%u] -- %s\n", plen, pgpHexStr(p, plen));
return rc;
}
-/*@-varuse =readonlytrans @*/
-/*@observer@*/ /*@unchecked@*/
static const char * pgpPublicRSA[] = {
" n =",
" e =",
@@ -580,7 +538,6 @@ static const char * pgpPublicRSA[] = {
};
#ifdef NOTYET
-/*@observer@*/ /*@unchecked@*/
static const char * pgpSecretRSA[] = {
" d =",
" p =",
@@ -590,7 +547,6 @@ static const char * pgpSecretRSA[] = {
};
#endif
-/*@observer@*/ /*@unchecked@*/
static const char * pgpPublicDSA[] = {
" p =",
" q =",
@@ -600,14 +556,12 @@ static const char * pgpPublicDSA[] = {
};
#ifdef NOTYET
-/*@observer@*/ /*@unchecked@*/
static const char * pgpSecretDSA[] = {
" x =",
NULL,
};
#endif
-/*@observer@*/ /*@unchecked@*/
static const char * pgpPublicELGAMAL[] = {
" p =",
" g =",
@@ -616,18 +570,14 @@ static const char * pgpPublicELGAMAL[] = {
};
#ifdef NOTYET
-/*@observer@*/ /*@unchecked@*/
static const char * pgpSecretELGAMAL[] = {
" x =",
NULL,
};
#endif
-/*@=varuse =readonlytrans @*/
static const byte * pgpPrtPubkeyParams(byte pubkey_algo,
- /*@returned@*/ const byte *p, const byte *h, unsigned int hlen)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+ const byte *p, const byte *h, unsigned int hlen)
{
int i;
@@ -640,14 +590,14 @@ static const byte * pgpPrtPubkeyParams(byte pubkey_algo,
(void) mpbsethex(&_dig->rsa_pk.n, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t n = "), mpfprintln(stderr, _dig->rsa_pk.n.size, _dig->rsa_pk.n.modl);
- /*@switchbreak@*/ break;
+ break;
case 1: /* e */
(void) mpnsethex(&_dig->rsa_pk.e, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t e = "), mpfprintln(stderr, _dig->rsa_pk.e.size, _dig->rsa_pk.e.data);
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
pgpPrtStr("", pgpPublicRSA[i]);
@@ -659,24 +609,24 @@ fprintf(stderr, "\t e = "), mpfprintln(stderr, _dig->rsa_pk.e.size, _dig->r
(void) mpbsethex(&_dig->p, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t p = "), mpfprintln(stderr, _dig->p.size, _dig->p.modl);
- /*@switchbreak@*/ break;
+ break;
case 1: /* q */
(void) mpbsethex(&_dig->q, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t q = "), mpfprintln(stderr, _dig->q.size, _dig->q.modl);
- /*@switchbreak@*/ break;
+ break;
case 2: /* g */
(void) mpnsethex(&_dig->g, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t g = "), mpfprintln(stderr, _dig->g.size, _dig->g.data);
- /*@switchbreak@*/ break;
+ break;
case 3: /* y */
(void) mpnsethex(&_dig->y, pgpMpiHex(p));
if (_debug && _print)
fprintf(stderr, "\t y = "), mpfprintln(stderr, _dig->y.size, _dig->y.data);
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
pgpPrtStr("", pgpPublicDSA[i]);
@@ -694,10 +644,8 @@ fprintf(stderr, "\t y = "), mpfprintln(stderr, _dig->y.size, _dig->y.data);
return p;
}
-static const byte * pgpPrtSeckeyParams(/*@unused@*/ byte pubkey_algo,
- /*@returned@*/ const byte *p, const byte *h, unsigned int hlen)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
+static const byte * pgpPrtSeckeyParams(byte pubkey_algo,
+ const byte *p, const byte *h, unsigned int hlen)
{
int i;
@@ -712,21 +660,20 @@ static const byte * pgpPrtSeckeyParams(/*@unused@*/ byte pubkey_algo,
case 0x00:
pgpPrtVal(" simple ", pgpHashTbl, p[2]);
p += 2;
- /*@innerbreak@*/ break;
+ break;
case 0x01:
pgpPrtVal(" salted ", pgpHashTbl, p[2]);
pgpPrtHex("", p+3, 8);
p += 10;
- /*@innerbreak@*/ break;
+ break;
case 0x03:
pgpPrtVal(" iterated/salted ", pgpHashTbl, p[2]);
- /*@-shiftnegative -shiftimplementation @*/ /* FIX: unsigned cast */
+ /* FIX: unsigned cast */
i = (16 + (p[11] & 0xf)) << ((p[11] >> 4) + 6);
- /*@=shiftnegative =shiftimplementation @*/
pgpPrtHex("", p+3, 8);
pgpPrtInt(" iter", i);
p += 11;
- /*@innerbreak@*/ break;
+ break;
}
break;
default:
@@ -769,8 +716,6 @@ static const byte * pgpPrtSeckeyParams(/*@unused@*/ byte pubkey_algo,
}
int pgpPrtKey(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals _digp @*/
- /*@modifies *_digp @*/
{
byte version = *h;
const byte * p;
@@ -829,10 +774,7 @@ int pgpPrtKey(pgpTag tag, const byte *h, unsigned int hlen)
return rc;
}
-/*@-boundswrite@*/
int pgpPrtUserID(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals _digp @*/
- /*@modifies *_digp @*/
{
pgpPrtVal("", pgpTagTbl, tag);
if (_print)
@@ -845,7 +787,6 @@ int pgpPrtUserID(pgpTag tag, const byte *h, unsigned int hlen)
}
return 0;
}
-/*@=boundswrite@*/
int pgpPrtComment(pgpTag tag, const byte *h, unsigned int hlen)
{
@@ -873,7 +814,7 @@ int pgpPrtComment(pgpTag tag, const byte *h, unsigned int hlen)
return 0;
}
-int pgpPubkeyFingerprint(const byte * pkt, /*@unused@*/ unsigned int pktlen,
+int pgpPubkeyFingerprint(const byte * pkt, unsigned int pktlen,
byte * keyid)
{
const byte *s = pkt;
@@ -893,13 +834,11 @@ int pgpPubkeyFingerprint(const byte * pkt, /*@unused@*/ unsigned int pktlen,
switch (v->pubkey_algo) {
case PGPPUBKEYALGO_RSA:
s += (pgpMpiLen(s) - 8);
-/*@-boundswrite@*/
memmove(keyid, s, 8);
-/*@=boundswrite@*/
rc = 0;
- /*@innerbreak@*/ break;
+ break;
default: /* TODO: md5 of mpi bodies (i.e. no length) */
- /*@innerbreak@*/ break;
+ break;
}
} break;
case 4:
@@ -912,11 +851,11 @@ int pgpPubkeyFingerprint(const byte * pkt, /*@unused@*/ unsigned int pktlen,
case PGPPUBKEYALGO_RSA:
for (i = 0; i < 2; i++)
s += pgpMpiLen(s);
- /*@innerbreak@*/ break;
+ break;
case PGPPUBKEYALGO_DSA:
for (i = 0; i < 4; i++)
s += pgpMpiLen(s);
- /*@innerbreak@*/ break;
+ break;
}
ctx = rpmDigestInit(PGPHASHALGO_SHA1, RPMDIGEST_NONE);
@@ -924,9 +863,7 @@ int pgpPubkeyFingerprint(const byte * pkt, /*@unused@*/ unsigned int pktlen,
(void) rpmDigestFinal(ctx, (void **)&SHA1, NULL, 0);
s = SHA1 + 12;
-/*@-boundswrite@*/
memmove(keyid, s, 8);
-/*@=boundswrite@*/
rc = 0;
if (SHA1) free(SHA1);
@@ -970,14 +907,11 @@ int pgpPrtPkt(const byte *pkt, unsigned int pleft)
case PGPTAG_PUBLIC_KEY:
/* Get the public key fingerprint. */
if (_digp) {
-/*@-mods@*/
if (!pgpPubkeyFingerprint(pkt, pktlen, _digp->signid))
_digp->saved |= PGPDIG_SAVED_ID;
else
memset(_digp->signid, 0, sizeof(_digp->signid));
-/*@=mods@*/
}
- /*@fallthrough@*/
case PGPTAG_PUBLIC_SUBKEY:
rc = pgpPrtKey(tag, h, hlen);
break;
@@ -1023,7 +957,6 @@ pgpDig pgpNewDig(void)
return dig;
}
-/*@-boundswrite@*/
void pgpCleanDig(pgpDig dig)
{
if (dig != NULL) {
@@ -1032,12 +965,11 @@ void pgpCleanDig(pgpDig dig)
dig->pubkey.userid = _free(dig->pubkey.userid);
dig->signature.hash = _free(dig->signature.hash);
dig->pubkey.hash = _free(dig->pubkey.hash);
- /*@-unqualifiedtrans@*/ /* FIX: double indirection */
+ /* FIX: double indirection */
for (i = 0; i < 4; i++) {
dig->signature.params[i] = _free(dig->signature.params[i]);
dig->pubkey.params[i] = _free(dig->pubkey.params[i]);
}
- /*@=unqualifiedtrans@*/
memset(&dig->signature, 0, sizeof(dig->signature));
memset(&dig->pubkey, 0, sizeof(dig->pubkey));
@@ -1053,30 +985,22 @@ void pgpCleanDig(pgpDig dig)
mpnfree(&dig->c);
mpnfree(&dig->rsahm);
}
-/*@-nullstate@*/
return;
-/*@=nullstate@*/
}
-/*@=boundswrite@*/
-pgpDig pgpFreeDig(/*@only@*/ /*@null@*/ pgpDig dig)
- /*@modifies dig @*/
+pgpDig pgpFreeDig(pgpDig dig)
{
if (dig != NULL) {
/* DUmp the signature/pubkey data. */
pgpCleanDig(dig);
- /*@-branchstate@*/
if (dig->hdrsha1ctx != NULL)
(void) rpmDigestFinal(dig->hdrsha1ctx, NULL, NULL, 0);
- /*@=branchstate@*/
dig->hdrsha1ctx = NULL;
- /*@-branchstate@*/
if (dig->sha1ctx != NULL)
(void) rpmDigestFinal(dig->sha1ctx, NULL, NULL, 0);
- /*@=branchstate@*/
dig->sha1ctx = NULL;
mpbfree(&dig->p);
@@ -1088,17 +1012,13 @@ pgpDig pgpFreeDig(/*@only@*/ /*@null@*/ pgpDig dig)
mpnfree(&dig->s);
#ifdef NOTYET
- /*@-branchstate@*/
if (dig->hdrmd5ctx != NULL)
(void) rpmDigestFinal(dig->hdrmd5ctx, NULL, NULL, 0);
- /*@=branchstate@*/
dig->hdrmd5ctx = NULL;
#endif
- /*@-branchstate@*/
if (dig->md5ctx != NULL)
(void) rpmDigestFinal(dig->md5ctx, NULL, NULL, 0);
- /*@=branchstate@*/
dig->md5ctx = NULL;
mpbfree(&dig->rsa_pk.n);
@@ -1113,8 +1033,6 @@ pgpDig pgpFreeDig(/*@only@*/ /*@null@*/ pgpDig dig)
}
int pgpPrtPkts(const byte * pkts, unsigned int pktlen, pgpDig dig, int printing)
- /*@globals _dig, _digp, _print @*/
- /*@modifies _dig, _digp, *_digp, _print @*/
{
unsigned int val = *pkts;
const byte *p;
@@ -1140,7 +1058,6 @@ int pgpPrtPkts(const byte * pkts, unsigned int pktlen, pgpDig dig, int printing)
return 0;
}
-/*@-boundswrite@*/
pgpArmor pgpReadPkts(const char * fn, const byte ** pkt, size_t * pktlen)
{
byte * b = NULL;
@@ -1199,7 +1116,7 @@ pgpArmor pgpReadPkts(const char * fn, const byte ** pkt, size_t * pktlen)
continue;
*t = '\0';
pstate++;
- /*@switchbreak@*/ break;
+ break;
case 1:
enc = NULL;
rc = pgpValTok(pgpArmorKeyTbl, t, te);
@@ -1211,7 +1128,7 @@ pgpArmor pgpReadPkts(const char * fn, const byte ** pkt, size_t * pktlen)
}
enc = te; /* Start of encoded packets */
pstate++;
- /*@switchbreak@*/ break;
+ break;
case 2:
crcenc = NULL;
if (*t != '=')
@@ -1219,7 +1136,7 @@ pgpArmor pgpReadPkts(const char * fn, const byte ** pkt, size_t * pktlen)
*t++ = '\0'; /* Terminate encoded packets */
crcenc = t; /* Start of encoded crc */
pstate++;
- /*@switchbreak@*/ break;
+ break;
case 3:
pstate = 0;
if (!TOKEQ(t, "-----END PGP ")) {
@@ -1272,7 +1189,7 @@ pgpArmor pgpReadPkts(const char * fn, const byte ** pkt, size_t * pktlen)
blen = declen;
ec = PGPARMOR_PUBKEY; /* XXX ASCII Pubkeys only, please. */
goto exit;
- /*@notreached@*/ /*@switchbreak@*/ break;
+ break;
}
}
ec = PGPARMOR_NONE;
@@ -1286,7 +1203,6 @@ exit:
*pktlen = blen;
return ec;
}
-/*@=boundswrite@*/
char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns)
{
@@ -1297,7 +1213,6 @@ char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns)
int lc;
nt = ((ns + 2) / 3) * 4;
- /*@-globs@*/
/* Add additional bytes necessary for eol string(s). */
if (b64encode_chars_per_line > 0 && b64encode_eolstr != NULL) {
lc = (nt + b64encode_chars_per_line - 1) / b64encode_chars_per_line;
@@ -1305,18 +1220,14 @@ char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns)
++lc;
nt += lc * strlen(b64encode_eolstr);
}
- /*@=globs@*/
nt += 512; /* XXX slop for armor and crc */
-/*@-boundswrite@*/
val = t = xmalloc(nt + 1);
*t = '\0';
t = stpcpy(t, "-----BEGIN PGP ");
t = stpcpy(t, pgpValStr(pgpArmorTbl, atype));
- /*@-globs@*/
t = stpcpy( stpcpy(t, "-----\nVersion: rpm-"), VERSION);
- /*@=globs@*/
t = stpcpy(t, " (beecrypt-4.1.2)\n\n");
if ((enc = b64encode(s, ns)) != NULL) {
@@ -1332,9 +1243,7 @@ char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns)
t = stpcpy(t, "-----END PGP ");
t = stpcpy(t, pgpValStr(pgpArmorTbl, atype));
t = stpcpy(t, "-----\n");
-/*@=boundswrite@*/
return val;
}
-/*@=boundsread@*/
diff --git a/rpmio/rpmpgp.h b/rpmio/rpmpgp.h
index d90d4e73c..758aee81d 100644
--- a/rpmio/rpmpgp.h
+++ b/rpmio/rpmpgp.h
@@ -13,20 +13,18 @@
#include <string.h>
#if !defined(_BEECRYPT_API_H)
-/*@-redef@*/
typedef unsigned char byte;
-/*@=redef@*/
#endif /* _BEECRYPT_API_H */
/**
*/
-typedef /*@abstract@*/ struct DIGEST_CTX_s * DIGEST_CTX;
+typedef struct DIGEST_CTX_s * DIGEST_CTX;
/**
*/
typedef const struct pgpValTbl_s {
int val;
-/*@observer@*/ const char * str;
+const char * str;
} * pgpValTbl;
/**
@@ -64,7 +62,6 @@ typedef enum pgpTag_e {
/**
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpTagTbl[];
/**
@@ -114,7 +111,6 @@ typedef struct pgpPktPubkey_s {
* There are a number of possible meanings for a signature, which are
* specified in a signature type octet in any given signature.
*/
-/*@-typeuse@*/
typedef enum pgpSigType_e {
PGPSIGTYPE_BINARY = 0x00, /*!< Binary document */
PGPSIGTYPE_TEXT = 0x01, /*!< Canonical text document */
@@ -134,11 +130,9 @@ typedef enum pgpSigType_e {
PGPSIGTYPE_CERT_REVOKE = 0x30, /*!< Certification revocation */
PGPSIGTYPE_TIMESTAMP = 0x40 /*!< Timestamp */
} pgpSigType;
-/*@=typeuse@*/
/**
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpSigTypeTbl[];
/**
@@ -164,7 +158,6 @@ extern struct pgpValTbl_s pgpSigTypeTbl[];
* encryption. Implementations SHOULD implement RSA keys.
* Implementations MAY implement any other algorithm.
*/
-/*@-typeuse@*/
typedef enum pgpPubkeyAlgo_e {
PGPPUBKEYALGO_RSA = 1, /*!< RSA */
PGPPUBKEYALGO_RSA_ENCRYPT = 2, /*!< RSA(Encrypt-Only) */
@@ -176,11 +169,9 @@ typedef enum pgpPubkeyAlgo_e {
PGPPUBKEYALGO_ELGAMAL = 20, /*!< Elgamal */
PGPPUBKEYALGO_DH = 21 /*!< Diffie-Hellman (X9.42) */
} pgpPubkeyAlgo;
-/*@=typeuse@*/
/**
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpPubkeyTbl[];
/**
@@ -207,7 +198,6 @@ extern struct pgpValTbl_s pgpPubkeyTbl[];
* implement IDEA and CAST5. Implementations MAY implement any other
* algorithm.
*/
-/*@-typeuse@*/
typedef enum pgpSymkeyAlgo_e {
PGPSYMKEYALGO_PLAINTEXT = 0, /*!< Plaintext */
PGPSYMKEYALGO_IDEA = 1, /*!< IDEA */
@@ -222,12 +212,10 @@ typedef enum pgpSymkeyAlgo_e {
PGPSYMKEYALGO_TWOFISH = 10, /*!< TWOFISH(256-bit key) */
PGPSYMKEYALGO_NOENCRYPT = 110 /*!< no encryption */
} pgpSymkeyAlgo;
-/*@=typeuse@*/
/**
* Symmetric key (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpSymkeyTbl[];
/**
@@ -245,19 +233,16 @@ extern struct pgpValTbl_s pgpSymkeyTbl[];
* Implementations MUST implement uncompressed data. Implementations
* SHOULD implement ZIP. Implementations MAY implement ZLIB.
*/
-/*@-typeuse@*/
typedef enum pgpCompressAlgo_e {
PGPCOMPRESSALGO_NONE = 0, /*!< Uncompressed */
PGPCOMPRESSALGO_ZIP = 1, /*!< ZIP */
PGPCOMPRESSALGO_ZLIB = 2, /*!< ZLIB */
PGPCOMPRESSALGO_BZIP2 = 3 /*!< BZIP2 */
} pgpCompressAlgo;
-/*@=typeuse@*/
/**
* Compression (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpCompressionTbl[];
/**
@@ -296,7 +281,6 @@ typedef enum pgpHashAlgo_e {
/**
* Hash (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpHashTbl[];
/**
@@ -426,7 +410,6 @@ typedef struct pgpPktSigV4_s {
* marked critical but is unknown to the evaluating software, the
* evaluator SHOULD consider the signature to be in error.
*/
-/*@-typeuse@*/
typedef enum pgpSubType_e {
PGPSUBTYPE_NONE = 0, /*!< none */
PGPSUBTYPE_SIG_CREATE_TIME = 2, /*!< signature creation time */
@@ -467,12 +450,10 @@ typedef enum pgpSubType_e {
PGPSUBTYPE_CRITICAL = 128 /*!< critical subpacket marker */
} pgpSubType;
-/*@=typeuse@*/
/**
* Subtype (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpSubTypeTbl[];
/**
@@ -926,7 +907,6 @@ union pgpPktPre_u {
/**
*/
-/*@-typeuse@*/
typedef enum pgpArmor_e {
PGPARMOR_ERR_CRC_CHECK = -7,
PGPARMOR_ERR_BODY_DECODE = -6,
@@ -945,17 +925,14 @@ typedef enum pgpArmor_e {
PGPARMOR_PRIVKEY = 6, /*!< PRIVATE KEY BLOCK */
PGPARMOR_SECKEY = 7 /*!< SECRET KEY BLOCK */
} pgpArmor;
-/*@=typeuse@*/
/**
* Armor (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpArmorTbl[];
/**
*/
-/*@-typeuse@*/
typedef enum pgpArmorKey_e {
PGPARMORKEY_VERSION = 1, /*!< Version: */
PGPARMORKEY_COMMENT = 2, /*!< Comment: */
@@ -963,12 +940,10 @@ typedef enum pgpArmorKey_e {
PGPARMORKEY_HASH = 4, /*!< Hash: */
PGPARMORKEY_CHARSET = 5 /*!< Charset: */
} pgpArmorKey;
-/*@=typeuse@*/
/**
* Armor key (string, value) pairs.
*/
-/*@observer@*/ /*@unchecked@*/ /*@unused@*/
extern struct pgpValTbl_s pgpArmorKeyTbl[];
/** \ingroup rpmio
@@ -979,7 +954,6 @@ typedef enum rpmDigestFlags_e {
} rpmDigestFlags;
-/*@-fcnuse@*/
#ifdef __cplusplus
extern "C" {
#endif
@@ -990,16 +964,13 @@ extern "C" {
* @param nbytes no. of bytes
* @return native-endian integer
*/
-/*@unused@*/ static inline
+static inline
unsigned int pgpGrab(const byte *s, int nbytes)
- /*@*/
{
unsigned int i = 0;
int nb = (nbytes <= sizeof(i) ? nbytes : sizeof(i));
-/*@-boundsread@*/
while (nb--)
i = (i << 8) | *s++;
-/*@=boundsread@*/
return i;
}
@@ -1009,11 +980,9 @@ unsigned int pgpGrab(const byte *s, int nbytes)
* @retval *lenp no. of bytes in packet
* @return no. of bytes in length prefix
*/
-/*@unused@*/ static inline
-int pgpLen(const byte *s, /*@out@*/ unsigned int *lenp)
- /*@modifies *lenp @*/
+static inline
+int pgpLen(const byte *s, unsigned int *lenp)
{
-/*@-boundswrite@*/
if (*s < 192) {
(*lenp) = *s++;
return 1;
@@ -1024,7 +993,6 @@ int pgpLen(const byte *s, /*@out@*/ unsigned int *lenp)
(*lenp) = pgpGrab(s+1, 4);
return 5;
}
-/*@=boundswrite@*/
}
/**
@@ -1032,10 +1000,8 @@ int pgpLen(const byte *s, /*@out@*/ unsigned int *lenp)
* @param p pointer to multiprecision integer
* @return no. of bits
*/
-/*@unused@*/ static inline
+static inline
unsigned int pgpMpiBits(const byte *p)
- /*@requires maxRead(p) >= 1 @*/
- /*@*/
{
return ((p[0] << 8) | p[1]);
}
@@ -1045,10 +1011,8 @@ unsigned int pgpMpiBits(const byte *p)
* @param p pointer to multiprecision integer
* @return no. of bytes
*/
-/*@unused@*/ static inline
+static inline
unsigned int pgpMpiLen(const byte *p)
- /*@requires maxRead(p) >= 1 @*/
- /*@*/
{
return (2 + ((pgpMpiBits(p)+7)>>3));
}
@@ -1060,12 +1024,10 @@ unsigned int pgpMpiLen(const byte *p)
* @param nbytes no. of bytes
* @return target buffer
*/
-/*@unused@*/ static inline
-char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
- /*@modifies *t @*/
+static inline
+char * pgpHexCvt(char *t, const byte *s, int nbytes)
{
static char hex[] = "0123456789abcdef";
-/*@-boundswrite@*/
while (nbytes-- > 0) {
unsigned int i;
i = *s++;
@@ -1073,7 +1035,6 @@ char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
*t++ = hex[ (i ) & 0xf ];
}
*t = '\0';
-/*@=boundswrite@*/
return t;
}
@@ -1084,9 +1045,8 @@ char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
* @param plen no. of bytes
* @return hex formatted string
*/
-/*@unused@*/ static inline /*@observer@*/
+static inline
char * pgpHexStr(const byte *p, unsigned int plen)
- /*@*/
{
static char prbuf[8*BUFSIZ]; /* XXX ick */
char *t = prbuf;
@@ -1100,10 +1060,8 @@ char * pgpHexStr(const byte *p, unsigned int plen)
* @param p bytes
* @return hex formatted string
*/
-/*@unused@*/ static inline /*@observer@*/
+static inline
const char * pgpMpiStr(const byte *p)
- /*@requires maxRead(p) >= 3 @*/
- /*@*/
{
static char prbuf[8*BUFSIZ]; /* XXX ick */
char *t = prbuf;
@@ -1119,9 +1077,8 @@ const char * pgpMpiStr(const byte *p)
* @param val byte value to lookup
* @return string value of byte
*/
-/*@unused@*/ static inline /*@observer@*/
+static inline
const char * pgpValStr(pgpValTbl vs, byte val)
- /*@*/
{
do {
if (vs->val == val)
@@ -1137,9 +1094,8 @@ const char * pgpValStr(pgpValTbl vs, byte val)
* @param se end-of-string address
* @return byte value
*/
-/*@unused@*/ static inline
+static inline
int pgpValTok(pgpValTbl vs, const char * s, const char * se)
- /*@*/
{
do {
int vlen = strlen(vs->str);
@@ -1149,16 +1105,13 @@ int pgpValTok(pgpValTbl vs, const char * s, const char * se)
return vs->val;
}
-/*@-exportlocal@*/
/**
* Print an OpenPGP value.
* @param pre output prefix
* @param vs table of (string,value) pairs
* @param val byte value to print
*/
-void pgpPrtVal(const char * pre, pgpValTbl vs, byte val)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+void pgpPrtVal(const char * pre, pgpValTbl vs, byte val);
/**
* Print/parse an OpenPGP subtype packet.
@@ -1167,9 +1120,7 @@ void pgpPrtVal(const char * pre, pgpValTbl vs, byte val)
* @param sigtype signature type
* @return 0 on success
*/
-int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype);
/**
* Print/parse an OpenPGP signature packet.
@@ -1178,9 +1129,7 @@ int pgpPrtSubType(const byte *h, unsigned int hlen, pgpSigType sigtype)
* @param hlen packet length (no. of bytes)
* @return 0 on success
*/
-int pgpPrtSig(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int pgpPrtSig(pgpTag tag, const byte *h, unsigned int hlen);
/**
* Print/parse an OpenPGP key packet.
@@ -1189,9 +1138,7 @@ int pgpPrtSig(pgpTag tag, const byte *h, unsigned int hlen)
* @param hlen packet length (no. of bytes)
* @return 0 on success
*/
-int pgpPrtKey(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int pgpPrtKey(pgpTag tag, const byte *h, unsigned int hlen);
/**
* Print/parse an OpenPGP userid packet.
@@ -1200,9 +1147,7 @@ int pgpPrtKey(pgpTag tag, const byte *h, unsigned int hlen)
* @param hlen packet length (no. of bytes)
* @return 0 on success
*/
-int pgpPrtUserID(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int pgpPrtUserID(pgpTag tag, const byte *h, unsigned int hlen);
/**
* Print/parse an OpenPGP comment packet.
@@ -1211,9 +1156,7 @@ int pgpPrtUserID(pgpTag tag, const byte *h, unsigned int hlen)
* @param hlen packet length (no. of bytes)
* @return 0 on success
*/
-int pgpPrtComment(pgpTag tag, const byte *h, unsigned int hlen)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/;
+int pgpPrtComment(pgpTag tag, const byte *h, unsigned int hlen);
/**
* Calculate OpenPGP public key fingerprint.
@@ -1224,8 +1167,7 @@ int pgpPrtComment(pgpTag tag, const byte *h, unsigned int hlen)
* @return 0 on sucess, else -1
*/
int pgpPubkeyFingerprint(const byte * pkt, unsigned int pktlen,
- /*@out@*/ byte * keyid)
- /*@modifies *keyid @*/;
+ byte * keyid);
/**
* Print/parse next OpenPGP packet.
@@ -1233,10 +1175,7 @@ int pgpPubkeyFingerprint(const byte * pkt, unsigned int pktlen,
* @param pleft no. bytes remaining
* @return -1 on error, otherwise this packet length
*/
-int pgpPrtPkt(const byte *pkt, unsigned int pleft)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
-/*@=exportlocal@*/
+int pgpPrtPkt(const byte *pkt, unsigned int pleft);
/**
* Print/parse a OpenPGP packet(s).
@@ -1246,9 +1185,7 @@ int pgpPrtPkt(const byte *pkt, unsigned int pleft)
* @param printing should packets be printed?
* @return -1 on error, 0 on success
*/
-int pgpPrtPkts(const byte *pkts, unsigned int pktlen, pgpDig dig, int printing)
- /*@globals fileSystem, internalState @*/
- /*@modifies dig, fileSystem, internalState @*/;
+int pgpPrtPkts(const byte *pkts, unsigned int pktlen, pgpDig dig, int printing);
/**
* Parse armored OpenPGP packets from a file.
@@ -1258,9 +1195,7 @@ int pgpPrtPkts(const byte *pkts, unsigned int pktlen, pgpDig dig, int printing)
* @return type of armor found
*/
pgpArmor pgpReadPkts(const char * fn,
- /*@out@*/ const byte ** pkt, /*@out@*/ size_t * pktlen)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *pkt, *pktlen, fileSystem, internalState @*/;
+ const byte ** pkt, size_t * pktlen);
/**
* Wrap a OpenPGP packets in ascii armor for transport.
@@ -1269,45 +1204,36 @@ pgpArmor pgpReadPkts(const char * fn,
* @param ns binary pkt data length
* @return formatted string
*/
-char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns)
- /*@*/;
+char * pgpArmorWrap(int atype, const unsigned char * s, size_t ns);
/**
* Create a container for parsed OpenPGP packates.
* @return container
*/
-/*@only@*/
-pgpDig pgpNewDig(void)
- /*@*/;
+pgpDig pgpNewDig(void);
/**
* Release (malloc'd) data from container.
* @param dig container
*/
-void pgpCleanDig(/*@null@*/ pgpDig dig)
- /*@modifies dig @*/;
+void pgpCleanDig(pgpDig dig);
/**
* Destroy a container for parsed OpenPGP packates.
* @param dig container
* @return NULL always
*/
-/*@only@*/ /*@null@*/
-pgpDig pgpFreeDig(/*@only@*/ /*@null@*/ pgpDig dig)
- /*@modifies dig @*/;
+pgpDig pgpFreeDig(pgpDig dig);
/**
* Is buffer at beginning of an OpenPGP packet?
* @param p buffer
* @return 1 if an OpenPGP packet, 0 otherwise
*/
-/*@unused@*/ static inline
+static inline
int pgpIsPkt(const byte * p)
- /*@*/
{
-/*@-boundsread@*/
unsigned int val = *p++;
-/*@=boundsread@*/
pgpTag tag;
int rc;
@@ -1363,17 +1289,14 @@ int pgpIsPkt(const byte * p)
* @param len no. of bytes
* @return crc of buffer
*/
-/*@unused@*/ static inline
+static inline
unsigned int pgpCRC(const byte *octets, size_t len)
- /*@*/
{
unsigned int crc = CRC24_INIT;
int i;
while (len--) {
-/*@-boundsread@*/
crc ^= (*octets++) << 16;
-/*@=boundsread@*/
for (i = 0; i < 8; i++) {
crc <<= 1;
if (crc & 0x1000000)
@@ -1388,9 +1311,7 @@ unsigned int pgpCRC(const byte *octets, size_t len)
* @param octx existing digest context
* @return duplicated digest context
*/
-/*@only@*/
-DIGEST_CTX rpmDigestDup(DIGEST_CTX octx)
- /*@*/;
+DIGEST_CTX rpmDigestDup(DIGEST_CTX octx);
/** \ingroup rpmio
* Initialize digest.
@@ -1399,9 +1320,7 @@ DIGEST_CTX rpmDigestDup(DIGEST_CTX octx)
* @param flags bit(s) to control digest operation
* @return digest context
*/
-/*@only@*/ /*@null@*/
-DIGEST_CTX rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
- /*@*/;
+DIGEST_CTX rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags);
/** \ingroup rpmio
* Update context with next plain text buffer.
@@ -1410,8 +1329,7 @@ DIGEST_CTX rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
* @param len no. bytes of data
* @return 0 on success
*/
-int rpmDigestUpdate(/*@null@*/ DIGEST_CTX ctx, const void * data, size_t len)
- /*@modifies ctx @*/;
+int rpmDigestUpdate(DIGEST_CTX ctx, const void * data, size_t len);
/** \ingroup rpmio
* Return digest and destroy context.
@@ -1424,14 +1342,12 @@ int rpmDigestUpdate(/*@null@*/ DIGEST_CTX ctx, const void * data, size_t len)
* @param asAscii return digest as ascii string?
* @return 0 on success
*/
-int rpmDigestFinal(/*@only@*/ /*@null@*/ DIGEST_CTX ctx,
- /*@null@*/ /*@out@*/ void ** datap,
- /*@null@*/ /*@out@*/ size_t * lenp, int asAscii)
- /*@modifies *datap, *lenp @*/;
+int rpmDigestFinal(DIGEST_CTX ctx,
+ void ** datap,
+ size_t * lenp, int asAscii);
#ifdef __cplusplus
}
#endif
-/*@=fcnuse@*/
#endif /* H_RPMPGP */
diff --git a/rpmio/rpmrpc.c b/rpmio/rpmrpc.c
index a13ab3bb0..dc9102693 100644
--- a/rpmio/rpmrpc.c
+++ b/rpmio/rpmrpc.c
@@ -16,27 +16,21 @@
#include "ugid.h"
#include "debug.h"
-/*@access DIR @*/
-/*@access FD_t @*/
-/*@access urlinfo @*/
/**
* Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
- /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
}
/* =============================================================== */
-static int ftpMkdir(const char * path, /*@unused@*/ mode_t mode)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
+static int ftpMkdir(const char * path, mode_t mode)
{
int rc;
if ((rc = ftpCmd("MKD", path, NULL)) != 0)
@@ -51,22 +45,16 @@ static int ftpMkdir(const char * path, /*@unused@*/ mode_t mode)
}
static int ftpChdir(const char * path)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
return ftpCmd("CWD", path, NULL);
}
static int ftpRmdir(const char * path)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
return ftpCmd("RMD", path, NULL);
}
static int ftpRename(const char * oldpath, const char * newpath)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
int rc;
if ((rc = ftpCmd("RNFR", oldpath, NULL)) != 0)
@@ -75,8 +63,6 @@ static int ftpRename(const char * oldpath, const char * newpath)
}
static int ftpUnlink(const char * path)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
return ftpCmd("DELE", path, NULL);
}
@@ -90,23 +76,22 @@ int Mkdir (const char * path, mode_t mode)
switch (ut) {
case URL_IS_FTP:
return ftpMkdir(path, mode);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davMkdir(path, mode);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return mkdir(path, mode);
}
@@ -119,7 +104,7 @@ int Chdir (const char * path)
switch (ut) {
case URL_IS_FTP:
return ftpChdir(path);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef NOTYET
@@ -127,17 +112,16 @@ int Chdir (const char * path)
#else
return -2;
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return chdir(path);
}
@@ -150,23 +134,22 @@ int Rmdir (const char * path)
switch (ut) {
case URL_IS_FTP:
return ftpRmdir(path);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davRmdir(path);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return rmdir(path);
}
@@ -189,7 +172,7 @@ int Rename (const char * oldpath, const char * newpath)
#ifdef WITH_NEON
return davRename(oldpath, newpath);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_FTP: /* XXX WRONG WRONG WRONG */
case URL_IS_PATH:
case URL_IS_UNKNOWN:
@@ -198,7 +181,7 @@ int Rename (const char * oldpath, const char * newpath)
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
newut = urlPath(newpath, &ne);
@@ -210,7 +193,7 @@ fprintf(stderr, "*** rename old %*s new %*s\n", (int)(oe - oldpath), oldpath, (i
!xstrncasecmp(oldpath, newpath, (oe - oldpath))))
return -2;
return ftpRename(oldpath, newpath);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS: /* XXX WRONG WRONG WRONG */
case URL_IS_HTTP: /* XXX WRONG WRONG WRONG */
case URL_IS_PATH:
@@ -223,7 +206,7 @@ fprintf(stderr, "*** rename old %*s new %*s\n", (int)(oe - oldpath), oldpath, (i
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return rename(oldpath, newpath);
}
@@ -246,7 +229,7 @@ int Link (const char * oldpath, const char * newpath)
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
newut = urlPath(newpath, &ne);
@@ -269,7 +252,7 @@ fprintf(stderr, "*** link old %*s new %*s\n", (int)(oe - oldpath), oldpath, (int
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return link(oldpath, newpath);
}
@@ -283,23 +266,22 @@ int Unlink(const char * path) {
switch (ut) {
case URL_IS_FTP:
return ftpUnlink(path);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davUnlink(path);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return unlink(path);
}
@@ -312,26 +294,18 @@ int Unlink(const char * path) {
/*
* FIXME: this is broken. It depends on mc not crossing border on month!
*/
-/*@unchecked@*/
static int current_mday;
-/*@unchecked@*/
static int current_mon;
-/*@unchecked@*/
static int current_year;
/* Following stuff (parse_ls_lga) is used by ftpfs and extfs */
#define MAXCOLS 30
-/*@unchecked@*/
static char *columns [MAXCOLS]; /* Points to the string in column n */
-/*@unchecked@*/
static int column_ptr [MAXCOLS]; /* Index from 0 to the starting positions of the columns */
-/*@-boundswrite@*/
static int
vfs_split_text (char *p)
- /*@globals columns, column_ptr @*/
- /*@modifies *p, columns, column_ptr @*/
{
char *original = p;
int numcols;
@@ -349,41 +323,31 @@ vfs_split_text (char *p)
}
return numcols;
}
-/*@=boundswrite@*/
-/*@-boundsread@*/
static int
is_num (int idx)
- /*@*/
{
if (!columns [idx] || columns [idx][0] < '0' || columns [idx][0] > '9')
return 0;
return 1;
}
-/*@=boundsread@*/
-/*@-boundsread@*/
static int
-is_dos_date(/*@null@*/ const char *str)
- /*@*/
+is_dos_date(const char *str)
{
if (str != NULL && strlen(str) == 8 &&
str[2] == str[5] && strchr("\\-/", (int)str[2]) != NULL)
return 1;
return 0;
}
-/*@=boundsread@*/
static int
-is_week (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
- /*@modifies *tim @*/
+is_week (const char * str, struct tm * tim)
{
-/*@observer@*/ static const char * week = "SunMonTueWedThuFriSat";
+static const char * week = "SunMonTueWedThuFriSat";
const char * pos;
- /*@-observertrans -mayaliasunique@*/
if (str != NULL && (pos=strstr(week, str)) != NULL) {
- /*@=observertrans =mayaliasunique@*/
if (tim != NULL)
tim->tm_wday = (pos - week)/3;
return 1;
@@ -392,15 +356,12 @@ is_week (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
}
static int
-is_month (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
- /*@modifies *tim @*/
+is_month (const char * str, struct tm * tim)
{
-/*@observer@*/ static const char * month = "JanFebMarAprMayJunJulAugSepOctNovDec";
+static const char * month = "JanFebMarAprMayJunJulAugSepOctNovDec";
const char * pos;
- /*@-observertrans -mayaliasunique@*/
if (str != NULL && (pos = strstr(month, str)) != NULL) {
- /*@=observertrans -mayaliasunique@*/
if (tim != NULL)
tim->tm_mon = (pos - month)/3;
return 1;
@@ -409,8 +370,7 @@ is_month (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
}
static int
-is_time (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
- /*@modifies *tim @*/
+is_time (const char * str, struct tm * tim)
{
const char * p, * p2;
@@ -428,8 +388,7 @@ is_time (/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
return 1;
}
-static int is_year(/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
- /*@modifies *tim @*/
+static int is_year(const char * str, struct tm * tim)
{
long year;
@@ -461,7 +420,6 @@ static int is_year(/*@null@*/ const char * str, /*@out@*/ struct tm * tim)
static int
vfs_parse_filetype (char c)
- /*@*/
{
switch (c) {
case 'd': return S_IFDIR;
@@ -480,7 +438,6 @@ vfs_parse_filetype (char c)
}
static int vfs_parse_filemode (const char *p)
- /*@*/
{ /* converts rw-rw-rw- into 0666 */
int res = 0;
switch (*(p++)) {
@@ -538,9 +495,7 @@ static int vfs_parse_filemode (const char *p)
return res;
}
-/*@-boundswrite@*/
-static int vfs_parse_filedate(int idx, /*@out@*/ time_t *t)
- /*@modifies *t @*/
+static int vfs_parse_filedate(int idx, time_t *t)
{ /* This thing parses from idx in columns[] array */
char *p;
@@ -585,9 +540,7 @@ static int vfs_parse_filedate(int idx, /*@out@*/ time_t *t)
/* Here just this special case with MM-DD-YY */
if (is_dos_date(p)){
- /*@-mods@*/
p[2] = p[5] = '-';
- /*@=mods@*/
memset(d, 0, sizeof(d));
if (sscanf(p, "%2d-%2d-%2d", &d[0], &d[1], &d[2]) == 3){
@@ -646,14 +599,11 @@ static int vfs_parse_filedate(int idx, /*@out@*/ time_t *t)
*t = 0;
return idx;
}
-/*@=boundswrite@*/
-/*@-boundswrite@*/
static int
-vfs_parse_ls_lga (char * p, /*@out@*/ struct stat * st,
- /*@out@*/ const char ** filename,
- /*@out@*/ const char ** linkname)
- /*@modifies *p, *st, *filename, *linkname @*/
+vfs_parse_ls_lga (char * p, struct stat * st,
+ const char ** filename,
+ const char ** linkname)
{
int idx, idx2, num_cols;
int i;
@@ -676,13 +626,11 @@ vfs_parse_ls_lga (char * p, /*@out@*/ struct stat * st,
if (strlen (p) <= 8 || p [8] != ']')
goto error;
/* Should parse here the Notwell permissions :) */
- /*@-unrecog@*/
if (S_ISDIR (st->st_mode))
st->st_mode |= (S_IRUSR | S_IRGRP | S_IROTH | S_IWUSR | S_IXUSR | S_IXGRP | S_IXOTH);
else
st->st_mode |= (S_IRUSR | S_IRGRP | S_IROTH | S_IWUSR);
p += 9;
- /*@=unrecog@*/
} else {
if ((i = vfs_parse_filemode(p)) == -1)
goto error;
@@ -846,13 +794,10 @@ error:
}
#endif
- /*@-usereleased@*/
if (p_copy != p) /* Carefull! */
- /*@=usereleased@*/
g_free (p_copy);
return 0;
}
-/*@=boundswrite@*/
typedef enum {
DO_FTP_STAT = 1,
@@ -864,20 +809,17 @@ typedef enum {
/**
*/
-/*@unchecked@*/
static size_t ftpBufAlloced = 0;
/**
*/
-/*@unchecked@*/
-static /*@only@*/ char * ftpBuf = NULL;
+static char * ftpBuf = NULL;
#define alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s))
-/*@-boundswrite@*/
static int ftpNLST(const char * url, ftpSysCall_t ftpSysCall,
- /*@out@*/ /*@null@*/ struct stat * st,
- /*@out@*/ /*@null@*/ char * rlbuf, size_t rlbufsiz)
+ struct stat * st,
+ char * rlbuf, size_t rlbufsiz)
/*@globals ftpBufAlloced, ftpBuf,
h_errno, fileSystem, internalState @*/
/*@modifies *st, *rlbuf, ftpBufAlloced, ftpBuf,
@@ -910,14 +852,12 @@ static int ftpNLST(const char * url, ftpSysCall_t ftpSysCall,
break;
default:
urldn = alloca_strdup(url);
- /*@-branchstate@*/
if ((bn = strrchr(urldn, '/')) == NULL)
return -2;
else if (bn == path)
bn = ".";
else
*bn++ = '\0';
- /*@=branchstate@*/
nbn = strlen(bn);
rc = ftpChdir(urldn); /* XXX don't care about CWD */
@@ -980,44 +920,44 @@ static int ftpNLST(const char * url, ftpSysCall_t ftpSysCall,
while (*se && *se != '\n') se++;
if (se > s && se[-1] == '\r') se[-1] = '\0';
if (*se == '\0')
- /*@innerbreak@*/ break;
+ break;
*se++ = '\0';
if (!strncmp(s, "total ", sizeof("total ")-1))
- /*@innercontinue@*/ continue;
+ continue;
o = NULL;
for (bingo = 0, n = se; n >= s; n--) {
switch (*n) {
case '\0':
oe = ne = n;
- /*@switchbreak@*/ break;
+ break;
case ' ':
if (o || !(n[-3] == ' ' && n[-2] == '-' && n[-1] == '>')) {
while (*(++n) == ' ')
{};
bingo++;
- /*@switchbreak@*/ break;
+ break;
}
for (o = n + 1; *o == ' '; o++)
{};
n -= 3;
ne = n;
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
if (bingo)
- /*@innerbreak@*/ break;
+ break;
}
if (nbn != (ne - n)) /* Same name length? */
- /*@innercontinue@*/ continue;
+ continue;
if (strncmp(n, bn, nbn)) /* Same name? */
- /*@innercontinue@*/ continue;
+ continue;
moretodo = 0;
- /*@innerbreak@*/ break;
+ break;
}
if (moretodo && se > s) {
@@ -1034,7 +974,6 @@ static int ftpNLST(const char * url, ftpSysCall_t ftpSysCall,
if (o && oe) {
/* XXX FIXME: symlink, replace urldn/bn from [o,oe) and restart */
}
- /*@fallthrough@*/
case DO_FTP_LSTAT:
if (st == NULL || !(n && ne)) {
rc = -1;
@@ -1066,11 +1005,9 @@ exit:
(void) ufdClose(fd);
return rc;
}
-/*@=boundswrite@*/
static const char * statstr(const struct stat * st,
- /*@returned@*/ /*@out@*/ char * buf)
- /*@modifies *buf @*/
+ char * buf)
{
sprintf(buf,
"*** dev %x ino %x mode %0o nlink %d uid %d gid %d rdev %x size %x\n",
@@ -1085,13 +1022,10 @@ static const char * statstr(const struct stat * st,
return buf;
}
-/*@unchecked@*/
static int ftp_st_ino = 0xdead0000;
/* FIXME: borked for path with trailing '/' */
-static int ftpStat(const char * path, /*@out@*/ struct stat *st)
- /*@globals ftp_st_ino, h_errno, fileSystem, internalState @*/
- /*@modifies *st, ftp_st_ino, fileSystem, internalState @*/
+static int ftpStat(const char * path, struct stat *st)
{
char buf[1024];
int rc;
@@ -1105,9 +1039,7 @@ fprintf(stderr, "*** ftpStat(%s) rc %d\n%s", path, rc, statstr(st, buf));
}
/* FIXME: borked for path with trailing '/' */
-static int ftpLstat(const char * path, /*@out@*/ struct stat *st)
- /*@globals ftp_st_ino, h_errno, fileSystem, internalState @*/
- /*@modifies *st, ftp_st_ino, fileSystem, internalState @*/
+static int ftpLstat(const char * path, struct stat *st)
{
char buf[1024];
int rc;
@@ -1120,9 +1052,7 @@ fprintf(stderr, "*** ftpLstat(%s) rc %d\n%s\n", path, rc, statstr(st, buf));
return rc;
}
-static int ftpReadlink(const char * path, /*@out@*/ char * buf, size_t bufsiz)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies *buf, fileSystem, internalState @*/
+static int ftpReadlink(const char * path, char * buf, size_t bufsiz)
{
int rc;
rc = ftpNLST(path, DO_FTP_READLINK, NULL, buf, bufsiz);
@@ -1131,11 +1061,7 @@ fprintf(stderr, "*** ftpReadlink(%s) rc %d\n", path, rc);
return rc;
}
-/*@-boundswrite@*/
-/*@null@*/
static DIR * ftpOpendir(const char * path)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/
{
AVDIR avdir;
struct dirent * dp;
@@ -1167,7 +1093,7 @@ fprintf(stderr, "*** ftpOpendir(%s)\n", path);
switch (c) {
case '/':
sb = se;
- /*@switchbreak@*/ break;
+ break;
case '\r':
if (sb == NULL) {
for (sb = se; sb > s && sb[-1] != ' '; sb--)
@@ -1179,41 +1105,33 @@ fprintf(stderr, "*** ftpOpendir(%s)\n", path);
if (*se == '\n') se++;
sb = NULL;
s = se;
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
nb += sizeof(*avdir) + sizeof(*dp) + ((ac + 1) * sizeof(*av)) + (ac + 1);
avdir = xcalloc(1, nb);
- /*@-abstract@*/
dp = (struct dirent *) (avdir + 1);
av = (const char **) (dp + 1);
dt = (unsigned char *) (av + (ac + 1));
t = (char *) (dt + ac + 1);
- /*@=abstract@*/
avdir->fd = avmagicdir;
-/*@-usereleased@*/
avdir->data = (char *) dp;
-/*@=usereleased@*/
avdir->allocation = nb;
avdir->size = ac;
avdir->offset = -1;
avdir->filepos = 0;
#if defined(HAVE_PTHREAD_H)
-/*@-moduncon -noeffectuncon@*/
(void) pthread_mutex_init(&avdir->lock, NULL);
-/*@=moduncon =noeffectuncon@*/
#endif
ac = 0;
- /*@-dependenttrans -unrecog@*/
dt[ac] = DT_DIR; av[ac++] = t; t = stpcpy(t, "."); t++;
dt[ac] = DT_DIR; av[ac++] = t; t = stpcpy(t, ".."); t++;
- /*@=dependenttrans =unrecog@*/
sb = NULL;
s = se = ftpBuf;
while ((c = *se) != '\0') {
@@ -1221,40 +1139,36 @@ fprintf(stderr, "*** ftpOpendir(%s)\n", path);
switch (c) {
case '/':
sb = se;
- /*@switchbreak@*/ break;
+ break;
case '\r':
- /*@-dependenttrans@*/
av[ac] = t;
- /*@=dependenttrans@*/
if (sb == NULL) {
- /*@-unrecog@*/
switch(*s) {
case 'p':
dt[ac] = DT_FIFO;
- /*@innerbreak@*/ break;
+ break;
case 'c':
dt[ac] = DT_CHR;
- /*@innerbreak@*/ break;
+ break;
case 'd':
dt[ac] = DT_DIR;
- /*@innerbreak@*/ break;
+ break;
case 'b':
dt[ac] = DT_BLK;
- /*@innerbreak@*/ break;
+ break;
case '-':
dt[ac] = DT_REG;
- /*@innerbreak@*/ break;
+ break;
case 'l':
dt[ac] = DT_LNK;
- /*@innerbreak@*/ break;
+ break;
case 's':
dt[ac] = DT_SOCK;
- /*@innerbreak@*/ break;
+ break;
default:
dt[ac] = DT_UNKNOWN;
- /*@innerbreak@*/ break;
+ break;
}
- /*@=unrecog@*/
for (sb = se; sb > s && sb[-1] != ' '; sb--)
{};
}
@@ -1264,18 +1178,15 @@ fprintf(stderr, "*** ftpOpendir(%s)\n", path);
if (*se == '\n') se++;
sb = NULL;
s = se;
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
av[ac] = NULL;
-/*@-kepttrans@*/
return (DIR *) avdir;
-/*@=kepttrans@*/
}
-/*@=boundswrite@*/
int Stat(const char * path, struct stat * st)
{
@@ -1287,23 +1198,22 @@ fprintf(stderr, "*** Stat(%s,%p)\n", path, st);
switch (ut) {
case URL_IS_FTP:
return ftpStat(path, st);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davStat(path, st);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return stat(path, st);
}
@@ -1318,23 +1228,22 @@ fprintf(stderr, "*** Lstat(%s,%p)\n", path, st);
switch (ut) {
case URL_IS_FTP:
return ftpLstat(path, st);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davLstat(path, st);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return lstat(path, st);
}
@@ -1347,7 +1256,7 @@ int Readlink(const char * path, char * buf, size_t bufsiz)
switch (ut) {
case URL_IS_FTP:
return ftpReadlink(path, buf, bufsiz);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef NOTYET
@@ -1355,21 +1264,19 @@ int Readlink(const char * path, char * buf, size_t bufsiz)
#else
return -2;
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
-/*@-compdef@*/ /* FIX: *buf is undefined */
+/* FIX: *buf is undefined */
return readlink(path, buf, bufsiz);
-/*@=compdef@*/
}
int Access(const char * path, int amode)
@@ -1385,14 +1292,13 @@ fprintf(stderr, "*** Access(%s,%d)\n", path, amode);
case URL_IS_FTP: /* XXX WRONG WRONG WRONG */
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return access(path, amode);
}
@@ -1438,7 +1344,7 @@ int Glob_pattern_p (const char * pattern, int quote)
return (0);
}
-int Glob_error(/*@unused@*/const char * epath, /*@unused@*/ int eerrno)
+int Glob_error(/*@unused@*/const char * epath, int eerrno)
{
return 1;
}
@@ -1449,34 +1355,29 @@ int Glob(const char *pattern, int flags,
const char * lpath;
int ut = urlPath(pattern, &lpath);
-/*@-castfcnptr@*/
if (_rpmio_debug)
fprintf(stderr, "*** Glob(%s,0x%x,%p,%p)\n", pattern, (unsigned)flags, (void *)errfunc, pglob);
-/*@=castfcnptr@*/
switch (ut) {
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_FTP:
-/*@-type@*/
pglob->gl_closedir = (void *) Closedir;
pglob->gl_readdir = (void *) Readdir;
pglob->gl_opendir = (void *) Opendir;
pglob->gl_lstat = Lstat;
pglob->gl_stat = Stat;
-/*@=type@*/
flags |= GLOB_ALTDIRFUNC;
flags &= ~GLOB_TILDE;
break;
case URL_IS_PATH:
pattern = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return -2;
- /*@notreached@*/ break;
+ break;
}
return glob(pattern, flags, errfunc, pglob);
}
@@ -1498,27 +1399,24 @@ fprintf(stderr, "*** Opendir(%s)\n", path);
switch (ut) {
case URL_IS_FTP:
return ftpOpendir(path);
- /*@notreached@*/ break;
+ break;
case URL_IS_HTTPS:
case URL_IS_HTTP:
#ifdef WITH_NEON
return davOpendir(path);
#endif
- /*@notreached@*/ break;
+ break;
case URL_IS_PATH:
path = lpath;
- /*@fallthrough@*/
case URL_IS_UNKNOWN:
break;
case URL_IS_DASH:
case URL_IS_HKP:
default:
return NULL;
- /*@notreached@*/ break;
+ break;
}
- /*@-dependenttrans@*/
return opendir(path);
- /*@=dependenttrans@*/
}
struct dirent * Readdir(DIR * dir)
diff --git a/rpmio/rpmsq.c b/rpmio/rpmsq.c
index 736e2c983..2ddbe6c0c 100644
--- a/rpmio/rpmsq.c
+++ b/rpmio/rpmsq.c
@@ -19,13 +19,9 @@
#endif
#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-/*@unchecked@*/
static pthread_mutex_t rpmsigTbl_lock = PTHREAD_MUTEX_INITIALIZER;
#else
-/*@unchecked@*/
-/*@-type@*/
static pthread_mutex_t rpmsigTbl_lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-/*@=type@*/
#endif
#define DO_LOCK() pthread_mutex_lock(&rpmsigTbl_lock);
@@ -56,8 +52,8 @@ static pthread_mutex_t rpmsigTbl_lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
#define DO_LOCK()
#define DO_UNLOCK()
#define INIT_LOCK()
-#define ADD_REF(__tbl) /*@-noeffect@*/ (0) /*@=noeffect@*/
-#define SUB_REF(__tbl) /*@-noeffect@*/ (0) /*@=noeffect@*/
+#define ADD_REF(__tbl) (0)
+#define SUB_REF(__tbl) (0)
#define CLEANUP_HANDLER(__handler, __arg, __oldtypeptr)
#define CLEANUP_RESET(__execute, __oldtype)
@@ -72,16 +68,11 @@ static pthread_mutex_t rpmsigTbl_lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
#include "debug.h"
#define _RPMSQ_DEBUG 0
-/*@unchecked@*/
int _rpmsq_debug = _RPMSQ_DEBUG;
-/*@unchecked@*/
static struct rpmsqElem rpmsqRock;
-/*@-compmempass@*/
-/*@unchecked@*/
rpmsq rpmsqQueue = &rpmsqRock;
-/*@=compmempass@*/
int rpmsqInsert(void * elem, void * prev)
{
@@ -99,9 +90,7 @@ fprintf(stderr, " Insert(%p): %p\n", ME(), sq);
sq->reaped = 0;
sq->status = 0;
sq->reaper = 1;
-/*@-bounds@*/
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
sq->id = ME();
ret = pthread_mutex_init(&sq->mutex, NULL);
@@ -132,11 +121,9 @@ fprintf(stderr, " Remove(%p): %p\n", ME(), sq);
ret = pthread_mutex_destroy(&sq->mutex);
sq->id = NULL;
-/*@-bounds@*/
if (sq->pipes[1]) ret = close(sq->pipes[1]);
if (sq->pipes[0]) ret = close(sq->pipes[0]);
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
#ifdef NOTYET /* rpmpsmWait debugging message needs */
sq->reaper = 1;
sq->status = 0;
@@ -149,11 +136,8 @@ fprintf(stderr, " Remove(%p): %p\n", ME(), sq);
return ret;
}
-/*@unchecked@*/
sigset_t rpmsqCaught;
-/*@unchecked@*/
-/*@-fullinitblock@*/
static struct rpmsig_s {
int signum;
void (*handler) (int signum, void * info, void * context);
@@ -174,10 +158,9 @@ static struct rpmsig_s {
#define rpmsigTbl_sigpipe (&rpmsigTbl[5])
{ -1, NULL },
};
-/*@=fullinitblock@*/
void rpmsqAction(int signum,
- /*@unused@*/ void * info, /*@unused@*/ void * context)
+ void * info, void * context)
{
int save = errno;
rpmsig tbl;
@@ -197,7 +180,7 @@ void rpmsqAction(int signum,
/* XXX errno set to ECHILD/EINVAL/EINTR. */
if (reaped <= 0)
- /*@innerbreak@*/ break;
+ break;
/* XXX insque(3)/remque(3) are dequeue, not ring. */
for (sq = rpmsqQueue->q_forw;
@@ -207,7 +190,7 @@ void rpmsqAction(int signum,
int ret;
if (sq->child != reaped)
- /*@innercontinue@*/ continue;
+ continue;
sq->reaped = reaped;
sq->status = status;
@@ -218,21 +201,19 @@ void rpmsqAction(int signum,
*/
ret = pthread_mutex_unlock(&sq->mutex);
- /*@innerbreak@*/ break;
+ break;
}
}
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
break;
}
errno = save;
}
-int rpmsqEnable(int signum, /*@null@*/ rpmsqAction_t handler)
- /*@globals rpmsigTbl @*/
- /*@modifies rpmsigTbl @*/
+int rpmsqEnable(int signum, rpmsqAction_t handler)
{
int tblsignum = (signum >= 0 ? signum : -signum);
struct sigaction sa;
@@ -309,11 +290,9 @@ fprintf(stderr, " Enable(%p): %p\n", ME(), sq);
if (!nothreads) {
if(pthread_mutex_lock(&sq->mutex)) {
/* Yack we did not get the lock, lets just give up */
-/*@-bounds@*/
xx = close(sq->pipes[0]);
xx = close(sq->pipes[1]);
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
goto out;
}
}
@@ -321,22 +300,18 @@ fprintf(stderr, " Enable(%p): %p\n", ME(), sq);
pid = fork();
if (pid < (pid_t) 0) { /* fork failed. */
sq->child = (pid_t)-1;
-/*@-bounds@*/
xx = close(sq->pipes[0]);
xx = close(sq->pipes[1]);
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
goto out;
} else if (pid == (pid_t) 0) { /* Child. */
int yy;
/* Block to permit parent time to wait. */
-/*@-bounds@*/
xx = close(sq->pipes[1]);
xx = read(sq->pipes[0], &yy, sizeof(yy));
xx = close(sq->pipes[0]);
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
#ifdef _RPMSQ_DEBUG
if (_rpmsq_debug)
@@ -366,8 +341,6 @@ out:
* @return 0 on success
*/
static int rpmsqWaitUnregister(rpmsq sq)
- /*@globals fileSystem, internalState @*/
- /*@modifies sq, fileSystem, internalState @*/
{
int nothreads = 0;
int ret = 0;
@@ -377,19 +350,16 @@ static int rpmsqWaitUnregister(rpmsq sq)
ret = sighold(SIGCHLD);
/* Start the child, linux often runs child before parent. */
-/*@-bounds@*/
if (sq->pipes[0] >= 0)
xx = close(sq->pipes[0]);
if (sq->pipes[1] >= 0)
xx = close(sq->pipes[1]);
sq->pipes[0] = sq->pipes[1] = -1;
-/*@=bounds@*/
/* Put a stopwatch on the time spent waiting to measure performance gain. */
(void) rpmswEnter(&sq->op, -1);
/* Wait for handler to receive SIGCHLD. */
- /*@-infloops@*/
while (ret == 0 && sq->reaped != sq->child) {
if (nothreads)
/* Note that sigpause re-enables SIGCHLD. */
@@ -406,7 +376,6 @@ static int rpmsqWaitUnregister(rpmsq sq)
xx = sighold(SIGCHLD);
}
}
- /*@=infloops@*/
/* Accumulate stopwatch time spent waiting, potential performance gain. */
sq->ms_scriptlets += rpmswExit(&sq->op, -1)/1000;
@@ -492,8 +461,6 @@ int rpmsqThreadEqual(void * thread)
*/
static void
sigchld_cancel (void *arg)
- /*@globals rpmsigTbl, fileSystem, internalState @*/
- /*@modifies rpmsigTbl, fileSystem, internalState @*/
{
pid_t child = *(pid_t *) arg;
pid_t result;
@@ -517,8 +484,6 @@ sigchld_cancel (void *arg)
*/
int
rpmsqExecve (const char ** argv)
- /*@globals rpmsigTbl @*/
- /*@modifies rpmsigTbl @*/
{
int oldtype;
int status = -1;
diff --git a/rpmio/rpmsq.h b/rpmio/rpmsq.h
index f1ba5d4f7..86ee8b805 100644
--- a/rpmio/rpmsq.h
+++ b/rpmio/rpmsq.h
@@ -22,13 +22,9 @@ typedef struct rpmsqElem * rpmsq;
* @param info (siginfo_t) signal info
* @param context signal context
*/
-typedef void (*rpmsqAction_t) (int signum, void * info, void * context)
- /*@*/;
+typedef void (*rpmsqAction_t) (int signum, void * info, void * context);
-/*@-redecl@*/
-/*@unchecked@*/
extern int _rpmsq_debug;
-/*@=redecl@*/
/**
* SIGCHLD queue element.
@@ -43,18 +39,13 @@ struct rpmsqElem {
rpmtime_t ms_scriptlets; /*!< Accumulated script duration (msecs). */
int reaper; /*!< Register SIGCHLD handler? */
int pipes[2]; /*!< Parent/child interlock. */
-/*@shared@*/
void * id; /*!< Blocking thread id (pthread_t). */
pthread_mutex_t mutex; /*!< Signal delivery to thread condvar. */
pthread_cond_t cond;
};
-/*@-exportlocal@*/
-/*@unchecked@*/
extern rpmsq rpmsqQueue;
-/*@=exportlocal@*/
-/*@unchecked@*/
extern sigset_t rpmsqCaught;
#ifdef __cplusplus
@@ -67,22 +58,14 @@ extern "C" {
* @param prev previous node from queue
* @return 0 on success
*/
-/*@-exportlocal@*/
-int rpmsqInsert(/*@null@*/ void * elem, /*@null@*/ void * prev)
- /*@globals systemState @*/
- /*@modifies elem, prev, systemState @*/;
-/*@=exportlocal@*/
+int rpmsqInsert(void * elem, void * prev);
/**
* Remove node from queue.
* @param elem node to link
* @return 0 on success
*/
-/*@-exportlocal@*/
-int rpmsqRemove(/*@null@*/ void * elem)
- /*@globals fileSystem, internalState @*/
- /*@modifies elem, fileSystem, internalState @*/;
-/*@=exportlocal@*/
+int rpmsqRemove(void * elem);
/**
* Default signal handler.
@@ -90,11 +73,7 @@ int rpmsqRemove(/*@null@*/ void * elem)
* @param info (siginfo_t) signal info
* @param context signal context
*/
-/*@-exportlocal@*/
-void rpmsqAction(int signum, void * info, void * context)
- /*@globals rpmsqCaught, rpmsqQueue, errno, fileSystem @*/
- /*@modifies rpmsqCaught, rpmsqQueue, errno, fileSystem @*/;
-/*@=exportlocal@*/
+void rpmsqAction(int signum, void * info, void * context);
/**
* Enable or disable a signal handler.
@@ -102,27 +81,21 @@ void rpmsqAction(int signum, void * info, void * context)
* @param handler sa_sigaction handler (or NULL to use rpmsqHandler())
* @return no. of refs, -1 on error
*/
-int rpmsqEnable(int signum, /*@null@*/ rpmsqAction_t handler)
- /*@globals rpmsqCaught, rpmsqQueue, fileSystem, internalState @*/
- /*@modifies rpmsqCaught, rpmsqQueue, fileSystem, internalState @*/;
+int rpmsqEnable(int signum, rpmsqAction_t handler);
/**
* Fork a child process.
* @param sq scriptlet queue element
* @return fork(2) pid
*/
-pid_t rpmsqFork(rpmsq sq)
- /*@globals fileSystem, internalState @*/
- /*@modifies sq, fileSystem, internalState @*/;
+pid_t rpmsqFork(rpmsq sq);
/**
* Wait for child process to be reaped.
* @param sq scriptlet queue element
* @return reaped child pid
*/
-pid_t rpmsqWait(rpmsq sq)
- /*@globals fileSystem, internalState @*/
- /*@modifies sq, fileSystem, internalState @*/;
+pid_t rpmsqWait(rpmsq sq);
/**
* Call a function in a thread.
@@ -130,34 +103,26 @@ pid_t rpmsqWait(rpmsq sq)
* @param arg function argument
* @return thread pointer (NULL on error)
*/
-void * rpmsqThread(void * (*start) (void * arg), void * arg)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
+void * rpmsqThread(void * (*start) (void * arg), void * arg);
/**
* Wait for thread to terminate.
* @param thread thread
* @return 0 on success
*/
-int rpmsqJoin(/*@null@*/ void * thread)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
+int rpmsqJoin(void * thread);
/**
* Compare thread with current thread.
* @param thread thread
* @return 0 if not equal
*/
-int rpmsqThreadEqual(/*@null@*/ void * thread)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
+int rpmsqThreadEqual(void * thread);
/**
* Execute a command, returning its status.
*/
-int rpmsqExecve (const char ** argv)
- /*@globals fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int rpmsqExecve (const char ** argv);
#ifdef __cplusplus
}
diff --git a/rpmio/rpmsw.c b/rpmio/rpmsw.c
index 52e3f63b5..b4005c57b 100644
--- a/rpmio/rpmsw.c
+++ b/rpmio/rpmsw.c
@@ -6,16 +6,12 @@
#include <rpmsw.h>
#include "debug.h"
-/*@unchecked@*/
static rpmtime_t rpmsw_overhead = 0;
-/*@unchecked@*/
static rpmtime_t rpmsw_cycles = 1;
-/*@unchecked@*/
static int rpmsw_type = 0;
-/*@unchecked@*/
static int rpmsw_initialized = 0;
#if defined(__i386__)
@@ -95,9 +91,8 @@ rpmsw rpmswNow(rpmsw sw)
* @return difference in milli-seconds
*/
static inline
-rpmtime_t tvsub(/*@null@*/ const struct timeval * etv,
- /*@null@*/ const struct timeval * btv)
- /*@*/
+rpmtime_t tvsub(const struct timeval * etv,
+ const struct timeval * btv)
{
time_t secs, usecs;
if (etv == NULL || btv == NULL) return 0;
@@ -134,8 +129,6 @@ rpmtime_t rpmswDiff(rpmsw end, rpmsw begin)
#if defined(HP_TIMING_NOW)
static rpmtime_t rpmswCalibrate(void)
- /*@globals internalState @*/
- /*@modifies internalState @*/
{
struct rpmsw_s begin, end;
rpmtime_t ticks;
@@ -143,9 +136,7 @@ static rpmtime_t rpmswCalibrate(void)
int rc;
int i;
-/*@-uniondef@*/
(void) rpmswNow(&begin);
-/*@=uniondef@*/
req.tv_sec = 0;
req.tv_nsec = 20 * 1000 * 1000;
for (i = 0; i < 100; i++) {
@@ -156,9 +147,7 @@ static rpmtime_t rpmswCalibrate(void)
break;
req = rem; /* structure assignment */
}
-/*@-uniondef@*/
ticks = rpmswDiff(rpmswNow(&end), &begin);
-/*@=uniondef@*/
return ticks;
}
@@ -194,9 +183,7 @@ rpmtime_t rpmswInit(void)
/* Start wall clock. */
rpmsw_type = 0;
-/*@-uniondef@*/
(void) rpmswNow(&begin);
-/*@=uniondef@*/
/* Get no. of cycles while doing nanosleep. */
rpmsw_type = 1;
@@ -207,9 +194,7 @@ rpmtime_t rpmswInit(void)
/* Compute wall clock delta in usecs. */
rpmsw_type = 0;
-/*@-uniondef@*/
sum_usecs += rpmswDiff(rpmswNow(&end), &begin);
-/*@=uniondef@*/
rpmsw_type = 1;
/* Compute cycles/usec */
@@ -219,10 +204,8 @@ rpmtime_t rpmswInit(void)
#endif
/* Calculate timing overhead in usecs. */
-/*@-uniondef@*/
(void) rpmswNow(&begin);
sum_overhead += rpmswDiff(rpmswNow(&end), &begin);
-/*@=uniondef@*/
rpmsw_overhead = sum_overhead/(i+1);
@@ -241,9 +224,7 @@ int rpmswEnter(rpmop op, ssize_t rc)
op->bytes = 0;
op->usecs = 0;
}
-/*@-uniondef@*/
(void) rpmswNow(&op->begin);
-/*@=uniondef@*/
return 0;
}
@@ -254,9 +235,7 @@ rpmtime_t rpmswExit(rpmop op, ssize_t rc)
if (op == NULL)
return 0;
-/*@-uniondef@*/
op->usecs += rpmswDiff(rpmswNow(&end), &op->begin);
-/*@=uniondef@*/
if (rc > 0)
op->bytes += rc;
op->begin = end; /* structure assignment */
diff --git a/rpmio/rpmsw.h b/rpmio/rpmsw.h
index 9a76af988..0ece22389 100644
--- a/rpmio/rpmsw.h
+++ b/rpmio/rpmsw.h
@@ -45,31 +45,19 @@ extern "C" {
* @param *sw time stamp
* @return 0 on success
*/
-/*@-exportlocal@*/
-/*@null@*/
-rpmsw rpmswNow(/*@returned@*/ rpmsw sw)
- /*@globals internalState @*/
- /*@modifies sw, internalState @*/;
-/*@=exportlocal@*/
+rpmsw rpmswNow(rpmsw sw);
/** Return benchmark time stamp difference.
* @param *end end time stamp
* @param *begin begin time stamp
* @return difference in micro-seconds
*/
-/*@-exportlocal@*/
-rpmtime_t rpmswDiff(/*@null@*/ rpmsw end, /*@null@*/ rpmsw begin)
- /*@*/;
-/*@=exportlocal@*/
+rpmtime_t rpmswDiff(rpmsw end, rpmsw begin);
/** Return benchmark time stamp overhead.
* @return overhead in micro-seconds
*/
-/*@-exportlocal@*/
-rpmtime_t rpmswInit(void)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
-/*@=exportlocal@*/
+rpmtime_t rpmswInit(void);
/** \ingroup rpmio
* Enter timed operation.
@@ -77,9 +65,7 @@ rpmtime_t rpmswInit(void)
* @param rc -1 clears usec counter
* @return 0 always
*/
-int rpmswEnter(/*@null@*/ rpmop op, ssize_t rc)
- /*@globals internalState @*/
- /*@modifies *op, internalState @*/;
+int rpmswEnter(rpmop op, ssize_t rc);
/** \ingroup rpmio
* Exit timed operation.
@@ -87,9 +73,7 @@ int rpmswEnter(/*@null@*/ rpmop op, ssize_t rc)
* @param rc per-operation data (e.g. bytes transferred)
* @return cumulative usecs for operation
*/
-rpmtime_t rpmswExit(/*@null@*/ rpmop op, ssize_t rc)
- /*@globals internalState @*/
- /*@modifies op, internalState @*/;
+rpmtime_t rpmswExit(rpmop op, ssize_t rc);
/** \ingroup rpmio
* Sum statistic counters.
@@ -97,8 +81,7 @@ rpmtime_t rpmswExit(/*@null@*/ rpmop op, ssize_t rc)
* @param from operation statistics
* @return cumulative usecs for operation
*/
-rpmtime_t rpmswAdd(/*@null@*/ rpmop to, /*@null@*/ rpmop from)
- /*@modifies to @*/;
+rpmtime_t rpmswAdd(rpmop to, rpmop from);
/** \ingroup rpmio
* Subtract statistic counters.
@@ -106,8 +89,7 @@ rpmtime_t rpmswAdd(/*@null@*/ rpmop to, /*@null@*/ rpmop from)
* @param from operation statistics
* @return cumulative usecs for operation
*/
-rpmtime_t rpmswSub(rpmop to, rpmop from)
- /*@modifies to @*/;
+rpmtime_t rpmswSub(rpmop to, rpmop from);
#ifdef __cplusplus
}
diff --git a/rpmio/rpmurl.h b/rpmio/rpmurl.h
index 4b02a21f4..d100636ea 100644
--- a/rpmio/rpmurl.h
+++ b/rpmio/rpmurl.h
@@ -23,28 +23,20 @@ typedef enum urltype_e {
#define URLMAGIC 0xd00b1ed0
#define URLSANE(u) assert(u && u->magic == URLMAGIC)
-typedef /*@abstract@*/ /*@refcounted@*/ struct urlinfo_s * urlinfo;
+typedef struct urlinfo_s * urlinfo;
/**
* URL control structure.
*/
struct urlinfo_s {
-/*@refs@*/ int nrefs; /*!< no. of references */
-/*@owned@*/ /*@relnull@*/
+int nrefs; /*!< no. of references */
const char * url; /*!< copy of original url */
-/*@owned@*/ /*@relnull@*/
const char * scheme; /*!< URI scheme. */
-/*@owned@*/ /*@null@*/
const char * user; /*!< URI user. */
-/*@owned@*/ /*@null@*/
const char * password; /*!< URI password. */
-/*@owned@*/ /*@relnull@*/
const char * host; /*!< URI host. */
-/*@owned@*/ /*@null@*/
const char * portstr; /*!< URI port string. */
-/*@owned@*/ /*@null@*/
const char * proxyu; /*!< FTP: proxy user */
-/*@owned@*/ /*@null@*/
const char * proxyh; /*!< FTP/HTTP: proxy host */
int proxyp; /*!< FTP/HTTP: proxy port */
int port; /*!< URI port. */
@@ -52,11 +44,8 @@ struct urlinfo_s {
FD_t ctrl; /*!< control channel */
FD_t data; /*!< per-xfer data channel */
-/*@relnull@*/
void * capabilities; /*!< neon: ne_server_capabilities ptr */
-/*@relnull@*/
void * lockstore; /*!< neon: ne_lock_store ptr */
-/*@relnull@*/
void * sess; /*!< neon: ne_session ptr */
off_t current; /*!< neon: current body offset. */
off_t total; /*!< neon: total body length. */
@@ -71,7 +60,6 @@ typedef enum {
#endif
int bufAlloced; /*!< sizeof I/O buffer */
-/*@owned@*/
char * buf; /*!< I/O buffer */
int openError; /*!< Type of open failure */
int httpVersion;
@@ -83,18 +71,13 @@ typedef enum {
extern "C" {
#endif
-/*@unchecked@*/
extern int _url_count; /*!< No. of cached URL's. */
-/*@unchecked@*/
-/*@only@*/ /*@null@*/
extern urlinfo * _url_cache; /*!< URL cache. */
-/*@unchecked@*/
extern int _url_iobuf_size; /*!< Initial size of URL I/O buffer. */
#define RPMURL_IOBUF_SIZE 4096
-/*@unchecked@*/
extern int _url_debug; /*!< URL debugging? */
#define RPMURL_DEBUG_IO 0x40000000
#define RPMURL_DEBUG_REFS 0x20000000
@@ -105,10 +88,10 @@ extern int _url_debug; /*!< URL debugging? */
* @param msg debugging identifier (unused)
* @return new instance
*/
-/*@unused@*/ urlinfo urlNew(const char * msg) /*@*/;
+urlinfo urlNew(const char * msg) ;
/** @todo Remove debugging entry from the ABI. */
-urlinfo XurlNew(const char * msg, const char * file, unsigned line) /*@*/;
+urlinfo XurlNew(const char * msg, const char * file, unsigned line) ;
#define urlNew(_msg) XurlNew(_msg, __FILE__, __LINE__)
/**
@@ -117,12 +100,10 @@ urlinfo XurlNew(const char * msg, const char * file, unsigned line) /*@*/;
* @param msg debugging identifier (unused)
* @return referenced instance
*/
-/*@unused@*/ urlinfo urlLink(urlinfo u, const char * msg)
- /*@modifies u @*/;
+urlinfo urlLink(urlinfo u, const char * msg);
/** @todo Remove debugging entry from the ABI. */
-urlinfo XurlLink(urlinfo u, const char * msg, const char * file, unsigned line)
- /*@modifies u @*/;
+urlinfo XurlLink(urlinfo u, const char * msg, const char * file, unsigned line);
#define urlLink(_u, _msg) XurlLink(_u, _msg, __FILE__, __LINE__)
/**
@@ -131,31 +112,24 @@ urlinfo XurlLink(urlinfo u, const char * msg, const char * file, unsigned line)
* @param msg debugging identifier (unused)
* @return dereferenced instance (NULL if freed)
*/
-/*@unused@*/ urlinfo urlFree( /*@killref@*/ urlinfo u, const char * msg)
- /*@globals fileSystem, internalState @*/
- /*@modifies u, fileSystem, internalState @*/;
+urlinfo urlFree( urlinfo u, const char * msg);
/** @todo Remove debugging entry from the ABI. */
-urlinfo XurlFree( /*@killref@*/ urlinfo u, const char * msg,
- const char * file, unsigned line)
- /*@globals fileSystem, internalState @*/
- /*@modifies u, fileSystem, internalState @*/;
+urlinfo XurlFree( urlinfo u, const char * msg,
+ const char * file, unsigned line);
#define urlFree(_u, _msg) XurlFree(_u, _msg, __FILE__, __LINE__)
/**
* Free cached URL control structures.
*/
-void urlFreeCache(void)
- /*@globals _url_cache, _url_count, fileSystem, internalState @*/
- /*@modifies _url_cache, _url_count, fileSystem, internalState @*/;
+void urlFreeCache(void);
/**
* Return type of URL.
* @param url url string
* @return type of url
*/
-urltype urlIsURL(const char * url)
- /*@*/;
+urltype urlIsURL(const char * url);
/**
* Return path component of URL.
@@ -163,11 +137,7 @@ urltype urlIsURL(const char * url)
* @retval pathp pointer to path component of url
* @return type of url
*/
-/*@-incondefs@*/
-urltype urlPath(const char * url, /*@out@*/ const char ** pathp)
- /*@ensures maxSet(*pathp) == 0 /\ maxRead(*pathp) == 0 @*/
- /*@modifies *pathp @*/;
-/*@=incondefs@*/
+urltype urlPath(const char * url, const char ** pathp);
/**
* Parse URL string into a control structure.
@@ -175,9 +145,7 @@ urltype urlPath(const char * url, /*@out@*/ const char ** pathp)
* @retval uret address of new control instance pointer
* @return 0 on success, -1 on error
*/
-int urlSplit(const char * url, /*@out@*/ urlinfo * uret)
- /*@globals h_errno, internalState @*/
- /*@modifies *uret, internalState @*/;
+int urlSplit(const char * url, urlinfo * uret);
/**
* Copy data from URL to local file.
@@ -185,9 +153,7 @@ int urlSplit(const char * url, /*@out@*/ urlinfo * uret)
* @param dest file name of destination
* @return 0 on success, otherwise FTPERR_* code
*/
-int urlGetFile(const char * url, /*@null@*/ const char * dest)
- /*@globals h_errno, fileSystem, internalState @*/
- /*@modifies fileSystem, internalState @*/;
+int urlGetFile(const char * url, const char * dest);
#ifdef __cplusplus
}
diff --git a/rpmio/strcasecmp.c b/rpmio/strcasecmp.c
index 774365058..669522b4a 100644
--- a/rpmio/strcasecmp.c
+++ b/rpmio/strcasecmp.c
@@ -17,10 +17,8 @@ int xstrcasecmp(const char * s1, const char * s2)
do
{
-/*@-boundsread@*/
c1 = xtolower (*p1++);
c2 = xtolower (*p2++);
-/*@=boundsread@*/
if (c1 == '\0')
break;
}
@@ -40,10 +38,8 @@ int xstrncasecmp(const char *s1, const char *s2, size_t n)
do
{
-/*@-boundsread@*/
c1 = xtolower (*p1++);
c2 = xtolower (*p2++);
-/*@=boundsread@*/
if (c1 == '\0' || c1 != c2)
break;
} while (--n > 0);
diff --git a/rpmio/tax.c b/rpmio/tax.c
index ee2679b32..9c2f5a9bb 100644
--- a/rpmio/tax.c
+++ b/rpmio/tax.c
@@ -40,12 +40,10 @@ AjjDx3lJnQBXUDmxM484YXLXZjWFXCiY8GJt6whjf7/2c3rIoT3Z7PQpEvPmM\
* @param nbytes no. of bytes
* @return target buffer
*/
-/*@unused@*/ static inline
-char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
- /*@modifies *t @*/
+static inline
+char * pgpHexCvt(char *t, const byte *s, int nbytes)
{
static char hex[] = "0123456789abcdef";
-/*@-boundswrite@*/
while (nbytes-- > 0) {
unsigned int i;
i = *s++;
@@ -53,7 +51,6 @@ char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
*t++ = hex[ (i ) & 0xf ];
}
*t = '\0';
-/*@=boundswrite@*/
return t;
}
@@ -64,9 +61,8 @@ char * pgpHexCvt(/*@returned@*/ char *t, const byte *s, int nbytes)
* @param plen no. of bytes
* @return hex formatted string
*/
-/*@unused@*/ static inline /*@observer@*/
+static inline
char * pgpHexStr(const byte *p, unsigned int plen)
- /*@*/
{
static char prbuf[2048];
char *t = prbuf;
diff --git a/rpmio/tdir.c b/rpmio/tdir.c
index d8a79aa1f..e909afffc 100644
--- a/rpmio/tdir.c
+++ b/rpmio/tdir.c
@@ -60,9 +60,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -78,7 +78,7 @@ _dav_debug = -1;
printDir(ftppath);
printDir(httppath);
-/*@i@*/ urlFreeCache();
+urlFreeCache();
return 0;
}
diff --git a/rpmio/tfts.c b/rpmio/tfts.c
index c74b915a8..6a1ecbf03 100644
--- a/rpmio/tfts.c
+++ b/rpmio/tfts.c
@@ -8,7 +8,6 @@
#include "debug.h"
-/*@unchecked@*/
static int _fts_debug = 0;
#if 0
@@ -153,9 +152,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -174,7 +173,7 @@ _dav_debug = 1;
ftsWalk(httpspath);
#endif
-/*@i@*/ urlFreeCache();
+urlFreeCache();
return 0;
}
diff --git a/rpmio/tget.c b/rpmio/tget.c
index 6ba475521..eb412e9fb 100644
--- a/rpmio/tget.c
+++ b/rpmio/tget.c
@@ -61,9 +61,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -94,7 +94,7 @@ _dav_debug = 1;
readFile(httpspath);
#endif
-/*@i@*/ urlFreeCache();
+urlFreeCache();
return 0;
}
diff --git a/rpmio/tglob.c b/rpmio/tglob.c
index 55d20bb8c..b5554b052 100644
--- a/rpmio/tglob.c
+++ b/rpmio/tglob.c
@@ -75,9 +75,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
diff --git a/rpmio/thkp.c b/rpmio/thkp.c
index 8cd7388ff..57fb4cfe0 100644
--- a/rpmio/thkp.c
+++ b/rpmio/thkp.c
@@ -116,9 +116,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -129,7 +129,7 @@ main(int argc, const char *argv[])
readKeys(hkppath);
-/*@i@*/ urlFreeCache();
+urlFreeCache();
return 0;
}
diff --git a/rpmio/tinv.c b/rpmio/tinv.c
index c5af5047b..1ba280026 100644
--- a/rpmio/tinv.c
+++ b/rpmio/tinv.c
@@ -104,10 +104,8 @@ fprintf(stderr, " D: "), mpfprintln(stderr, ysize, D);
if (result) {
mpsetx(b->size, result, ysize, A);
- /*@-usedef@*/
if (*A & 0x80000000)
(void) mpneg(b->size, result);
- /*@=usedef@*/
while (--k > 0)
mpadd(b->size, result, result);
}
@@ -397,10 +395,8 @@ fprintf(stderr, " D: "), mpfprintln(stderr, ysize, D);
if (result)
{
mpsetx(b->size, result, ysize, D);
- /*@-usedef@*/
if (*D & 0x80000000)
(void) mpadd(b->size, result, b->modl);
- /*@=usedef@*/
}
fprintf(stderr, "=== EXIT: "), mpfprintln(stderr, b->size, result);
@@ -477,7 +473,7 @@ main(int argc, const char * argv[])
while ((rc = poptGetNextOpt(optCon)) > 0) {
switch (rc) {
default:
- /*@switchbreak@*/ break;
+ break;
}
}
diff --git a/rpmio/tput.c b/rpmio/tput.c
index e0c7b9cbd..244a6d7d8 100644
--- a/rpmio/tput.c
+++ b/rpmio/tput.c
@@ -121,9 +121,9 @@ main(int argc, const char *argv[])
switch (rc) {
case 'v':
rpmIncreaseVerbosity();
- /*@switchbreak@*/ break;
+ break;
default:
- /*@switchbreak@*/ break;
+ break;
}
}
@@ -144,7 +144,7 @@ _dav_debug = -1;
doFile(httpspath);
#endif
-/*@i@*/ urlFreeCache();
+urlFreeCache();
return 0;
}
diff --git a/rpmio/tring.c b/rpmio/tring.c
index 45b1f1c83..7b3d31349 100644
--- a/rpmio/tring.c
+++ b/rpmio/tring.c
@@ -35,8 +35,7 @@ main (int argc, const char *argv[])
const char * fn;
int rc, ec = 0;
- while ((rc = poptGetNextOpt(optCon)) > 0)
- ;
+ while ((rc = poptGetNextOpt(optCon)) > 0);
if ((args = poptGetArgs(optCon)) != NULL)
while ((fn = *args++) != NULL) {
diff --git a/rpmio/ugid.c b/rpmio/ugid.c
index b9a0898c2..fb84f746d 100644
--- a/rpmio/ugid.c
+++ b/rpmio/ugid.c
@@ -15,7 +15,7 @@
int unameToUid(const char * thisUname, uid_t * uid)
{
-/*@only@*/ static char * lastUname = NULL;
+static char * lastUname = NULL;
static size_t lastUnameLen = 0;
static size_t lastUnameAlloced;
static uid_t lastUid;
@@ -26,9 +26,7 @@ int unameToUid(const char * thisUname, uid_t * uid)
lastUnameLen = 0;
return -1;
} else if (strcmp(thisUname, "root") == 0) {
-/*@-boundswrite@*/
*uid = 0;
-/*@=boundswrite@*/
return 0;
}
@@ -40,15 +38,12 @@ int unameToUid(const char * thisUname, uid_t * uid)
lastUnameAlloced = thisUnameLen + 10;
lastUname = xrealloc(lastUname, lastUnameAlloced); /* XXX memory leak */
}
-/*@-boundswrite@*/
strcpy(lastUname, thisUname);
-/*@=boundswrite@*/
pwent = getpwnam(thisUname);
if (pwent == NULL) {
- /*@-internalglobs@*/ /* FIX: shrug */
+ /* FIX: shrug */
endpwent();
- /*@=internalglobs@*/
pwent = getpwnam(thisUname);
if (pwent == NULL) return -1;
}
@@ -56,16 +51,14 @@ int unameToUid(const char * thisUname, uid_t * uid)
lastUid = pwent->pw_uid;
}
-/*@-boundswrite@*/
*uid = lastUid;
-/*@=boundswrite@*/
return 0;
}
int gnameToGid(const char * thisGname, gid_t * gid)
{
-/*@only@*/ static char * lastGname = NULL;
+static char * lastGname = NULL;
static size_t lastGnameLen = 0;
static size_t lastGnameAlloced;
static gid_t lastGid;
@@ -76,9 +69,7 @@ int gnameToGid(const char * thisGname, gid_t * gid)
lastGnameLen = 0;
return -1;
} else if (strcmp(thisGname, "root") == 0) {
-/*@-boundswrite@*/
*gid = 0;
-/*@=boundswrite@*/
return 0;
}
@@ -90,28 +81,21 @@ int gnameToGid(const char * thisGname, gid_t * gid)
lastGnameAlloced = thisGnameLen + 10;
lastGname = xrealloc(lastGname, lastGnameAlloced); /* XXX memory leak */
}
-/*@-boundswrite@*/
strcpy(lastGname, thisGname);
-/*@=boundswrite@*/
grent = getgrnam(thisGname);
if (grent == NULL) {
- /*@-internalglobs@*/ /* FIX: shrug */
+ /* FIX: shrug */
endgrent();
- /*@=internalglobs@*/
grent = getgrnam(thisGname);
if (grent == NULL) {
/* XXX The filesystem package needs group/lock w/o getgrnam. */
if (strcmp(thisGname, "lock") == 0) {
-/*@-boundswrite@*/
*gid = lastGid = 54;
-/*@=boundswrite@*/
return 0;
} else
if (strcmp(thisGname, "mail") == 0) {
-/*@-boundswrite@*/
*gid = lastGid = 12;
-/*@=boundswrite@*/
return 0;
} else
return -1;
@@ -120,9 +104,7 @@ int gnameToGid(const char * thisGname, gid_t * gid)
lastGid = grent->gr_gid;
}
-/*@-boundswrite@*/
*gid = lastGid;
-/*@=boundswrite@*/
return 0;
}
@@ -130,7 +112,7 @@ int gnameToGid(const char * thisGname, gid_t * gid)
char * uidToUname(uid_t uid)
{
static uid_t lastUid = (uid_t) -1;
-/*@only@*/ static char * lastUname = NULL;
+static char * lastUname = NULL;
static size_t lastUnameLen = 0;
if (uid == (uid_t) -1) {
@@ -152,9 +134,7 @@ char * uidToUname(uid_t uid)
lastUnameLen = len + 20;
lastUname = xrealloc(lastUname, lastUnameLen);
}
-/*@-boundswrite@*/
strcpy(lastUname, pwent->pw_name);
-/*@=boundswrite@*/
return lastUname;
}
@@ -163,7 +143,7 @@ char * uidToUname(uid_t uid)
char * gidToGname(gid_t gid)
{
static gid_t lastGid = (gid_t) -1;
-/*@only@*/ static char * lastGname = NULL;
+static char * lastGname = NULL;
static size_t lastGnameLen = 0;
if (gid == (gid_t) -1) {
@@ -185,9 +165,7 @@ char * gidToGname(gid_t gid)
lastGnameLen = len + 20;
lastGname = xrealloc(lastGname, lastGnameLen);
}
-/*@-boundswrite@*/
strcpy(lastGname, grent->gr_name);
-/*@=boundswrite@*/
return lastGname;
}
diff --git a/rpmio/ugid.h b/rpmio/ugid.h
index b0b07ffec..0ef555950 100644
--- a/rpmio/ugid.h
+++ b/rpmio/ugid.h
@@ -13,19 +13,14 @@ extern "C" {
* These may be called w/ a NULL argument to flush the cache -- they return
* -1 if the user can't be found.
*/
-int unameToUid(const char * thisUname, /*@out@*/ uid_t * uid)
- /*@modifies *uid @*/;
-int gnameToGid(const char * thisGname, /*@out@*/ gid_t * gid)
- /*@modifies *gid @*/;
+int unameToUid(const char * thisUname, uid_t * uid);
+int gnameToGid(const char * thisGname, gid_t * gid);
/*
* Call w/ -1 to flush the cache, returns NULL if the user can't be found.
*/
-/*@observer@*/ /*@null@*/ char * uidToUname(uid_t uid)
- /*@*/;
-/*@unused@*/
-/*@observer@*/ /*@null@*/ char * gidToGname(gid_t gid)
- /*@*/;
+char * uidToUname(uid_t uid);
+char * gidToGname(gid_t gid);
#ifdef __cplusplus
}
diff --git a/rpmio/url.c b/rpmio/url.c
index 3f947f571..43fc46dcf 100644
--- a/rpmio/url.c
+++ b/rpmio/url.c
@@ -13,7 +13,6 @@
#include "debug.h"
/*@access FD_t@*/ /* XXX compared with NULL */
-/*@access urlinfo@*/
#ifndef IPPORT_FTP
#define IPPORT_FTP 21
@@ -30,12 +29,10 @@
/**
*/
-/*@unchecked@*/
int _url_iobuf_size = RPMURL_IOBUF_SIZE;
/**
*/
-/*@unchecked@*/
int _url_debug = 0;
#define URLDBG(_f, _m, _x) if ((_url_debug | (_f)) & (_m)) fprintf _x
@@ -45,13 +42,10 @@ int _url_debug = 0;
/**
*/
-/*@unchecked@*/
-/*@only@*/ /*@null@*/
urlinfo *_url_cache = NULL;
/**
*/
-/*@unchecked@*/
int _url_count = 0;
/**
@@ -59,8 +53,8 @@ int _url_count = 0;
* @param p memory to free
* @retval NULL always
*/
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ const void * p) /*@modifies p@*/
+static inline void *
+_free(const void * p)
{
if (p != NULL) free((void *)p);
return NULL;
@@ -70,10 +64,8 @@ urlinfo XurlLink(urlinfo u, const char *msg, const char *file, unsigned line)
{
URLSANE(u);
u->nrefs++;
-/*@-modfilesys@*/
URLDBGREFS(0, (stderr, "--> url %p ++ %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
-/*@=modfilesys@*/
- /*@-refcounttrans@*/ return u; /*@=refcounttrans@*/
+ return u;
}
urlinfo XurlNew(const char *msg, const char *file, unsigned line)
@@ -103,28 +95,24 @@ urlinfo XurlFree(urlinfo u, const char *msg, const char *file, unsigned line)
URLSANE(u);
URLDBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file, line));
if (--u->nrefs > 0)
- /*@-refcounttrans -retalias@*/ return u; /*@=refcounttrans =retalias@*/
+ return u;
if (u->ctrl) {
#ifndef NOTYET
void * fp = fdGetFp(u->ctrl);
- /*@-branchstate@*/
if (fp) {
fdPush(u->ctrl, fpio, fp, -1); /* Push fpio onto stack */
(void) Fclose(u->ctrl);
} else if (fdio->_fileno(u->ctrl) >= 0)
xx = fdio->close(u->ctrl);
- /*@=branchstate@*/
#else
(void) Fclose(u->ctrl);
#endif
u->ctrl = fdio->_fdderef(u->ctrl, "persist ctrl (urlFree)", file, line);
- /*@-usereleased@*/
if (u->ctrl)
fprintf(stderr, _("warning: u %p ctrl %p nrefs != 0 (%s %s)\n"),
u, u->ctrl, (u->host ? u->host : ""),
(u->scheme ? u->scheme : ""));
- /*@=usereleased@*/
}
if (u->data) {
#ifndef NOTYET
@@ -139,12 +127,10 @@ URLDBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file,
#endif
u->data = fdio->_fdderef(u->data, "persist data (urlFree)", file, line);
- /*@-usereleased@*/
if (u->data)
fprintf(stderr, _("warning: u %p data %p nrefs != 0 (%s %s)\n"),
u, u->data, (u->host ? u->host : ""),
(u->scheme ? u->scheme : ""));
- /*@=usereleased@*/
}
if (u->sess != NULL) {
#ifdef WITH_NEON
@@ -163,11 +149,10 @@ URLDBGREFS(0, (stderr, "--> url %p -- %d %s at %s:%u\n", u, u->nrefs, msg, file,
u->proxyu = _free((void *)u->proxyu);
u->proxyh = _free((void *)u->proxyh);
- /*@-refcounttrans@*/ u = _free(u); /*@-refcounttrans@*/
+ u = _free(u);
return NULL;
}
-/*@-boundswrite@*/
void urlFreeCache(void)
{
if (_url_cache) {
@@ -186,10 +171,8 @@ void urlFreeCache(void)
_url_cache = _free(_url_cache);
_url_count = 0;
}
-/*@=boundswrite@*/
-static int urlStrcmp(/*@null@*/ const char * str1, /*@null@*/ const char * str2)
- /*@*/
+static int urlStrcmp(const char * str1, const char * str2)
{
if (str1)
if (str2)
@@ -199,11 +182,7 @@ static int urlStrcmp(/*@null@*/ const char * str1, /*@null@*/ const char * str2)
return 0;
}
-/*@-boundswrite@*/
-/*@-mods@*/
-static void urlFind(/*@null@*/ /*@in@*/ /*@out@*/ urlinfo * uret, int mustAsk)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
- /*@modifies *uret, rpmGlobalMacroContext, fileSystem, internalState @*/
+static void urlFind(urlinfo * uret, int mustAsk)
{
urlinfo u;
int ucx;
@@ -257,9 +236,7 @@ static void urlFind(/*@null@*/ /*@in@*/ /*@out@*/ urlinfo * uret, int mustAsk)
if (_url_cache) /* XXX always true */
u = urlLink(_url_cache[ucx], "_url_cache");
*uret = u;
- /*@-usereleased@*/
u = urlFree(u, "_url_cache (urlFind)");
- /*@=usereleased@*/
/* Zap proxy host and port in case they have been reset */
u->proxyp = -1;
@@ -275,9 +252,7 @@ static void urlFind(/*@null@*/ /*@in@*/ /*@out@*/ urlinfo * uret, int mustAsk)
prompt = alloca(strlen(host) + strlen(user) + 256);
sprintf(prompt, _("Password for %s@%s: "), user, host);
u->password = _free(u->password);
-/*@-dependenttrans -moduncon @*/
- u->password = /*@-unrecog@*/ getpass(prompt) /*@=unrecog@*/;
-/*@=dependenttrans =moduncon @*/
+ u->password = getpass(prompt);
if (u->password)
u->password = xstrdup(u->password);
}
@@ -285,7 +260,6 @@ static void urlFind(/*@null@*/ /*@in@*/ /*@out@*/ urlinfo * uret, int mustAsk)
if (u->proxyh == NULL) {
const char *proxy = rpmExpand("%{_ftpproxy}", NULL);
if (proxy && *proxy != '%') {
-/*@observer@*/
const char * host = (u->host ? u->host : "");
const char *uu = (u->user ? u->user : "anonymous");
char *nu = xmalloc(strlen(uu) + sizeof("@") + strlen(host));
@@ -341,14 +315,10 @@ static void urlFind(/*@null@*/ /*@in@*/ /*@out@*/ urlinfo * uret, int mustAsk)
return;
}
-/*@=mods@*/
-/*@=boundswrite@*/
/**
*/
-/*@observer@*/ /*@unchecked@*/
static struct urlstring {
-/*@observer@*/ /*@null@*/
const char * leadin;
urltype ret;
} urlstrings[] = {
@@ -365,7 +335,6 @@ urltype urlIsURL(const char * url)
{
struct urlstring *us;
-/*@-boundsread@*/
if (url && *url) {
for (us = urlstrings; us->leadin != NULL; us++) {
if (strncmp(url, us->leadin, strlen(us->leadin)))
@@ -373,12 +342,10 @@ urltype urlIsURL(const char * url)
return us->ret;
}
}
-/*@=boundsread@*/
return URL_IS_UNKNOWN;
}
-/*@-boundswrite@*/
/* Return path portion of url (or pointer to NUL if url == NULL) */
urltype urlPath(const char * url, const char ** pathp)
{
@@ -387,7 +354,6 @@ urltype urlPath(const char * url, const char ** pathp)
path = url;
urltype = urlIsURL(url);
- /*@-branchstate@*/
switch (urltype) {
case URL_IS_FTP:
url += sizeof("ftp://") - 1;
@@ -421,14 +387,10 @@ urltype urlPath(const char * url, const char ** pathp)
path = "";
break;
}
- /*@=branchstate@*/
if (pathp)
- /*@-observertrans@*/
*pathp = path;
- /*@=observertrans@*/
return urltype;
}
-/*@=boundswrite@*/
/*
* Split URL into components. The URL can look like
@@ -436,8 +398,6 @@ urltype urlPath(const char * url, const char ** pathp)
* or as in RFC2732 for IPv6 address
* service://user:password@[ip:v6:ad:dr:es:s]:port/path
*/
-/*@-bounds@*/
-/*@-modfilesys@*/
int urlSplit(const char * url, urlinfo *uret)
{
urlinfo u;
@@ -477,7 +437,6 @@ int urlSplit(const char * url, urlinfo *uret)
/* Look for ...@host... */
fe = f = s;
while (*fe && *fe != '@') fe++;
- /*@-branchstate@*/
if (*fe == '@') {
s = fe + 1;
*fe = '\0';
@@ -489,7 +448,6 @@ int urlSplit(const char * url, urlinfo *uret)
}
u->user = xstrdup(f);
}
- /*@=branchstate@*/
/* Look for ...host:port or [v6addr]:port*/
fe = f = s;
@@ -518,10 +476,8 @@ int urlSplit(const char * url, urlinfo *uret)
if (u->port < 0 && u->scheme != NULL) {
struct servent *serv;
-/*@-multithreaded -moduncon @*/
/* HACK hkp:// might lookup "pgpkeyserver" */
serv = getservbyname(u->scheme, "tcp");
-/*@=multithreaded =moduncon @*/
if (serv != NULL)
u->port = ntohs(serv->s_port);
else if (u->urltype == URL_IS_FTP)
@@ -537,14 +493,11 @@ int urlSplit(const char * url, urlinfo *uret)
myurl = _free(myurl);
if (uret) {
*uret = u;
-/*@-globs -mods @*/ /* FIX: rpmGlobalMacroContext not in <rpmlib.h> */
+/* FIX: rpmGlobalMacroContext not in <rpmlib.h> */
urlFind(uret, 0);
-/*@=globs =mods @*/
}
return 0;
}
-/*@=modfilesys@*/
-/*@=bounds@*/
int urlGetFile(const char * url, const char * dest)
{
@@ -595,7 +548,7 @@ fprintf(stderr, "*** urlGetFile sfd %p %s tfd %p %s\n", sfd, url, (tfd ? tfd : N
if ((rc = ufdGetFile(sfd, tfd))) {
(void) Unlink(dest);
/* XXX FIXME: sfd possibly closed by copyData */
- /*@-usereleased@*/ (void) Fclose(sfd) /*@=usereleased@*/ ;
+ (void) Fclose(sfd) ;
}
sfd = NULL; /* XXX Fclose(sfd) done by ufdGetFile */
break;