RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 25-Jun-2016 09:31:09 Branch: rpm-5_4 Handle: 2014092715512455006784 Added files: (Branch: rpm-5_4) rpm/rpmio rpmdefs.h Modified files: (Branch: rpm-5_4) rpm CHANGES rpm/rpmio Makefile.am ar.h argv.h bson.c bson.h echo.c edon-r.c lane.c luffa.c microjson.c mire.h rpmbf.h rpmdav.c rpmio.h rpmiotypes.h rpmlog.h rpmmacro.h rpmpgp.c rpmpgp.h rpmsw.h rpmzlog.h tib3.c tjsmn.c tjson.c url.c yarn.h Removed files: (Branch: rpm-5_4) rpm/rpmio rpmutil.h Log: - rpmio: sanitize public includes (with iwyu). - rpmio: rename rpmutil.h -> rpmdefs.h. Summary: Revision Changes Path 1.3501.2.499+2 -0 rpm/CHANGES 1.293.2.73 +27 -8 rpm/rpmio/Makefile.am 1.5.8.2 +1 -0 rpm/rpmio/ar.h 1.17.4.5 +28 -62 rpm/rpmio/argv.h 2.4.4.20 +9 -8 rpm/rpmio/bson.c 2.3.4.17 +1 -1 rpm/rpmio/bson.h 2.1.4.4 +1 -1 rpm/rpmio/echo.c 1.5.4.4 +1 -1 rpm/rpmio/edon-r.c 2.7.2.4 +1 -1 rpm/rpmio/lane.c 2.6.2.5 +1 -1 rpm/rpmio/luffa.c 1.1.2.4 +1 -1 rpm/rpmio/microjson.c 1.32.4.3 +24 -93 rpm/rpmio/mire.h 2.8.4.4 +13 -39 rpm/rpmio/rpmbf.h 2.119.2.20 +1 -0 rpm/rpmio/rpmdav.c 1.1.2.1 +159 -0 rpm/rpmio/rpmdefs.h 1.97.2.7 +119 -339 rpm/rpmio/rpmio.h 1.47.2.21 +62 -126 rpm/rpmio/rpmiotypes.h 2.24.4.5 +23 -63 rpm/rpmio/rpmlog.h 2.56.4.9 +31 -90 rpm/rpmio/rpmmacro.h 2.127.2.21 +2 -0 rpm/rpmio/rpmpgp.c 2.108.2.19 +99 -282 rpm/rpmio/rpmpgp.h 2.12.4.4 +12 -30 rpm/rpmio/rpmsw.h 1.1 +0 -159 rpm/rpmio/rpmutil.h 2.5.6.3 +10 -28 rpm/rpmio/rpmzlog.h 2.3.4.2 +1 -1 rpm/rpmio/tib3.c 1.1.2.5 +1 -1 rpm/rpmio/tjsmn.c 1.1.2.2 +1 -1 rpm/rpmio/tjson.c 1.73.4.13 +1 -0 rpm/rpmio/url.c 2.4.2.4 +33 -53 rpm/rpmio/yarn.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3501.2.498 -r1.3501.2.499 CHANGES --- rpm/CHANGES 24 Jun 2016 19:10:10 -0000 1.3501.2.498 +++ rpm/CHANGES 25 Jun 2016 07:31:07 -0000 1.3501.2.499 @@ -1,4 +1,6 @@ 5.4.17 -> 5.4.18: + - jbj: rpmio: sanitize public includes (with iwyu). + - jbj: rpmio: rename rpmutil.h -> rpmdefs.h. - jbj: mongoc: disable ctor/dtor automation. - jbj: selinux: use rpm_execcon only if available. - jbj: use poptArgvFree to avoid memory leaks. @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/Makefile.am ============================================================================ $ cvs diff -u -r1.293.2.72 -r1.293.2.73 Makefile.am --- rpm/rpmio/Makefile.am 19 Jun 2016 08:53:47 -0000 1.293.2.72 +++ rpm/rpmio/Makefile.am 25 Jun 2016 07:31:07 -0000 1.293.2.73 @@ -123,9 +123,21 @@ luaLPATHdir = ${pkgsharedir)/lua pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX) -pkginc_HEADERS = argv.h mire.h rpmzlog.h yarn.h \ - rpmbf.h rpmcb.h rpmio.h rpmlog.h rpmiotypes.h rpmmacro.h \ - rpmpgp.h rpmsw.h rpmutil.h +pkginc_HEADERS = \ + argv.h \ + mire.h \ + rpmbf.h \ + rpmcb.h \ + rpmdefs.h \ + rpmio.h \ + rpmiotypes.h \ + rpmlog.h \ + rpmmacro.h \ + rpmpgp.h \ + rpmsw.h \ + rpmzlog.h \ + yarn.h + noinst_HEADERS = \ ar.h bcon.h bson.h cpio.h crc.h envvar.h fts.h iosm.h \ blake2.h blake2-impl.h blake2-rpm.h blake2-kat.h \ @@ -141,7 +153,7 @@ rpmku.h rpmltc.h rpmlua.h rpmmg.h rpmmqtt.h rpmmrb.h rpmnix.h rpmnss.h \ rpmodbc.h rpmperl.h rpmpgp.h rpmpython.h rpmruby.h rpmsed.h rpmsm.h rpmsp.h \ rpmsq.h rpmsql.h rpmsquirrel.h rpmssl.h rpmsvn.h rpmsw.h rpmsx.h rpmsyck.h \ - rpmtcl.h rpmtpm.h rpmurl.h rpmutil.h rpmuuid.h rpmxar.h rpmz.h rpmzq.h \ + rpmtcl.h rpmtpm.h rpmurl.h rpmuuid.h rpmxar.h rpmz.h rpmzq.h \ set.h tar.h ugid.h yajl.h rpmio-stub.h usrlibdir = $(libdir) @@ -345,10 +357,6 @@ lint: $(LINT) $(DEFS) $(INCLUDES) $(librpmio_la_SOURCES) -.PHONY: mccabe -mccabe: - $(MCCABE) $(librpmio_la_SOURCES) | sort -n -r | head -n 20 - .PHONY: lint_rpmcpio lint_rpmcpio: $(LINT) -f .splintrc_rpmcpio $(DEFS) $(INCLUDES) rpmcpio.c @@ -365,6 +373,10 @@ lint_rpmtar: $(LINT) -f .splintrc_rpmtar $(DEFS) $(INCLUDES) rpmtar.c +.PHONY: mccabe +mccabe: + $(MCCABE) $(librpmio_la_SOURCES) | sort -n -r | head -n 20 + .PHONY: lcov-reset # run lcov from scratch, always lcov-reset: make lcov-run @@ -414,6 +426,13 @@ cppcheck: $(CPPCHECK) $(AM_CPPFLAGS) $(librpmio_la_SOURCES) +.PHONY: iwyu +iwyu: + @for INC in $(pkginc_HEADERS); do \ + echo "----- $${INC}"; \ + iwyu $(AM_CPPFLAGS) $${INC}; \ + done || : + #TESTS += RunGrepTest #dist_noinst_SCRIPTS += RunGrepTest @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/ar.h ============================================================================ $ cvs diff -u -r1.5.8.1 -r1.5.8.2 ar.h --- rpm/rpmio/ar.h 27 Sep 2014 15:51:21 -0000 1.5.8.1 +++ rpm/rpmio/ar.h 25 Jun 2016 07:31:07 -0000 1.5.8.2 @@ -34,6 +34,7 @@ extern "C" { #endif +struct stat; /** * Read ar(1) header. * @retval _iosm file path and stat info @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/argv.h ============================================================================ $ cvs diff -u -r1.17.4.4 -r1.17.4.5 argv.h --- rpm/rpmio/argv.h 27 Sep 2014 15:51:21 -0000 1.17.4.4 +++ rpm/rpmio/argv.h 25 Jun 2016 07:31:07 -0000 1.17.4.5 @@ -6,6 +6,8 @@ */ #include <stdio.h> +#include <rpmdefs.h> + typedef const char * ARGstr_t; typedef ARGstr_t * ARGV_t; @@ -27,66 +29,53 @@ * @param argv argv array * @param fp output file handle (NULL uses stderr) */ -void argvPrint(/*@null@*/ const char * msg, /*@null@*/ ARGV_t argv, - /*@null@*/ 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) - RPM_GNUC_PURE - /*@*/; +int argiCount(const ARGI_t argi) + RPM_GNUC_PURE; /** * Return data from argi array. * @param argi argi array * @return argi array data address */ -/*@null@*/ -ARGint_t argiData(/*@null@*/ ARGI_t argi) - RPM_GNUC_PURE - /*@*/; +ARGint_t argiData(ARGI_t argi) + RPM_GNUC_PURE; /** * Return no. of elements in argv array. * @param argv argv array * @return no. of elements */ -int argvCount(/*@null@*/ ARGV_t argv) - RPM_GNUC_PURE - /*@*/; +int argvCount(ARGV_t argv) + RPM_GNUC_PURE; /** * Return data from argv array. * @param argv argv array * @return argv array data address */ -/*@null@*/ -ARGV_t argvData(/*@null@*/ ARGV_t argv) - RPM_GNUC_CONST - /*@*/; +ARGV_t argvData(ARGV_t argv) + RPM_GNUC_CONST; /** * Compare argi elements (qsort/bsearch). @@ -94,11 +83,8 @@ * @param b 2nd instance address * @return result of comparison */ -/*@-exportlocal@*/ int argiCmp(ARGint_t * a, ARGint_t * b) - RPM_GNUC_PURE - /*@*/; -/*@=exportlocal@*/ + RPM_GNUC_PURE; /** * Compare argv elements using strcmp (qsort/bsearch). @@ -106,11 +92,8 @@ * @param b 2nd instance address * @return result of comparison */ -/*@-exportlocal@*/ int argvCmp(ARGstr_t * a, ARGstr_t * b) - RPM_GNUC_PURE - /*@*/; -/*@=exportlocal@*/ + RPM_GNUC_PURE; /** * Compare argv elements using strcasecmp (qsort/bsearch). @@ -119,8 +102,7 @@ * @return result of comparison */ int argvStrcasecmp(ARGstr_t * a, ARGstr_t * b) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ /** @@ -129,8 +111,7 @@ * @param b 2nd instance address * @return result of comparison */ -int argvFnmatch(ARGstr_t * a, ARGstr_t * b) - /*@*/; +int argvFnmatch(ARGstr_t * a, ARGstr_t * b); /** * Wildcard-match argv arrays using fnmatch (case-insensitive). @@ -138,8 +119,7 @@ * @param b 2nd instance address * @return result of comparison */ -int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b) - /*@*/; +int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b); #endif /** @@ -148,8 +128,7 @@ * @param compar strcmp-like comparison function, or NULL for argiCmp() * @return 0 always */ -int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *)) - /*@*/; +int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *)); /** * Sort an argv array. @@ -157,8 +136,7 @@ * @param compar strcmp-like comparison function, or NULL for argvCmp() * @return 0 always */ -int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *)) - /*@modifies *argv @*/; +int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *)); /** * Find an element in an argv array. @@ -168,10 +146,8 @@ * @param compar strcmp-like comparison function, or NULL for argvCmp() * @return found string (NULL on failure) */ -/*@dependent@*/ /*@null@*/ ARGV_t argvSearch(ARGV_t argv, int argc, ARGstr_t val, - int (*compar)(ARGstr_t *, ARGstr_t *)) - /*@*/; + int (*compar)(ARGstr_t *, ARGstr_t *)); #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ /** @@ -181,10 +157,8 @@ * @param compar strcmp-like comparison function, or NULL for argvCmp() * @return found string (NULL on failure) */ -/*@dependent@*/ /*@null@*/ ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val, - int (*compar)(ARGstr_t *, ARGstr_t *)) - /*@*/; + int (*compar)(ARGstr_t *, ARGstr_t *)); #endif /** @@ -194,8 +168,7 @@ * @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. @@ -203,8 +176,7 @@ * @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. @@ -212,8 +184,7 @@ * @param av argv array to append (NULL does nothing) * @return 0 always */ -int argvAppend(/*@out@*/ ARGV_t * argvp, /*@null@*/ ARGV_t av) - /*@modifies *argvp @*/; +int argvAppend(ARGV_t * argvp, ARGV_t av); /** * Split a string into an argv array. @@ -222,8 +193,7 @@ * @param seps separator characters (NULL is C isspace() chars) * @return 0 always */ -int argvSplit(ARGV_t * argvp, const char * str, /*@null@*/ const char * seps) - /*@modifies *argvp @*/; +int argvSplit(ARGV_t * argvp, const char * str, const char * seps); /** * Concatenate an argv array into a string. @@ -231,9 +201,7 @@ * @param sep arg separator * @return concatenated string */ -/*@only@*/ -char * argvJoin(ARGV_t argv, char sep) - /*@*/; +char * argvJoin(ARGV_t argv, char sep); /** * Read lines into an argv array. @@ -241,9 +209,7 @@ * @param fd rpmio FD_t (NULL uses stdin) * @return 0 on success */ -int argvFgets(ARGV_t * argvp, void * fd) - /*@globals fileSystem@*/ - /*@modifies *argvp, fd, fileSystem @*/; +int argvFgets(ARGV_t * argvp, void * fd); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/bson.c ============================================================================ $ cvs diff -u -r2.4.4.19 -r2.4.4.20 bson.c --- rpm/rpmio/bson.c 7 May 2016 14:48:51 -0000 2.4.4.19 +++ rpm/rpmio/bson.c 25 Jun 2016 07:31:07 -0000 2.4.4.20 @@ -18,9 +18,14 @@ #include "system.h" +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <inttypes.h> #include <stdarg.h> -#include <stddef.h> -#include <math.h> +#if defined(__linux__) +#include <syscall.h> +#endif #ifdef __APPLE__ # include <mach/clock.h> @@ -28,12 +33,8 @@ # include <mach/mach_time.h> #endif -#if defined(__linux__) -#include <sys/syscall.h> -#endif - -#include <yajl.h> #include <bson.h> +#include <yajl.h> #include "debug.h" @@ -8320,7 +8321,7 @@ gh...@aladdin.com */ -/* $Id: bson.c,v 2.4.4.19 2016/05/07 14:48:51 jbj Exp $ */ +/* $Id: bson.c,v 2.4.4.20 2016/06/25 07:31:07 jbj Exp $ */ /* Independent implementation of MD5 (RFC 1321). @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/bson.h ============================================================================ $ cvs diff -u -r2.3.4.16 -r2.3.4.17 bson.h --- rpm/rpmio/bson.h 17 Jun 2016 08:07:27 -0000 2.3.4.16 +++ rpm/rpmio/bson.h 25 Jun 2016 07:31:08 -0000 2.3.4.17 @@ -29,7 +29,7 @@ #include <string.h> #include <time.h> -#include <rpmutil.h> +#include <rpmdefs.h> #if defined(__clang__) @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/echo.c ============================================================================ $ cvs diff -u -r2.1.4.3 -r2.1.4.4 echo.c --- rpm/rpmio/echo.c 19 Jun 2016 08:53:47 -0000 2.1.4.3 +++ rpm/rpmio/echo.c 25 Jun 2016 07:31:08 -0000 2.1.4.4 @@ -13,7 +13,7 @@ *******************************************************************************/ #include "system.h" -#include <rpmutil.h> +#include <rpmdefs.h> #include <stdio.h> #include "echo.h" @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/edon-r.c ============================================================================ $ cvs diff -u -r1.5.4.3 -r1.5.4.4 edon-r.c --- rpm/rpmio/edon-r.c 19 Apr 2016 13:07:45 -0000 1.5.4.3 +++ rpm/rpmio/edon-r.c 25 Jun 2016 07:31:08 -0000 1.5.4.4 @@ -1,4 +1,4 @@ -#include <rpmutil.h> +#include <rpmdefs.h> #if !defined(CLANG_ASAN_COMPILES_SLOWLY) /* Reference implementation of tweaked Edon-R */ #include <string.h> @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/lane.c ============================================================================ $ cvs diff -u -r2.7.2.3 -r2.7.2.4 lane.c --- rpm/rpmio/lane.c 19 Jun 2016 08:53:47 -0000 2.7.2.3 +++ rpm/rpmio/lane.c 25 Jun 2016 07:31:08 -0000 2.7.2.4 @@ -1,4 +1,4 @@ -#include <rpmutil.h> +#include <rpmdefs.h> #if !defined(CLANG_ASAN_COMPILES_SLOWLY) /* laneref.c v1.1 October 2008 @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/luffa.c ============================================================================ $ cvs diff -u -r2.6.2.4 -r2.6.2.5 luffa.c --- rpm/rpmio/luffa.c 19 Jun 2016 08:53:47 -0000 2.6.2.4 +++ rpm/rpmio/luffa.c 25 Jun 2016 07:31:08 -0000 2.6.2.5 @@ -1,4 +1,4 @@ -#include <rpmutil.h> +#include <rpmdefs.h> #if !defined(CLANG_ASAN_COMPILES_SLOWLY) /*******************************/ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/microjson.c ============================================================================ $ cvs diff -u -r1.1.2.3 -r1.1.2.4 microjson.c --- rpm/rpmio/microjson.c 17 Jun 2016 08:07:27 -0000 1.1.2.3 +++ rpm/rpmio/microjson.c 25 Jun 2016 07:31:08 -0000 1.1.2.4 @@ -11,7 +11,7 @@ #include <getopt.h> #include <math.h> -#include <rpmutil.h> +#include <rpmdefs.h> #include "debug.h" @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/mire.h ============================================================================ $ cvs diff -u -r1.32.4.2 -r1.32.4.3 mire.h --- rpm/rpmio/mire.h 27 Sep 2014 15:51:22 -0000 1.32.4.2 +++ rpm/rpmio/mire.h 25 Jun 2016 07:31:08 -0000 1.32.4.3 @@ -6,58 +6,40 @@ * RPM pattern matching. */ -#include <rpmiotypes.h> +#include <stddef.h> -/*@-noparams@*/ -#include <fnmatch.h> -/*@=noparams@*/ -#if defined(__LCLINT__) -/*@-declundef -exportheader -redecl @*/ /* LCL: missing annotation */ -extern int fnmatch (const char *__pattern, const char *__name, int __flags) - /*@*/; -/*@=declundef =exportheader =redecl @*/ -#endif +#include <rpmiotypes.h> /** */ -/*@-exportlocal@*/ -/*@unchecked@*/ extern int _mire_debug; -/*@=exportlocal@*/ -/*@unchecked@*/ /*@only@*/ /*@null@*/ extern rpmioPool _mirePool; /** */ -/*@unchecked@*/ /*@null@*/ /*@shared@*/ extern const unsigned char * _mirePCREtables; /** Line ending types */ typedef enum mireEL_e { EL_LF, EL_CR, EL_CRLF, EL_ANY, EL_ANYCRLF } mireEL_t; -/*@unchecked@*/ extern mireEL_t _mireEL; /** STRING default: 0 */ -/*@unchecked@*/ extern int _mireSTRINGoptions; /** GLOB default: FNM_PATHNAME | FNM_PERIOD */ -/*@unchecked@*/ extern int _mireGLOBoptions; /** REGEX default: REG_EXTENDED */ -/*@unchecked@*/ extern int _mireREGEXoptions; /** PCRE default: 0 */ -/*@unchecked@*/ extern int _mirePCREoptions; /** */ -typedef /*@abstract@*/ /*@refcounted@*/ struct miRE_s * miRE; +typedef struct miRE_s * miRE; /** * Tag value pattern match mode. @@ -72,13 +54,6 @@ #if defined(_MIRE_INTERNAL) -#if defined(__LCLINT__) -/*@-declundef -exportheader @*/ /* LCL: missing modifies (only is bogus) */ -extern void regfree (/*@only@*/ regex_t *preg) - /*@modifies *preg @*/; -/*@=declundef =exportheader @*/ -#endif - #if defined(WITH_PCRE) #include <pcre.h> #endif @@ -93,19 +68,12 @@ struct miRE_s { struct rpmioItem_s _item; /*!< usage mutex and pool identifier. */ rpmMireMode mode; /*!< pattern match mode */ -/*@only@*/ /*@relnull@*/ const char *pattern; /*!< pattern string */ -/*@only@*/ /*@relnull@*/ regex_t *preg; /*!< regex compiled pattern buffer */ -/*@only@*/ /*@relnull@*/ void *pcre; /*!< pcre compiled pattern buffer. */ -/*@only@*/ /*@relnull@*/ void *hints; /*!< pcre compiled pattern hints buffer. */ -/*@shared@*/ /*@relnull@*/ const char * errmsg; /*!< pcre error message. */ -/*@shared@*/ /*@relnull@*/ const unsigned char * table;/*!< pcre locale table. */ -/*@kept@*/ int * offsets; /*!< pcre substring offset table. */ int noffsets; /*!< pcre substring offset table count. */ int erroff; /*!< pcre error offset. */ @@ -118,10 +86,6 @@ int eoptions; /*!< pcre_exec(3) options. */ int notmatch; /*!< non-zero: negative match, like "grep -v" */ int tag; /*!< sort identifier (e.g. an rpmTag) */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif /* defined(_MIRE_INTERNAL) */ @@ -134,27 +98,21 @@ * @param mire pattern container * @return 0 on success */ -int mireClean(/*@null@*/ miRE mire) - /*@modifies mire @*/; +int mireClean(miRE mire); /** * Allocate a miRE container from the pool. * @param pool mire pool * @return miRE container */ -miRE mireGetPool(/*@null@*/ rpmioPool pool) - /*@globals _mirePool, fileSystem @*/ - /*@modifies pool, _mirePool, fileSystem @*/; +miRE mireGetPool(rpmioPool pool); /** * Unreference a pattern container instance. * @param mire pattern container * @return new pattern container reference */ -/*@unused@*/ /*@null@*/ -miRE mireUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ miRE mire) - /*@globals fileSystem @*/ - /*@modifies mire, fileSystem @*/; +miRE mireUnlink (miRE mire); #define mireUnlink(_mire) \ (miRE)rpmioUnlinkPoolItem((rpmioItem)_mire, __FUNCTION__, __FILE__, __LINE__) @@ -163,9 +121,7 @@ * @param mire pattern container * @return new pattern container reference */ -/*@unused@*/ /*@newref@*/ /*@null@*/ -miRE mireLink (/*@null@*/ miRE mire) - /*@modifies mire @*/; +miRE mireLink (miRE mire); #define mireLink(_mire) \ (miRE)rpmioLinkPoolItem((rpmioItem)_mire, __FUNCTION__, __FILE__, __LINE__) @@ -174,10 +130,7 @@ * @param mire pattern container * @return NULL on last derefernce */ -/*@null@*/ -miRE mireFree(/*@killref@*/ /*@only@*/ /*@null@*/ miRE mire) - /*@globals fileSystem @*/ - /*@modifies mire, fileSystem @*/; +miRE mireFree(miRE mire); #define mireFree(_mire) \ (miRE)rpmioFreePoolItem((rpmioItem)_mire, __FUNCTION__, __FILE__, __LINE__) @@ -187,10 +140,7 @@ * @param nmire no of patterns in array * @return NULL always */ -/*@null@*/ -void * mireFreeAll(/*@only@*/ /*@null@*/ miRE mire, int nmire) - /*@globals fileSystem @*/ - /*@modifies mire, fileSystem @*/; +void * mireFreeAll(miRE mire, int nmire); /** * Create pattern container. @@ -198,10 +148,7 @@ * @param tag identifier (e.g. an rpmTag) * @return new pattern container (NULL on error) */ -/*@null@*/ -miRE mireNew(rpmMireMode mode, int tag) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +miRE mireNew(rpmMireMode mode, int tag); /** * Initialize pattern compile options. @@ -213,8 +160,7 @@ * @return 0 on success */ int mireSetCOptions(miRE mire, rpmMireMode mode, int tag, int options, - /*@null@*/ const unsigned char * table) - /*@modifies mire @*/; + const unsigned char * table); /** * Initialize pattern execute options (PCRE only). @@ -223,8 +169,7 @@ * @param noffsets (PCRE only) no. of string offsets * @return 0 on success */ -int mireSetEOptions(miRE mire, /*@out@*/ /*@kept@*/ int * offsets, int noffsets) - /*@modifies mire @*/; +int mireSetEOptions(miRE mire, int * offsets, int noffsets); /** * Initialize pattern global options (PCRE only). @@ -234,10 +179,8 @@ * @param utf8 assume utf8 matching? * @return 0 on success */ -int mireSetGOptions(/*@null@*/ const char * newline, - int caseless, int multiline, int utf8) - /*globals _mireGLOBoptions, _mireREGEXoptions, _mirePCREoptions */ - /*modifies _mireGLOBoptions, _mireREGEXoptions, _mirePCREoptions */; +int mireSetGOptions(const char * newline, + int caseless, int multiline, int utf8); /** * Compile locale-specific PCRE tables. @@ -245,9 +188,7 @@ * @param locale locale string (NULL uses usual envvar's) * @return 0 on success */ -int mireSetLocale(/*@null@*/ miRE mire, /*@null@*/ const char * locale) - /*@globals _mirePCREtables, internalState @*/ - /*@modifies mire, _mirePCREtables, internalState @*/; +int mireSetLocale(miRE mire, const char * locale); /** * Compile pattern match. @@ -256,8 +197,7 @@ * @param pattern pattern to compile * @return 0 on success */ -int mireRegcomp(miRE mire, const char * pattern) - /*@modifies mire @*/; +int mireRegcomp(miRE mire, const char * pattern); /** * Execute pattern match. @@ -266,8 +206,7 @@ * @param vallen length of value string (0 will use strlen) * @return >=0 if pattern matches, -1 on nomatch, else error */ -int mireRegexec(miRE mire, const char * val, size_t vallen) - /*@modifies mire @*/; +int mireRegexec(miRE mire, const char * val, size_t vallen); /** * Append pattern to array. @@ -278,12 +217,9 @@ * @retval *mirep pattern array * @retval *nmirep no. of patterns in array */ -/*@null@*/ int mireAppend(rpmMireMode mode, int tag, const char * pattern, - /*@null@*/ const unsigned char * table, - miRE * mirep, int * nmirep) - /*@globals fileSystem @*/ - /*@modifies *mirep, *nmirep, fileSystem @*/; + const unsigned char * table, + miRE * mirep, int * nmirep); /** * Load patterns from string array. @@ -296,11 +232,9 @@ * @return 0 on success */ int mireLoadPatterns(rpmMireMode mode, int tag, - /*@null@*/ const char ** patterns, - /*@null@*/ const unsigned char * table, - miRE * mirep, int * nmirep) - /*@globals fileSystem @*/ - /*@modifies *mirep, *nmirep, fileSystem @*/; + const char ** patterns, + const unsigned char * table, + miRE * mirep, int * nmirep); /** * Apply array of patterns to a string. @@ -311,9 +245,7 @@ * @param rc -1 == excluding, +1 == including, 0 == single pattern * @return termination condition */ -int mireApply(/*@null@*/ miRE mire, int nmire, - const char *s, size_t slen, int rc) - /*@modifies mire@*/; +int mireApply(miRE mire, int nmire, const char *s, size_t slen, int rc); /** * Study PCRE patterns (if any). @@ -321,8 +253,7 @@ * @param nmires no. of patterns in container * @return 0 on success */ -int mireStudy(miRE mire, int nmires) - /*@modifies mire @*/; +int mireStudy(miRE mire, int nmires); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmbf.h ============================================================================ $ cvs diff -u -r2.8.4.3 -r2.8.4.4 rpmbf.h --- rpm/rpmio/rpmbf.h 27 Sep 2014 15:51:22 -0000 2.8.4.3 +++ rpm/rpmio/rpmbf.h 25 Jun 2016 07:31:08 -0000 2.8.4.4 @@ -5,9 +5,10 @@ * \file rpmio/rpmbf.h */ +#include <stddef.h> + /** \ingroup rpmio */ -/*@unchecked@*/ extern int _rpmbf_debug; /** \ingroup rpmio @@ -28,12 +29,7 @@ size_t m; size_t n; size_t k; -/*@relnull@*/ unsigned char * bits; -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif /* _RPMBF_INTERNAL */ @@ -62,27 +58,20 @@ * @retval odp no. of bits in map * @param nd desired no. of bits */ -/*@unused@*/ static inline pbm_set * PBM_REALLOC(pbm_set ** sp, int * odp, int nd) - /*@modifies *sp, *odp @*/ { int i, nb; if (nd > (*odp)) { nd *= 2; nb = __PBM_IX(nd) + 1; -/*@-unqualifiedtrans@*/ *sp = (pbm_set *) xrealloc(*sp, nb * (__PBM_NBITS/8)); -/*@=unqualifiedtrans@*/ for (i = __PBM_IX(*odp) + 1; i < nb; i++) __PBM_BITS(*sp)[i] = 0; *odp = nd; } -/*@-compdef -retalias -usereleased@*/ return *sp; -/*@=compdef =retalias =usereleased@*/ } - #endif /* _RPMBF_INTERNAL */ /** @@ -90,9 +79,7 @@ * @param bf Bloom filter * @return NULL on last dereference */ -/*@unused@*/ /*@null@*/ -rpmbf rpmbfUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmbf bf) - /*@modifies bf @*/; +rpmbf rpmbfUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmbf bf); #define rpmbfUnlink(_bf) \ ((rpmbf)rpmioUnlinkPoolItem((rpmioItem)(_bf), __FUNCTION__, __FILE__, __LINE__)) @@ -101,9 +88,7 @@ * @param bf Bloom filter * @return new Bloom filter reference */ -/*@unused@*/ /*@newref@*/ /*@null@*/ -rpmbf rpmbfLink (/*@null@*/ rpmbf bf) - /*@modifies bf @*/; +rpmbf rpmbfLink (/*@null@*/ rpmbf bf); #define rpmbfLink(_bf) \ ((rpmbf)rpmioLinkPoolItem((rpmioItem)(_bf), __FUNCTION__, __FILE__, __LINE__)) @@ -112,9 +97,7 @@ * @param bf Bloom filter * @return NULL on last dereference */ -/*@null@*/ -rpmbf rpmbfFree(/*@killref@*/ /*@null@*/rpmbf bf) - /*@modifies bf @*/; +rpmbf rpmbfFree(/*@killref@*/ /*@null@*/rpmbf bf); #define rpmbfFree(_bf) \ ((rpmbf)rpmioFreePoolItem((rpmioItem)(_bf), __FUNCTION__, __FILE__, __LINE__)) @@ -125,9 +108,7 @@ * @param flags flags * @return new Bloom filter */ -/*@newref@*/ /*@null@*/ -rpmbf rpmbfNew(size_t m, size_t k, unsigned flags) - /*@*/; +rpmbf rpmbfNew(size_t m, size_t k, unsigned flags); /** * Add item to a Bloom filter. @@ -136,16 +117,14 @@ * @param ns no. bytes (0 uses strlen) * @return 0 on success, -1 on NULL pointer */ -int rpmbfAdd(rpmbf bf, const void * _s, size_t ns) - /*@modifies bf @*/; +int rpmbfAdd(rpmbf bf, const void * _s, size_t ns); /** * Clear a Bloom filter, discarding all set memberships. * @param bf Bloom filter * @return 0 on success, -1 on NULL pointer */ -int rpmbfClr(rpmbf bf) - /*@modifies bf @*/; +int rpmbfClr(rpmbf bf); /** * Check for item in a Bloom filter. @@ -154,8 +133,7 @@ * @param ns no. bytes (0 uses strlen) * @return 1 if string is present, 0 if not, -1 on NULL pointer */ -int rpmbfChk(rpmbf bf, const void * _s, size_t ns) - /*@modifies bf @*/; +int rpmbfChk(rpmbf bf, const void * _s, size_t ns); /** * Delete item from a Bloom filter. @@ -165,8 +143,7 @@ * @param ns no. bytes (0 will do strlen) * @return 0 on success, -1 on NULL pointer */ -int rpmbfDel(rpmbf bf, const void * _s, size_t ns) - /*@modifies bf @*/; +int rpmbfDel(rpmbf bf, const void * _s, size_t ns); /** * Return intersection of two Bloom filters. @@ -174,8 +151,7 @@ * @param b Bloom filter * @return 0 on success, -1 if {m,k} disagree or NULL pointers. */ -int rpmbfIntersect(rpmbf a, const rpmbf b) - /*@modifies a @*/; +int rpmbfIntersect(rpmbf a, const rpmbf b); /** * Return union of two Bloom filters. @@ -183,8 +159,7 @@ * @param b Bloom filter * @return 0 on success, -1 if {m,k} disagree or NULL pointers. */ -int rpmbfUnion(rpmbf a, const rpmbf b) - /*@modifies a @*/; +int rpmbfUnion(rpmbf a, const rpmbf b); /** * Return optimal {m, k} for given n and e. @@ -193,8 +168,7 @@ * @retval mp *mp no. of bits * @retval kp *kp no. of hashes */ -void rpmbfParams(size_t n, double e, size_t * mp, size_t * kp) - /*@modifies *mp, *kp @*/; +void rpmbfParams(size_t n, double e, size_t * mp, size_t * kp); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmdav.c ============================================================================ $ cvs diff -u -r2.119.2.19 -r2.119.2.20 rpmdav.c --- rpm/rpmio/rpmdav.c 10 Apr 2016 22:17:10 -0000 2.119.2.19 +++ rpm/rpmio/rpmdav.c 25 Jun 2016 07:31:08 -0000 2.119.2.20 @@ -48,6 +48,7 @@ #include <rpmhash.h> #include <rpmmacro.h> /* XXX rpmExpand */ #include <ugid.h> +#include <yarn.h> #define _RPMDIR_INTERNAL #include <rpmdir.h> @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmdefs.h ============================================================================ $ cvs diff -u -r0 -r1.1.2.1 rpmdefs.h --- /dev/null 2016-06-25 09:30:35.000000000 +0200 +++ rpmdefs.h 2016-06-25 09:31:09.073625928 +0200 @@ -0,0 +1,159 @@ +#ifndef H_RPMUTIL +#define H_RPMUTIL + +/** + * \file rpmio/rpmdefs.h + * Compiler attributes for __GNUC__. + */ + +/* + * Miscellaneous utility macros: + * - portability wrappers for various gcc extensions like __attribute__() + * - ... + * + * Copied from glib, names replaced to avoid clashing with glib. + * + */ + +/* Here we provide RPM_GNUC_EXTENSION as an alias for __extension__, + * where this is valid. This allows for warningless compilation of + * "long long" types even in the presence of '-ansi -pedantic'. + */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8) +# define RPM_GNUC_EXTENSION __extension__ +#else +# define RPM_GNUC_EXTENSION +#endif + +/* Provide macros to feature the GCC function attribute. + */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +#define RPM_GNUC_PURE \ + __attribute__((__pure__)) +#define RPM_GNUC_MALLOC \ + __attribute__((__malloc__)) +#else +#define RPM_GNUC_PURE +#define RPM_GNUC_MALLOC +#endif + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) +#define RPM_GNUC_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) +#define RPM_GNUC_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y))) +#else +#define RPM_GNUC_ALLOC_SIZE(x) +#define RPM_GNUC_ALLOC_SIZE2(x,y) +#endif + +#if __GNUC__ >= 4 +#define RPM_GNUC_NULL_TERMINATED __attribute__((__sentinel__)) +#else +#define RPM_GNUC_NULL_TERMINATED +#endif + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) +#define RPM_GNUC_PRINTF( format_idx, arg_idx ) \ + __attribute__((__format__ (__printf__, format_idx, arg_idx))) +#define RPM_GNUC_SCANF( format_idx, arg_idx ) \ + __attribute__((__format__ (__scanf__, format_idx, arg_idx))) +#define RPM_GNUC_FORMAT( arg_idx ) \ + __attribute__((__format_arg__ (arg_idx))) +#define RPM_GNUC_NORETURN \ + __attribute__((__noreturn__)) +#define RPM_GNUC_CONST \ + __attribute__((__const__)) +#define RPM_GNUC_UNUSED \ + __attribute__((__unused__)) +#define RPM_GNUC_NO_INSTRUMENT \ + __attribute__((__no_instrument_function__)) +#else /* !__GNUC__ */ +#define RPM_GNUC_PRINTF( format_idx, arg_idx ) +#define RPM_GNUC_SCANF( format_idx, arg_idx ) +#define RPM_GNUC_FORMAT( arg_idx ) +#define RPM_GNUC_NORETURN +#define RPM_GNUC_CONST +#define RPM_GNUC_UNUSED +#define RPM_GNUC_NO_INSTRUMENT +#endif /* !__GNUC__ */ + +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define RPM_GNUC_DEPRECATED \ + __attribute__((__deprecated__)) +#else +#define RPM_GNUC_DEPRECATED +#endif /* __GNUC__ */ + +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) +#define RPM_GNUC_MAY_ALIAS __attribute__((may_alias)) +#define RPM_GNUC_NONNULL( ... ) \ + __attribute__((__nonnull__ (__VA_ARGS__))) +#else +#define RPM_GNUC_MAY_ALIAS +#define RPM_GNUC_NONNULL( ... ) +#endif + +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#define RPM_GNUC_WARN_UNUSED_RESULT \ + __attribute__((warn_unused_result)) +#else +#define RPM_GNUC_WARN_UNUSED_RESULT +#endif /* __GNUC__ */ + +#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) +# define RPM_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +# define RPM_GNUC_INTERNAL +#endif + +/* if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ >= 7 */ +#if defined(HAVE_GNUC_TM_ATOMIC) && !defined(__SANITIZE_ADDRESS__) +# define RPM_GNUC_TM_SAFE __attribute__((transaction_safe)) +# define RPM_GNUC_TM_PURE __attribute__((transaction_pure)) +# define RPM_GNUC_TM_CALLABLE __attribute__((transaction_callable)) +# define RPM_GNUC_TM_UNSAFE __attribute__((transaction_unsafe)) +# define RPM_GNUC_TM_MAYCANCEL __attribute__((transaction_may_cancel_outer)) +# define RPM_GNUC_TM_WRAP(func) __attribute__((transaction_wrap(func))) +# define RPM_GNUC_TM_ATOMIC __transaction_atomic /* XXX [[outer]] */ +# define RPM_GNUC_TM_RELAXED __transaction_relaxed +# define RPM_GNUC_TM_CANCEL __transaction_cancel /* XXX [[outer]] */ +#else +# define RPM_GNUC_TM_SAFE +# define RPM_GNUC_TM_PURE +# define RPM_GNUC_TM_CALLABLE +# define RPM_GNUC_TM_UNSAFE +# define RPM_GNUC_TM_MAYCANCEL +# define RPM_GNUC_TM_WRAP(func) +# define RPM_GNUC_TM_ATOMIC +# define RPM_GNUC_TM_RELAXED +# define RPM_GNUC_TM_CANCEL +#endif + +#if defined(__has_feature) +# if __has_feature(address_sanitizer) +# if __clang__ +# define CLANG_ASAN_COMPILES_SLOWLY /* XXX disable certain digests */ +# endif +# define RPM_GNUC_NOASAN __attribute__((no_sanitize("address"))) +# define RPM_GNUC_NOBOUNDS __attribute__((no_sanitize("bounds"))) +# define RPM_GNUC_NOUNDEFINED __attribute__((no_sanitize("undefined"))) +# else +# define RPM_GNUC_NOASAN +# define RPM_GNUC_NOBOUNDS +# define RPM_GNUC_NOUNDEFINED +# endif +#else +# define RPM_GNUC_NOASAN +# define RPM_GNUC_NOBOUNDS +# define RPM_GNUC_NOUNDEFINED +#endif + +/* Guard C code in headers, while including them from C++ */ +#ifdef __cplusplus +# define RPM_BEGIN_DECLS extern "C" { +# define RPM_END_DECLS } +#else +# define RPM_BEGIN_DECLS +# define RPM_END_DECLS +#endif + +#endif /* H_RPMUTIL */ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.h ============================================================================ $ cvs diff -u -r1.97.2.6 -r1.97.2.7 rpmio.h --- rpm/rpmio/rpmio.h 27 Feb 2016 20:36:50 -0000 1.97.2.6 +++ rpm/rpmio/rpmio.h 25 Jun 2016 07:31:08 -0000 1.97.2.7 @@ -7,13 +7,12 @@ */ #include <sys/types.h> -#include <sys/stat.h> +#include <features.h> #include <stdio.h> -#include <stdlib.h> -#include <unistd.h> +#include <libio.h> #include <rpmiotypes.h> -#include <rpmzlog.h> +#include <rpmdefs.h> /** \ingroup rpmio * Hide libio API lossage. @@ -36,16 +35,15 @@ /** \ingroup rpmio */ -/*@unchecked@*/ extern int _rpmio_debug; /** \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" { @@ -58,64 +56,44 @@ /** */ -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 FD_t (*fdio_fopen_function_t) (const char * path, const char * fmode) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +typedef FD_t (*fdio_fopen_function_t) (const char * path, const char * fmode); /** */ -typedef FD_t (*fdio_fdopen_function_t) (void * cookie, const char * fmode) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +typedef FD_t (*fdio_fdopen_function_t) (void * cookie, const char * fmode); /** */ -typedef int (*fdio_flush_function_t) (void * cookie) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +typedef int (*fdio_flush_function_t) (void * cookie); /*@}*/ - /** \ingroup rpmio */ struct FDIO_s { - fdio_read_function_t read; - fdio_write_function_t write; - fdio_seek_function_t seek; - fdio_close_function_t close; -/*@null@*/ - fdio_fopen_function_t _fopen; -/*@null@*/ - fdio_fdopen_function_t _fdopen; -/*@null@*/ - fdio_flush_function_t _flush; + fdio_read_function_t read; + fdio_write_function_t write; + fdio_seek_function_t seek; + fdio_close_function_t close; + fdio_fopen_function_t _fopen; + fdio_fdopen_function_t _fdopen; + fdio_flush_function_t _flush; }; @@ -127,93 +105,61 @@ /** * strerror(3) clone. */ -/*@observer@*/ const char * Fstrerror(/*@null@*/ FD_t fd) - /*@*/; +const char * Fstrerror(FD_t fd); /** * fread(3) clone. */ -/*@-incondefs@*/ -size_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) @*/; -/*@=incondefs@*/ +size_t Fread(void * buf, size_t size, size_t nmemb, FD_t fd); /** * fwrite(3) clone. */ -/*@-incondefs@*/ -size_t Fwrite(const void * buf, size_t size, size_t nmemb, FD_t fd) - /*@globals fileSystem @*/ - /*@modifies fd, fileSystem @*/ - /*@requires maxRead(buf) >= nmemb @*/; -/*@=incondefs@*/ +size_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 @*/; -long Ftell(FD_t fd) - /*@*/; -void Rewind(FD_t fd) - /*@*/; -int Fgetpos(FD_t fd, fpos_t *pos) - /*@*/; -int Fsetpos(FD_t fd, fpos_t *pos) - /*@*/; +int Fseek(FD_t fd, _libio_off_t offset, int whence); + +long Ftell(FD_t fd); +void Rewind(FD_t fd); +int Fgetpos(FD_t fd, fpos_t *pos); +int Fsetpos(FD_t fd, fpos_t *pos); /** * 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, internalState @*/ - /*@modifies ofd, fileSystem, internalState @*/; +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); /*@}*/ @@ -225,237 +171,176 @@ /** * 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); -/*@unchecked@*/ /*@observer@*/ /*@null@*/ extern const char * _chroot_prefix; /** * chroot(2) clone. * @todo Implement remotely. */ -int Chroot(const char * path) - /*@globals _chroot_prefix, errno, fileSystem, internalState @*/ - /*@modifies _chroot_prefix, errno, fileSystem, internalState @*/; +int Chroot(const char * path); /** * open(2) clone. * @todo Implement remotely. */ -int Open(const char * path, int flags, mode_t mode) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Open(const char * path, int flags, mode_t mode); /** * 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); /** * stat(2) clone. */ -int Stat(const char * path, /*@out@*/ struct stat * st) - /*@globals errno, h_errno, fileSystem, internalState @*/ - /*@modifies *st, errno, fileSystem, internalState @*/; +struct stat; +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); /** * fstat(2) clone. */ -int Fstat(FD_t fd, /*@out@*/ struct stat * st) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies *st, errno, fileSystem, internalState @*/; +int Fstat(FD_t fd, struct stat * st); /** * posix_fadvise(2) clone. */ -int Fadvise(FD_t fd, off_t offset, off_t length, int advice) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +int Fadvise(FD_t fd, off_t offset, off_t length, int advice); /** * posix_fallocate(3)/fallocate(2) clone. */ -int Fallocate(FD_t fd, off_t offset, off_t length) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +int Fallocate(FD_t fd, off_t offset, off_t length); /** * chown(2) clone. * @todo Implement remotely. */ -int Chown(const char * path, uid_t owner, gid_t group) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Chown(const char * path, uid_t owner, gid_t group); /** * fchown(2) clone. * @todo Implement remotely. */ -int Fchown(FD_t fd, uid_t owner, gid_t group) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Fchown(FD_t fd, uid_t owner, gid_t group); /** * lchown(2) clone. * @todo Implement remotely. */ -int Lchown(const char * path, uid_t owner, gid_t group) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Lchown(const char * path, uid_t owner, gid_t group); /** * chmod(2) clone. * @todo Implement remotely. */ -int Chmod(const char * path, mode_t mode) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Chmod(const char * path, mode_t mode); /** * lchmod(2) clone. * @todo Implement remotely. */ -int Lchmod(const char * path, mode_t mode) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Lchmod(const char * path, mode_t mode); /** * fchmod(2) clone. * @todo Implement remotely. */ -int Fchmod(FD_t fd, mode_t mode) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Fchmod(FD_t fd, mode_t mode); /** * chflags(2) clone. * @todo Implement remotely. */ -int Chflags(const char * path, unsigned int flags) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Chflags(const char * path, unsigned int flags); /** * lchflags(2) clone. * @todo Implement remotely. */ -int Lchflags(const char * path, unsigned int flags) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Lchflags(const char * path, unsigned int flags); /** * fchflags(2) clone. * @todo Implement remotely. */ -int Fchflags(FD_t fd, unsigned int flags) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Fchflags(FD_t fd, unsigned int flags); /** * mkfifo(3) clone. * @todo Implement remotely. */ -int Mkfifo(const char * path, mode_t mode) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Mkfifo(const char * path, mode_t mode); /** * mknod(3) clone. * @todo Implement remotely. */ -int Mknod(const char * path, mode_t mode, dev_t dev) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Mknod(const char * path, mode_t mode, dev_t dev); /** * utime(2) clone. * @todo Implement remotely. */ struct utimbuf; -int Utime(const char * path, const struct utimbuf * buf) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Utime(const char * path, const struct utimbuf * buf); /** * utimes(2) clone. * @todo Implement remotely. */ -int Utimes(const char * path, const struct timeval * times) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +struct timeval; +int Utimes(const char * path, const struct timeval * times); /** * lutimes(2) clone. * @todo Implement remotely. */ -int Lutimes(const char * path, const struct timeval * times) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Lutimes(const char * path, const struct timeval * times); /** * symlink(3) clone. * @todo Implement remotely. */ -int Symlink(const char * oldpath, const char * newpath) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies errno, fileSystem, internalState @*/; +int Symlink(const char * oldpath, const char * newpath); /** * readlink(2) clone. * @todo Implement remotely. */ -/*@-incondefs@*/ -int Readlink(const char * path, /*@out@*/ char * buf, size_t bufsiz) - /*@globals errno, h_errno, fileSystem, internalState @*/ - /*@modifies *buf, errno, fileSystem, internalState @*/; -/*@=incondefs@*/ +int Readlink(const char * path, char * buf, size_t bufsiz); /** * access(2) clone. * @todo Implement remotely. */ -int Access(const char * path, int amode) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +int Access(const char * path, int amode); #if defined(__linux__) /** @@ -463,72 +348,52 @@ */ int Mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, - const void *data) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; + const void *data); /** * umount(2) clone. */ -int Umount(const char *target) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +int Umount(const char *target); /** * umount2(2) clone. */ -int Umount2(const char *target, int flags) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +int Umount2(const char *target, int flags); #endif /** * 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) - RPM_GNUC_CONST - /*@*/; + RPM_GNUC_CONST; /** * glob(3) clone. */ int Glob(const char * pattern, int flags, int errfunc(const char * epath, int eerrno), - /*@out@*/ void * _pglob) - /*@globals fileSystem @*/ - /*@modifies *_pglob, fileSystem @*/; + void * _pglob); /** * globfree(3) clone. */ -void Globfree( /*@only@*/ void * _pglob) - /*@globals fileSystem @*/ - /*@modifies *_pglob, fileSystem @*/; - +void Globfree(void * _pglob); /** * realpath(3) clone. */ -/*@-globuse@*/ -/*@null@*/ -char * Realpath(const char * path, /*@out@*/ /*@null@*/ char * resolved_path) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies resolved_path, errno, fileSystem, internalState @*/; -/*@=globuse@*/ +char * Realpath(const char * path, char * resolved_path); /** * lseek(2) clone. * @todo Implement SEEK_HOLE/SEEK_DATA. */ -off_t Lseek(int fdno, off_t offset, int whence) - /*@globals errno, fileSystem @*/ - /*@modifies errno, fileSystem @*/; +off_t Lseek(int fdno, off_t offset, int whence); /*@}*/ @@ -540,89 +405,57 @@ /** */ -off_t fdSize(FD_t fd) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +off_t fdSize(FD_t fd); /** */ -/*@null@*/ FD_t fdDup(int fdno) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +FD_t fdDup(int fdno); -/*@-exportlocal@*/ /** */ -ssize_t fdRead(void * cookie, /*@out@*/ char * buf, size_t count) - /*@globals errno, fileSystem, internalState @*/ - /*@modifies *cookie, *buf, errno, fileSystem, internalState @*/; +ssize_t fdRead(void * cookie, char * buf, size_t count); #define fdRead(_fd, _buf, _count) fdio->read((_fd), (_buf), (_count)) /** */ -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) /** */ -/*@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)) /** */ -/*@unused@*/ -/*@newref@*/ /*@null@*/ -FD_t fdLink (void * cookie, const char * msg) - /*@globals fileSystem @*/ - /*@modifies *cookie, fileSystem @*/; +FD_t fdLink (void * cookie, const char * msg); #define fdLink(_fd, _msg) \ ((FD_t)rpmioLinkPoolItem((rpmioItem)(_fd), _msg, __FILE__, __LINE__)) /** */ -/*@unused@*/ /*@null@*/ -FD_t fdFree(/*@killref@*/ FD_t fd, const char * msg) - /*@globals fileSystem @*/ - /*@modifies fd, fileSystem @*/; +FD_t fdFree(FD_t fd, const char * msg); #define fdFree(_fd, _msg) \ ((FD_t)rpmioFreePoolItem((rpmioItem)(_fd), _msg, __FILE__, __LINE__)) /** */ -/*@unused@*/ -/*@newref@*/ /*@null@*/ -FD_t fdNew (const char * msg) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@newref@*/ /*@null@*/ -FD_t XfdNew (const char * msg, const char * fn, unsigned ln) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +FD_t fdNew (const char * msg); +FD_t XfdNew (const char * msg, const char * fn, unsigned ln); #define fdNew(_msg) XfdNew(_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. @@ -632,9 +465,7 @@ * @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); /** * Check FN access, expanding relative paths and twiddles. @@ -643,33 +474,27 @@ * @param mode type of access(2) to check (0 uses X_OK) * @return 0 if accessible */ -int rpmioAccess(const char *FN, /*@null@*/ const char * path, int mode) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +int rpmioAccess(const char *FN, const char * path, int mode); -extern char * (*Getpass) (const char * prompt) - /*@*/; +extern char * (*Getpass) (const char * prompt); /** * Return a password. * @param prompt prompt string * @return password */ -char * _GetPass (const char * prompt) - /*@*/; +char * _GetPass (const char * prompt); /** * Return a password. * @param prompt prompt string * @return password */ -char * _RequestPass (const char * prompt) - /*@*/; +char * _RequestPass (const char * prompt); /** * FTP and HTTP error codes. */ -/*@-typeuse@*/ typedef enum ftperrCode_e { FTPERR_NE_OK = 0, FTPERR_NE_ERROR = -1, /*!< Generic error. */ @@ -695,99 +520,70 @@ 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) - /*@globals fileSystem @*/ - /*@modifies fd, fileSystem @*/; +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); -/*@-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 lzdio; +extern FDIO_t lzdio; /** */ -/*@observer@*/ /*@unchecked@*/ extern FDIO_t xzdio; +extern FDIO_t xzdio; -/*@=exportlocal@*/ /*@}*/ -/*@unchecked@*/ /*@only@*/ /*@null@*/ extern rpmioPool _fdPool; /** * Free all memory allocated by rpmio usage. */ -void rpmioClean(void) - /*@globals _fdPool, fileSystem, internalState @*/ - /*@modifies _fdPool, fileSystem, internalState @*/; +void rpmioClean(void); /** * Reclaim memory pool items. * @param pool memory pool (NULL uses global rpmio pool) * @return NULL always */ -/*@null@*/ -rpmioPool rpmioFreePool(/*@only@*//*@null@*/ rpmioPool pool) - /*@globals fileSystem, internalState @*/ - /*@modifies pool, fileSystem, internalState @*/; +rpmioPool rpmioFreePool(rpmioPool pool); /** * Create a memory pool. @@ -800,13 +596,11 @@ * @param fini (*fini)() destroy item contents * @return memory pool */ -rpmioPool rpmioNewPool(/*@observer@*/ const char * name, +rpmioPool rpmioNewPool(const char * name, size_t size, int limit, int flags, - /*@null@*/ char * (*dbg) (void *item), - /*@null@*/ void (*init) (void *item), - /*@null@*/ void (*fini) (void *item)) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; + char * (*dbg) (void *item), + void (*init) (void *item), + void (*fini) (void *item)); /** * Decrement a pool item refcount. @@ -816,11 +610,8 @@ * @param ln usually __LINE__ * @return pool item (NULL on last dereference) */ -/*@null@*/ -rpmioItem rpmioUnlinkPoolItem(/*@killref@*/ /*@null@*/ rpmioItem item, - const char * msg, const char * fn, unsigned ln) - /*@globals fileSystem @*/ - /*@modifies item, fileSystem @*/; +rpmioItem rpmioUnlinkPoolItem(rpmioItem item, + const char * msg, const char * fn, unsigned ln); /** * Increment a pool item refcount. @@ -830,11 +621,8 @@ * @param ln usually __LINE__ * @return pool item */ -/*@newref@*/ /*@null@*/ -rpmioItem rpmioLinkPoolItem(/*@returned@*/ /*@null@*/ rpmioItem item, - const char * msg, const char * fn, unsigned ln) - /*@globals fileSystem @*/ - /*@modifies item, fileSystem @*/; +rpmioItem rpmioLinkPoolItem(rpmioItem item, + const char * msg, const char * fn, unsigned ln); /** * Free a pool item. @@ -844,11 +632,8 @@ * @param ln usually __LINE__ * @return pool item (NULL on last dereference) */ -/*@null@*/ -void * rpmioFreePoolItem(/*@killref@*/ /*@null@*/ rpmioItem item, - const char * msg, const char * fn, unsigned ln) - /*@globals fileSystem @*/ - /*@modifies item, fileSystem @*/; +void * rpmioFreePoolItem(rpmioItem item, + const char * msg, const char * fn, unsigned ln); /** * Get unused item from pool, or alloc a new item. @@ -856,19 +641,14 @@ * @param size item size * @return new item */ -rpmioItem rpmioGetPool(/*@kept@*/ /*@null@*/ rpmioPool pool, size_t size) - /*@globals fileSystem @*/ - /*@modifies pool, fileSystem @*/; +rpmioItem rpmioGetPool(rpmioPool pool, size_t size); /** * Put unused item into pool (or free). * @param item unused item * @return NULL always */ -/*@null@*/ -rpmioItem rpmioPutPool(rpmioItem item) - /*@globals fileSystem @*/ - /*@modifies item, fileSystem @*/; +rpmioItem rpmioPutPool(rpmioItem item); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmiotypes.h ============================================================================ $ cvs diff -u -r1.47.2.20 -r1.47.2.21 rpmiotypes.h --- rpm/rpmio/rpmiotypes.h 27 Sep 2014 15:51:24 -0000 1.47.2.20 +++ rpm/rpmio/rpmiotypes.h 25 Jun 2016 07:31:08 -0000 1.47.2.21 @@ -5,7 +5,8 @@ * \file rpmio/rpmiotypes.h */ -#include <rpmutil.h> +#include <stdlib.h> +#include <rpmdefs.h> /** \ingroup rpmio * RPM return codes. @@ -29,7 +30,7 @@ /** \ingroup rpmio */ -typedef /*@signedintegraltype@*/ int rpmint32_t; +typedef int rpmint32_t; /** \ingroup rpmio */ @@ -37,17 +38,11 @@ /** \ingroup rpmio */ -typedef /*@refcounted@*/ struct rpmioItem_s * rpmioItem; +typedef struct rpmioItem_s * rpmioItem; struct rpmioItem_s { -/*@null@*/ yarnLock use; /*!< use count -- return to pool when zero */ -/*@kept@*/ /*@null@*/ void *pool; /*!< pool (or NULL if malloc'd) */ void *next; /*!< factory queue linkage */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; /** \ingroup rpmio @@ -56,11 +51,10 @@ /** \ingroup rpmio */ -typedef /*@abstract@*/ /*@refcounted@*/ struct rpmiob_s * rpmiob; +typedef struct rpmiob_s * rpmiob; /** \ingroup rpmio */ -/*@unchecked@*/ extern size_t _rpmiob_chunk; /** \ingroup rpmio @@ -80,24 +74,20 @@ rpmuint8_t * b; /*!< data octects. */ size_t blen; /*!< no. of octets used. */ size_t allocated; /*!< no. of octets allocated. */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif /** \ingroup rpmpgp */ -typedef /*@abstract@*/ struct pgpPkt_s * pgpPkt; +typedef struct pgpPkt_s * pgpPkt; /** \ingroup rpmpgp */ -typedef /*@abstract@*/ /*@refcounted@*/ struct pgpDig_s * pgpDig; +typedef struct pgpDig_s * pgpDig; /** \ingroup rpmpgp */ -typedef /*@abstract@*/ struct pgpDigParams_s * pgpDigParams; +typedef struct pgpDigParams_s * pgpDigParams; /** \ingroup rpmpgp */ @@ -129,9 +119,7 @@ /* bit(s) 21-31 unused */ } pgpVSFlags; -/*@-redef@*/ /* LCL: ??? */ -typedef /*@abstract@*/ const void * fnpyKey; -/*@=redef@*/ +typedef const void * fnpyKey; /** * Bit(s) to identify progress callbacks. @@ -165,7 +153,7 @@ /** \ingroup rpmpgp */ -typedef /*@abstract@*/ struct CIPHER_CTX_s * CIPHER_CTX; +typedef struct CIPHER_CTX_s * CIPHER_CTX; /** \ingroup rpmpgp * 9.2. Symmetric Key Algorithms @@ -192,7 +180,6 @@ * implement IDEA and CAST5. Implementations MAY implement any other * algorithm. */ -/*@-typeuse@*/ typedef enum pgpSymkeyAlgo_e { PGPSYMKEYALGO_PLAINTEXT = 0, /*!< Plaintext */ PGPSYMKEYALGO_IDEA = 1, /*!< IDEA */ @@ -211,7 +198,6 @@ PGPSYMKEYALGO_NOENCRYPT = 110, /*!< no encryption */ PGPSYMKEYALGO_DES = 111 } pgpSymkeyAlgo; -/*@=typeuse@*/ /** \ingroup rpmpgp * Bit(s) to control cipher operation. @@ -226,7 +212,7 @@ extern "C" { #endif -void * _cphParam(/*@null@*/ CIPHER_CTX cph) +void * _cphParam(CIPHER_CTX cph) RPM_GNUC_PURE; /** \ingroup rpmpgp @@ -236,9 +222,7 @@ * @param flags bit(s) to control cipher operation * @return cipher context */ -/*@only@*/ /*@null@*/ -CIPHER_CTX rpmCipherInit(pgpSymkeyAlgo symkeyalgo, rpmCipherFlags flags) - /*@*/; +CIPHER_CTX rpmCipherInit(pgpSymkeyAlgo symkeyalgo, rpmCipherFlags flags); /** \ingroup rpmpgp * Encrypt/Decrypt a block of data. @@ -247,16 +231,14 @@ * @param len no. bytes of data * @return 0 on success */ -int rpmCipherNext(/*@null@*/ CIPHER_CTX cph, void * data, size_t len) - /*@modifies ctx @*/; +int rpmCipherNext(CIPHER_CTX cph, void * data, size_t len); /** \ingroup rpmpgp * Destroy cipher context. * @param cph cipher context * @return 0 on success */ -int rpmCipherFinal(/*@only@*/ /*@null@*/ CIPHER_CTX cph) - /*@*/; +int rpmCipherFinal(CIPHER_CTX cph); #ifdef __cplusplus } @@ -264,7 +246,7 @@ /** \ingroup rpmpgp */ -typedef /*@abstract@*/ struct DIGEST_CTX_s * DIGEST_CTX; +typedef struct DIGEST_CTX_s * DIGEST_CTX; /** \ingroup rpmpgp * 9.4. Hash Algorithms @@ -441,8 +423,7 @@ * @return digest hash algorithm identifier */ pgpHashAlgo rpmDigestAlgo(DIGEST_CTX ctx) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Return digest flags. @@ -450,18 +431,15 @@ * @return digest flags */ rpmDigestFlags rpmDigestF(DIGEST_CTX ctx) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Return digest name. * @param ctx digest context * @return digest name */ -/*@observer@*/ const char * rpmDigestName(DIGEST_CTX ctx) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Return digest ASN1 oid string. @@ -469,19 +447,15 @@ * @param ctx digest context * @return digest ASN1 oid string */ -/*@observer@*/ /*@null@*/ const char * rpmDigestASN1(DIGEST_CTX ctx) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Duplicate a digest context. * @param octx existing digest context * @return duplicated digest context */ -/*@only@*/ -DIGEST_CTX rpmDigestDup(DIGEST_CTX octx) - /*@*/; +DIGEST_CTX rpmDigestDup(DIGEST_CTX octx); /** \ingroup rpmpgp * Initialize digest context. @@ -490,9 +464,7 @@ * @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 rpmpgp * Update context with next plain text buffer. @@ -501,8 +473,7 @@ * @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 rpmpgp * Return digest and destroy context. @@ -513,10 +484,8 @@ * @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); /** \ingroup rpmpgp * @@ -526,62 +495,59 @@ * @param keylen HMAC key length(bytes) (0 uses strlen(key)) * @return 0 on success */ -int rpmHmacInit(DIGEST_CTX ctx, const void * key, size_t keylen) - /*@*/; +int rpmHmacInit(DIGEST_CTX ctx, const void * key, size_t keylen); /** \ingroup rpmio */ typedef void * (*rpmCallbackFunction) - (/*@null@*/ const void * h, + (const void * h, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total, - /*@null@*/ fnpyKey key, - /*@null@*/ rpmCallbackData data) - /*@globals internalState@*/ - /*@modifies internalState@*/; + fnpyKey key, + rpmCallbackData data); -/*@unused@*/ static inline int xislower(int c) /*@*/ { +static inline int xislower(int c) { return (c >= (int)'a' && c <= (int)'z'); } -/*@unused@*/ static inline int xisupper(int c) /*@*/ { +static inline int xisupper(int c) { return (c >= (int)'A' && c <= (int)'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 >= (int)'0' && c <= (int)'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 == (int)' ' || c == (int)'\t'); } -/*@unused@*/ static inline int xisspace(int c) /*@*/ { +static inline int xisspace(int c) { return (xisblank(c) || c == (int)'\n' || c == (int)'\r' || c == (int)'\f' || c == (int)'\v'); } -/*@unused@*/ static inline int xiscntrl(int c) /*@*/ { +static inline int xiscntrl(int c) { return (c < (int)' '); } -/*@unused@*/ static inline int xisascii(int c) /*@*/ { +static inline int xisascii(int c) { return ((c & 0x80) != 0x80); } -/*@unused@*/ static inline int xisprint(int c) /*@*/ { +static inline int xisprint(int c) { return (c >= (int)' ' && xisascii(c)); } -/*@unused@*/ static inline int xisgraph(int c) /*@*/ { +static inline int xisgraph(int c) { return (c > (int)' ' && xisascii(c)); } -/*@unused@*/ static inline int xispunct(int c) /*@*/ { +static inline int xispunct(int c) { return (xisgraph(c) && !xisalnum(c)); } -/*@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); } @@ -589,40 +555,30 @@ * Locale insensitive strcasecmp(3). */ int xstrcasecmp(const char * s1, const char * s2) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmio * Locale insensitive strncasecmp(3). */ int xstrncasecmp(const char *s1, const char * s2, size_t n) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmio * Force encoding of string. */ -/*@only@*/ /*@null@*/ -const char * xstrtolocale(/*@only@*/ const char *str) - /*@modifies *str @*/; +const char * xstrtolocale(const char *str); /** \ingroup rpmio * Force encoding of string with strdup return. */ -/*@only@*/ /*@null@*/ -char * xstrdup_iconv_check (/*@null@*/ const char * buffer, - /*@null@*/ const char * tocode) - /*@*/; +char * xstrdup_iconv_check (const char * buffer, const char * tocode); /** * Unreference a I/O buffer instance. * @param iob hash table * @return NULL if free'd */ -/*@unused@*/ /*@null@*/ -rpmiob rpmiobUnlink (/*@killref@*/ /*@null@*/ rpmiob iob) - /*@globals fileSystem @*/ - /*@modifies iob, fileSystem @*/; +rpmiob rpmiobUnlink (rpmiob iob); #define rpmiobUnlink(_iob) \ ((rpmiob)rpmioUnlinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__)) @@ -631,10 +587,7 @@ * @param iob I/O buffer * @return new I/O buffer reference */ -/*@unused@*/ /*@newref@*/ /*@null@*/ -rpmiob rpmiobLink (/*@null@*/ rpmiob iob) - /*@globals fileSystem @*/ - /*@modifies iob, fileSystem @*/; +rpmiob rpmiobLink (rpmiob iob); #define rpmiobLink(_iob) \ ((rpmiob)rpmioLinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__)) @@ -643,10 +596,7 @@ * @param iob I/O buffer * @return NULL on last dereference */ -/*@null@*/ -rpmiob rpmiobFree( /*@killref@*/ rpmiob iob) - /*@globals fileSystem @*/ - /*@modifies iob, fileSystem @*/; +rpmiob rpmiobFree(rpmiob iob); #define rpmiobFree(_iob) \ ((rpmiob)rpmioFreePoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__)) @@ -655,26 +605,21 @@ * @param len no. of octets to allocate * @return new I/O buffer */ -/*@newref@*/ /*@null@*/ -rpmiob rpmiobNew(size_t len) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +rpmiob rpmiobNew(size_t len); /** * Empty an I/O buffer. * @param iob I/O buffer * @return I/O buffer */ -rpmiob rpmiobEmpty(/*@returned@*/ rpmiob iob) - /*@modifies iob @*/; +rpmiob rpmiobEmpty(rpmiob iob); /** * Trim trailing white space. * @param iob I/O buffer * @return I/O buffer */ -rpmiob rpmiobRTrim(/*@returned@*/ rpmiob iob) - /*@modifies iob @*/; +rpmiob rpmiobRTrim(rpmiob iob); /** * Append string to I/O buffer. @@ -683,32 +628,28 @@ * @param nl append NL? * @return I/O buffer */ -rpmiob rpmiobAppend(/*@returned@*/ rpmiob iob, const char * s, size_t nl) - /*@modifies iob @*/; +rpmiob rpmiobAppend(rpmiob iob, const char * s, size_t nl); /** * Return I/O buffer. * @param iob I/O buffer * @return I/O buffer (as octets) */ -rpmuint8_t * rpmiobBuf(rpmiob iob) - /*@*/; +rpmuint8_t * rpmiobBuf(rpmiob iob); /** * Return I/O buffer (as string). * @param iob I/O buffer * @return I/O buffer (as string) */ -char * rpmiobStr(rpmiob iob) - /*@*/; +char * rpmiobStr(rpmiob iob); /** * Return I/O buffer len. * @param iob I/O buffer * @return I/O buffer length */ -size_t rpmiobLen(rpmiob iob) - /*@*/; +size_t rpmiobLen(rpmiob iob); #if defined(_RPMIOB_INTERNAL) /** @@ -717,9 +658,7 @@ * @retval *iobp I/O buffer * @return 0 on success */ -int rpmiobSlurp(const char * fn, rpmiob * iobp) - /*@globals h_errno, fileSystem, internalState @*/ - /*@modifies *iobp, fileSystem, internalState @*/; +int rpmiobSlurp(const char * fn, rpmiob * iobp); #endif /** @@ -727,9 +666,7 @@ * @param P parser state * @return NULL */ -/*@null@*/ -rpmioP rpmioPFree(/*@only@*/ /*@null@*/ rpmioP P) - /*@modifies P @*/; +rpmioP rpmioPFree(rpmioP P); /** * Parse next command out of a string incrementally. @@ -737,8 +674,7 @@ * @param str string to parse * @return RPMRC_OK on success */ -rpmRC rpmioParse(rpmioP *Pptr, const char * str) - /*@modifies *Pptr @*/; +rpmRC rpmioParse(rpmioP *Pptr, const char * str); #ifdef __cplusplus } @@ -771,13 +707,13 @@ #else /* __cplusplus */ -/*@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; } + #endif /* __cplusplus */ #endif /* defined(WITH_DMALLOC) */ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmlog.h ============================================================================ $ cvs diff -u -r2.24.4.4 -r2.24.4.5 rpmlog.h --- rpm/rpmio/rpmlog.h 29 Sep 2014 18:26:48 -0000 2.24.4.4 +++ rpm/rpmio/rpmlog.h 25 Jun 2016 07:31:08 -0000 2.24.4.5 @@ -9,6 +9,8 @@ #include <stdio.h> #include <stdarg.h> +#include <rpmdefs.h> + /** * RPM Log levels. * priorities/facilities are encoded into a single 32-bit quantity, where the @@ -19,7 +21,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 +31,6 @@ RPMLOG_INFO = 6, /*!< informational */ RPMLOG_DEBUG = 7 /*!< debug-level messages */ } rpmlogLvl; -/*@=typeuse@*/ #define RPMLOG_PRIMASK 0x07 /* mask to extract priority part (internal) */ /* extract priority */ @@ -62,12 +62,11 @@ { "warning",RPMLOG_WARNING }, { NULL, -1 } }; -#endif +#endif /* RPMLOG_NAMES */ /** * facility codes */ -/*@-enummemuse -typeuse@*/ typedef enum rpmlogFac_e { RPMLOG_KERN = (0<<3), /*!< kernel messages */ RPMLOG_USER = (1<<3), /*!< random user-level messages */ @@ -95,7 +94,6 @@ #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) @@ -151,11 +149,11 @@ /** */ -typedef /*@abstract@*/ struct rpmlogRec_s * rpmlogRec; +typedef struct rpmlogRec_s * rpmlogRec; /** */ -typedef /*@abstract@*/ void * rpmlogCallbackData; +typedef void * rpmlogCallbackData; /** * @param rec rpmlog record @@ -165,8 +163,7 @@ * RPMLOG_EXIT to exit after processing * 0 to return after callback. */ -typedef int (*rpmlogCallback) (rpmlogRec rec, rpmlogCallbackData data) - /*@*/; +typedef int (*rpmlogCallback) (rpmlogRec rec, rpmlogCallbackData data); /** * Option flags for callback return value. @@ -180,7 +177,6 @@ struct rpmlogRec_s { int code; rpmlogLvl pri; /* priority */ -/*@owned@*/ /*@relnull@*/ const char * message; }; #endif @@ -194,11 +190,9 @@ * @param pri log priority * @return message prefix (or "" for none) */ -/*@observer@*/ const char * rpmlogLevelPrefix(rpmlogLvl pri) RPM_GNUC_CONST - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** * Set rpmlog callback function. @@ -206,9 +200,7 @@ * @param data callback private (user) data * @return previous rpmlog callback function */ -rpmlogCallback rpmlogSetCallback(rpmlogCallback cb, rpmlogCallbackData data) - /*@globals internalState@*/ - /*@modifies internalState @*/; +rpmlogCallback rpmlogSetCallback(rpmlogCallback cb, rpmlogCallbackData data); /** * Get rpmlog callback function and data. @@ -216,94 +208,71 @@ * @param data pointer to callback private (user) data * @return 0 */ -int rpmlogGetCallback(rpmlogCallback *cb, rpmlogCallbackData *data) - /*@globals internalState @*/ - /*@modifies *cb, *data, internalState @*/; +int rpmlogGetCallback(rpmlogCallback *cb, rpmlogCallbackData *data); /** * Return number of messages. * @return number of messages */ int rpmlogGetNrecs(void) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** * Retrieve log message string from rpmlog record * @param rec rpmlog record * @return log message */ -/*@observer@*/ /*@retexpose@*/ /*@null@*/ -const char * rpmlogRecMessage(/*@null@*/ rpmlogRec rec) - RPM_GNUC_PURE - /*@*/; +const char * rpmlogRecMessage(rpmlogRec rec) + RPM_GNUC_PURE; /** * Retrieve log priority from rpmlog record * @param rec rpmlog record * @return log priority */ -rpmlogLvl rpmlogRecPriority(/*@null@*/ rpmlogRec rec) - RPM_GNUC_PURE - /*@*/; +rpmlogLvl rpmlogRecPriority(rpmlogRec rec) + RPM_GNUC_PURE; /** * 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) - RPM_GNUC_CONST - /*@globals internalState@*/ - /*@modifies internalState @*/; + RPM_GNUC_CONST; /** * 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. * Note: inline'd to avoid debugging insturmentation overhead. */ -/*@mayexit@*/ /*@printflike@*/ void _rpmlog (int code, const char *fmt, ...) -#if defined(__GNUC__) && __GNUC__ >= 2 - /* issue a warning if the format string doesn't match arguments */ - __attribute__((format (printf, 2, 3))) -#endif - /*@*/; + RPM_GNUC_PRINTF(2, 3); /** * Same as _rpmlog with stdarg argument list. */ -void vrpmlog (unsigned code, const char * fmt, va_list ap) - /*@*/; +void vrpmlog (unsigned code, const char * fmt, va_list ap); -/*@mayexit@*/ /*@printflike@*/ static inline void rpmlog (int code, const char *fmt, ...) - /*@*/ { unsigned pri = RPMLOG_PRI(code); unsigned mask = RPMLOG_MASK(pri); @@ -316,15 +285,11 @@ } } -/*@-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. @@ -334,19 +299,14 @@ * @return code from last message */ int rpmlogCode(void) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** * 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); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmmacro.h ============================================================================ $ cvs diff -u -r2.56.4.8 -r2.56.4.9 rpmmacro.h --- rpm/rpmio/rpmmacro.h 27 Sep 2014 15:51:24 -0000 2.56.4.8 +++ rpm/rpmio/rpmmacro.h 25 Jun 2016 07:31:08 -0000 2.56.4.9 @@ -6,8 +6,10 @@ */ #include <stdio.h> -typedef /*@abstract@*/ struct MacroEntry_s * MacroEntry; -typedef /*@abstract@*/ struct MacroContext_s * MacroContext; +#include <rpmdefs.h> + +typedef struct MacroEntry_s * MacroEntry; +typedef struct MacroContext_s * MacroContext; #if defined(_MACRO_INTERNAL) #include <rpmiotypes.h> @@ -21,31 +23,19 @@ int used; /*!< No. of expansions. */ short level; /*!< Scoping level. */ unsigned short flags; /*!< Flags. */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; /*! The structure used to store the set of macros in a context. */ struct MacroContext_s { struct rpmioItem_s _item; /*!< usage mutex and pool identifier. */ -/*@owned@*//*@null@*/ MacroEntry *macroTable; /*!< Macro entry table for context. */ int macrosAllocated; /*!< No. of allocated macros. */ int firstFree; /*!< No. of macros. */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif -/*@-redecl@*/ -/*@checked@*/ extern MacroContext rpmGlobalMacroContext; -/*@checked@*/ extern MacroContext rpmCLIMacroContext; /** \ingroup rpmrc @@ -53,9 +43,7 @@ * 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 '//'. */ -/*@observer@*/ /*@checked@*/ extern const char * rpmMacrofiles; -/*@=redecl@*/ /** * Markers for sources of macros added throughout rpm. @@ -79,9 +67,7 @@ * @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 macro entries as string array. @@ -92,10 +78,8 @@ * @return no. of entries */ int -rpmGetMacroEntries(/*@null@*/ MacroContext mc, /*@null@*/ void * _mire, - int used, /*@null@*/ const char *** avp) - /*@globals rpmGlobalMacroContext @*/ - /*@modifies _mire, *avp @*/; +rpmGetMacroEntries(MacroContext mc, void * _mire, + int used, const char *** avp); /** * Check whether configuration file is moderately secure to load. @@ -103,8 +87,7 @@ * @return 1 on success, 0 on failure * XXX FIXME: rpmRC return? */ -int rpmSecuritySaneFile(const char *filename) - /*@globals internalState @*/; +int rpmSecuritySaneFile(const char *filename); /** * Return URL path(s) from a (URL prefixed) pattern glob. @@ -114,10 +97,7 @@ * @return 0 on success * XXX FIXME: rpmRC return? */ -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. @@ -129,10 +109,7 @@ * @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, internalState @*/ - /*@modifies *sbuf, rpmGlobalMacroContext, fileSystem, internalState @*/; +int expandMacros(void * spec, MacroContext mc, char * sbuf, size_t slen); /** * Add macro to context. @@ -143,10 +120,8 @@ * @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, internalState @*/ - /*@modifies mc, rpmGlobalMacroContext, internalState @*/; +void addMacro(MacroContext mc, const char * n, + const char * o, const char * b, int level); /** * Delete macro from context. @@ -154,9 +129,7 @@ * @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. @@ -165,9 +138,7 @@ * @param level macro recursion level (0 is entry API) * @return 0 on success */ -int rpmDefineMacro(/*@null@*/ MacroContext mc, const char * macro, int level) - /*@globals rpmGlobalMacroContext, h_errno, internalState @*/ - /*@modifies mc, rpmGlobalMacroContext, internalState @*/; +int rpmDefineMacro(MacroContext mc, const char * macro, int level); /** * Undefine macro in context. @@ -175,18 +146,14 @@ * @param macro macro name * @return 0 on success */ -int rpmUndefineMacro(/*@null@*/ MacroContext mc, const char * macro) - /*@globals rpmGlobalMacroContext, internalState @*/ - /*@modifies mc, rpmGlobalMacroContext, internalState @*/; +int rpmUndefineMacro(MacroContext mc, const char * macro); /** * 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, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; +void rpmLoadMacros(MacroContext mc, int level); /** * Load macro context from a macro file. @@ -194,28 +161,20 @@ * @param fn macro file name * @param nesting max load recursion depth, 0 disables. */ -int rpmLoadMacroFile(/*@null@*/ MacroContext mc, const char * fn, int nesting) - /*@globals rpmGlobalMacroContext, - h_errno, fileSystem, internalState @*/ - /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/; +int rpmLoadMacroFile(MacroContext mc, const char * fn, int nesting); /** * 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) - /*@globals rpmGlobalMacroContext, rpmCLIMacroContext, - h_errno, fileSystem, internalState @*/ - /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/; +void rpmInitMacros(MacroContext mc, const char * macrofiles); /** * 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 */ @@ -236,19 +195,15 @@ * @retval compressed address of compression type * @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 @*/; +int isCompressed(const char * file, 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, ...) - RPM_GNUC_NULL_TERMINATED - /*@globals rpmGlobalMacroContext, h_errno, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; +char * rpmExpand(const char * arg, ...) + RPM_GNUC_NULL_TERMINATED; /** * Return (malloc'ed) concatenated macro expansion(s) in a context. @@ -256,10 +211,8 @@ * @param arg macro(s) to expand (NULL terminates list) * @return macro expansion (malloc'ed) */ -char * rpmMCExpand(/*@null@*/ MacroContext mc, /*@null@*/ const char * arg, ...) - RPM_GNUC_NULL_TERMINATED - /*@globals rpmGlobalMacroContext, h_errno, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; +char * rpmMCExpand(MacroContext mc, const char * arg, ...) + RPM_GNUC_NULL_TERMINATED; /** * Canonicalize file path. @@ -267,9 +220,7 @@ * @param path path to canonicalize (in-place) * @return pointer to path */ -/*@null@*/ -char * rpmCleanPath(/*@returned@*/ /*@null@*/ char * path) - /*@modifies *path @*/; +char * rpmCleanPath(char * path); /** * Return (malloc'ed) expanded, canonicalized, file path. @@ -277,12 +228,8 @@ * @param path macro(s) to expand (NULL terminates list) * @return canonicalized path (malloc'ed) */ -/*@-redecl@*/ /* LCL: shrug */ -char * rpmGetPath(/*@null@*/ const char * path, ...) - RPM_GNUC_NULL_TERMINATED - /*@globals rpmGlobalMacroContext, h_errno, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; -/*@=redecl@*/ +char * rpmGetPath(const char * path, ...) + RPM_GNUC_NULL_TERMINATED; /** * Merge 3 args into path, any or all of which may be a url. @@ -294,13 +241,9 @@ * @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, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; -/*@=redecl@*/ +const char * rpmGenPath(const char * urlroot, + const char * urlmdir, + const char * urlfile); /** * Return macro expansion as a numeric value. @@ -309,9 +252,7 @@ * @param arg macro to expand * @return numeric value */ -int rpmExpandNumeric (const char * arg) - /*@globals rpmGlobalMacroContext, h_errno, internalState @*/ - /*@modifies rpmGlobalMacroContext, internalState @*/; +int rpmExpandNumeric (const char * arg); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmpgp.c ============================================================================ $ cvs diff -u -r2.127.2.20 -r2.127.2.21 rpmpgp.c --- rpm/rpmio/rpmpgp.c 10 May 2016 17:03:41 -0000 2.127.2.20 +++ rpm/rpmio/rpmpgp.c 25 Jun 2016 07:31:08 -0000 2.127.2.21 @@ -7,6 +7,7 @@ #define _RPMIOB_INTERNAL #include <rpmiotypes.h> +#include <yarn.h> #include <rpmio.h> #include <rpmmacro.h> @@ -28,6 +29,7 @@ #if defined(WITH_TOMCRYPT) #include <rpmltc.h> #endif + #include "debug.h" /*@access pgpDig @*/ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmpgp.h ============================================================================ $ cvs diff -u -r2.108.2.18 -r2.108.2.19 rpmpgp.h --- rpm/rpmio/rpmpgp.h 15 Apr 2016 18:09:19 -0000 2.108.2.18 +++ rpm/rpmio/rpmpgp.h 25 Jun 2016 07:31:08 -0000 2.108.2.19 @@ -10,24 +10,23 @@ * Copyright (C) The Internet Society (1998). All Rights Reserved. */ +#include <stdio.h> +#include <stdint.h> #include <string.h> -#include <popt.h> + #include <rpmiotypes.h> -#include <yarn.h> +#include <rpmdefs.h> #if defined(_RPMPGP_INTERNAL) #include <rpmsw.h> -/*@unchecked@*/ extern int _pgp_error_count; /** \ingroup rpmpgp * Values parsed from OpenPGP signature/pubkey packet(s). */ struct pgpDigParams_s { -/*@only@*/ /*@null@*/ const char * userid; -/*@dependent@*/ /*@null@*/ const rpmuint8_t * hash; rpmuint8_t tag; @@ -57,16 +56,12 @@ struct pgpDigParams_s signature; struct pgpDigParams_s pubkey; -/*@observer@*/ /*@null@*/ const char * build_sign; -/*@observer@*/ /*@null@*/ const char * pubkey_algoN; -/*@observer@*/ /*@null@*/ const char * hash_algoN; rpmuint32_t sigtag; /*!< Package signature tag. */ rpmuint32_t sigtype; /*!< Package signature data type. */ -/*@relnull@*/ const void * sig; /*!< Package signature. */ size_t siglen; /*!< Package signature length. */ const void * pub; /*!< Package pubkey. */ @@ -76,41 +71,28 @@ struct rpmop_s dops; /*!< Digest operation statistics. */ struct rpmop_s sops; /*!< Signature operation statistics. */ - int (*findPubkey) (void * _ts, /*@null@*/ void * _dig) - /*@modifies *_ts, *_dig @*/;/*!< Find pubkey, i.e. rpmtsFindPubkey(). */ -/*@null@*/ + int (*findPubkey) (void * _ts, void * _dig); + /*!< Find pubkey, i.e. rpmtsFindPubkey(). */ void * _ts; /*!< Find pubkey argument, i.e. rpmts. */ rpmuint8_t ** ppkts; /*!< Parsed OpenPGP 2440/4880 packets. */ int npkts; /*!< No. of parsed packets. */ size_t nbytes; /*!< No. bytes of plain text. */ -/*@only@*/ /*@null@*/ DIGEST_CTX hsha; /*!< header hash context. */ -/*@only@*/ /*@null@*/ DIGEST_CTX hdsa; /*!< (dsa) header sha1 hash context. */ -/*@only@*/ /*@null@*/ void * sha1; /*!< (dsa) signature hash. */ size_t sha1len; /*!< (dsa) signature hash length. */ -/*@only@*/ /*@null@*/ DIGEST_CTX hecdsa; /*!< (ecdsa) header hash context. */ -/*@only@*/ /*@null@*/ DIGEST_CTX md5ctx; /*!< (md5) hash context. */ -/*@only@*/ /*@null@*/ DIGEST_CTX hrsa; /*!< (rsa) header hash context. */ -/*@only@*/ /*@null@*/ void * md5; /*!< (rsa) signature hash. */ size_t md5len; /*!< (rsa) signature hash length. */ -/*@owned@*/ /*@relnull@*/ void * impl; /*!< Implementation data */ -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif /* _RPMPGP_INTERNAL */ @@ -118,7 +100,6 @@ */ typedef const struct pgpValTbl_s { int val; -/*@observer@*/ const char * str; } * pgpValTbl; @@ -157,7 +138,6 @@ /** \ingroup rpmpgp */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpTagTbl[]; /** \ingroup rpmpgp @@ -206,7 +186,6 @@ * 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 */ @@ -228,11 +207,9 @@ PGPSIGTYPE_TIMESTAMP = 0x40, /*!< Timestamp */ PGPSIGTYPE_CONFIRM = 0x50 /*!< Third-Party confirmation */ } pgpSigType; -/*@=typeuse@*/ /** \ingroup rpmpgp */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpSigTypeTbl[]; /** \ingroup rpmpgp @@ -258,7 +235,6 @@ * encryption. Implementations SHOULD implement RSA keys. * Implementations MAY implement any other algorithm. */ -/*@-typeuse@*/ typedef enum pgpPubkeyAlgo_e { PGPPUBKEYALGO_UNKNOWN = 0, PGPPUBKEYALGO_RSA = 1, /*!< RSA */ @@ -271,17 +247,14 @@ PGPPUBKEYALGO_ELGAMAL = 20, /*!< Elgamal */ PGPPUBKEYALGO_EDDSA = 22 /*!< EDDSA */ } pgpPubkeyAlgo; -/*@=typeuse@*/ /** \ingroup rpmpgp */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpPubkeyTbl[]; /** \ingroup rpmpgp * Symmetric key (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpSymkeyTbl[]; /** \ingroup rpmpgp @@ -299,25 +272,21 @@ * 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@*/ /** \ingroup rpmpgp * Compression (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpCompressionTbl[]; /** \ingroup rpmpgp * Hash (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpHashTbl[]; /** \ingroup rpmpgp @@ -459,7 +428,6 @@ * 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 */ @@ -501,12 +469,10 @@ PGPSUBTYPE_CRITICAL = 128 /*!< critical subpacket marker */ } pgpSubType; -/*@=typeuse@*/ /** \ingroup rpmpgp * Subtype (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpSubTypeTbl[]; /** \ingroup rpmpgp @@ -944,7 +910,6 @@ /** \ingroup rpmpgp */ -/*@-typeuse@*/ typedef enum pgpArmor_e { PGPARMOR_ERR_CRC_CHECK = -7, PGPARMOR_ERR_BODY_DECODE = -6, @@ -963,17 +928,14 @@ PGPARMOR_PRIVKEY = 6, /*!< PRIVATE KEY BLOCK */ PGPARMOR_SECKEY = 7 /*!< SECRET KEY BLOCK */ } pgpArmor; -/*@=typeuse@*/ /** \ingroup rpmpgp * Armor (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpArmorTbl[]; /** \ingroup rpmpgp */ -/*@-typeuse@*/ typedef enum pgpArmorKey_e { PGPARMORKEY_VERSION = 1, /*!< Version: */ PGPARMORKEY_COMMENT = 2, /*!< Comment: */ @@ -981,12 +943,10 @@ PGPARMORKEY_HASH = 4, /*!< Hash: */ PGPARMORKEY_CHARSET = 5 /*!< Charset: */ } pgpArmorKey; -/*@=typeuse@*/ /** \ingroup rpmpgp * Armor key (string, value) pairs. */ -/*@observer@*/ /*@unchecked@*/ /*@unused@*/ extern struct pgpValTbl_s pgpArmorKeyTbl[]; #if defined(_RPMPGP_INTERNAL) @@ -1021,7 +981,6 @@ }; #endif /* _RPMPGP_INTERNAL */ -/*@-fcnuse@*/ #ifdef __cplusplus extern "C" { #endif @@ -1032,9 +991,8 @@ * @param nbytes no. of bytes * @return native-endian integer */ -/*@unused@*/ static inline +static inline unsigned int pgpGrab(const rpmuint8_t * s, size_t nbytes) - /*@*/ { unsigned int i = 0; size_t nb = (nbytes <= sizeof(i) ? nbytes : sizeof(i)); @@ -1051,9 +1009,8 @@ * @retval *lenp no. of bytes in packet * @return no. of bytes in length prefix */ -/*@unused@*/ static inline +static inline unsigned int pgpLen(const rpmuint8_t *s, unsigned int slen, unsigned int *lenp) - /*@modifies *lenp @*/ { unsigned int dlen = 0; unsigned int lenlen = 0; @@ -1077,10 +1034,8 @@ * @param p pointer to multiprecision integer * @return no. of bits */ -/*@unused@*/ static inline +static inline unsigned int pgpMpiBits(const rpmuint8_t * p) - /*@requires maxRead(p) >= 1 @*/ - /*@*/ { return (unsigned int) ((p[0] << 8) | p[1]); } @@ -1090,10 +1045,8 @@ * @param p pointer to multiprecision integer * @return no. of bytes */ -/*@unused@*/ static inline +static inline unsigned int pgpMpiLen(const rpmuint8_t * p) - /*@requires maxRead(p) >= 1 @*/ - /*@*/ { return (2 + ((pgpMpiBits(p)+7) >> 3)); } @@ -1105,9 +1058,8 @@ * @param nbytes no. of bytes * @return target buffer */ -/*@unused@*/ static inline -char * pgpHexCvt(/*@returned@*/ char * t, const rpmuint8_t * s, size_t nbytes) - /*@modifies *t @*/ +static inline +char * pgpHexCvt(char * t, const rpmuint8_t * s, size_t nbytes) { static char hex[] = "0123456789abcdef"; size_t ix; @@ -1128,9 +1080,8 @@ * @param plen no. of bytes * @return hex formatted string */ -/*@unused@*/ static inline /*@observer@*/ +static inline char * pgpHexStr(const rpmuint8_t * p, size_t plen) - /*@*/ { static char prbuf[BUFSIZ]; /* XXX ick */ static size_t nb = sizeof(prbuf) - 32; @@ -1146,10 +1097,8 @@ * @param p bytes * @return hex formatted string */ -/*@unused@*/ static inline /*@observer@*/ +static inline const char * pgpMpiStr(const rpmuint8_t * p) - /*@requires maxRead(p) >= 3 @*/ - /*@*/ { static char prbuf[BUFSIZ]; /* XXX ick */ static size_t nb = sizeof(prbuf) - 32; @@ -1169,11 +1118,9 @@ * @param val byte value to lookup * @return string */ -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline const char * pgpValStr(pgpValTbl vs, rpmuint8_t val) - /*@*/ { do { if (vs->val == (int)val) @@ -1182,38 +1129,30 @@ return vs->str; } -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline const char * _pgpTag2Name(uint32_t tag) - /*@*/ { return pgpValStr(pgpTagTbl, (rpmuint8_t)tag); } -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline const char * _pgpSigType2Name(uint32_t sigtype) - /*@*/ { return pgpValStr(pgpSigTypeTbl, (rpmuint8_t)sigtype); } -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline const char * _pgpHashAlgo2Name(uint32_t algo) - /*@*/ { return pgpValStr(pgpHashTbl, (rpmuint8_t)algo); } -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline const char * _pgpPubkeyAlgo2Name(uint32_t algo) - /*@*/ { return pgpValStr(pgpPubkeyTbl, (rpmuint8_t)algo); } @@ -1224,11 +1163,9 @@ * @param str string to lookup * @return byte (or 0 on failure) */ -/*@unused@*/ RPM_GNUC_PURE -static inline /*@observer@*/ +static inline rpmuint8_t pgpStrVal(pgpValTbl vs, const char * str) - /*@*/ { do { if (!strcasecmp(str, vs->str)) @@ -1244,11 +1181,9 @@ * @param se end-of-string address * @return byte value */ -/*@unused@*/ RPM_GNUC_PURE static inline int pgpValTok(pgpValTbl vs, const char * s, const char * se) - /*@*/ { do { size_t vlen = strlen(vs->str); @@ -1264,11 +1199,7 @@ * @param vs table of (string,value) pairs * @param val byte value to print */ -/*@-exportlocal@*/ -void pgpPrtVal(const char * pre, pgpValTbl vs, rpmuint8_t val) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@=exportlocal@*/ +void pgpPrtVal(const char * pre, pgpValTbl vs, rpmuint8_t val); /** \ingroup rpmpgp * Print/parse an OpenPGP subtype packet. @@ -1278,11 +1209,7 @@ * @return 0 on success */ #if defined(_RPMPGP_INTERNAL) -/*@-exportlocal@*/ -int pgpPrtSubType(const rpmuint8_t * h, size_t hlen, pgpSigType sigtype) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@=exportlocal@*/ +int pgpPrtSubType(const rpmuint8_t * h, size_t hlen, pgpSigType sigtype); #endif /** \ingroup rpmpgp @@ -1291,22 +1218,13 @@ * @return 0 on success */ #if defined(_RPMPGP_INTERNAL) -/*@-exportlocal@*/ -int pgpPrtSig(const pgpPkt pp) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +int pgpPrtSig(const pgpPkt pp); int pgpPrtSigParams(pgpDig dig, const pgpPkt pp, pgpPubkeyAlgo pubkey_algo, - pgpSigType sigtype, const rpmuint8_t * p) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; + pgpSigType sigtype, const rpmuint8_t * p); const rpmuint8_t * pgpPrtPubkeyParams(pgpDig dig, const pgpPkt pp, - pgpPubkeyAlgo pubkey_algo, /*@returned@*/ const rpmuint8_t * p) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; - -/*@=exportlocal@*/ + pgpPubkeyAlgo pubkey_algo, const rpmuint8_t * p); #endif /** \ingroup rpmpgp @@ -1315,9 +1233,7 @@ * @return 0 on success */ #if defined(_RPMPGP_INTERNAL) -int pgpPrtKey(const pgpPkt pp) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +int pgpPrtKey(const pgpPkt pp); #endif /** \ingroup rpmpgp @@ -1326,11 +1242,7 @@ * @return 0 on success */ #if defined(_RPMPGP_INTERNAL) -/*@-exportlocal@*/ -int pgpPrtUserID(const pgpPkt pp) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -/*@=exportlocal@*/ +int pgpPrtUserID(const pgpPkt pp); #endif /** \ingroup rpmpgp @@ -1339,11 +1251,7 @@ * @return 0 on success */ #if defined(_RPMPGP_INTERNAL) -/*@-exportlocal@*/ -int pgpPrtComment(const pgpPkt pp) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; -/*@=exportlocal@*/ +int pgpPrtComment(const pgpPkt pp); #endif /** \ingroup rpmpgp @@ -1354,11 +1262,8 @@ * @retval keyid publick key fingerprint * @return 0 on success, else -1 */ -/*@-exportlocal@*/ int pgpPubkeyFingerprint(const rpmuint8_t * pkt, size_t pktlen, - /*@out@*/ rpmuint8_t * keyid) - /*@modifies *keyid @*/; -/*@=exportlocal@*/ + rpmuint8_t * keyid); /** \ingroup rpmpgp * Extract OpenPGP public key fingerprint from base64 encoded packet. @@ -1368,8 +1273,7 @@ * @return 8 (no. of bytes) on success, < 0 on error */ int pgpExtractPubkeyFingerprint(const char * b64pkt, - /*@out@*/ rpmuint8_t * keyid) - /*@modifies *keyid @*/; + rpmuint8_t * keyid); /** \ingroup rpmpgp * Return lenth of a OpenPGP packet. @@ -1379,8 +1283,7 @@ * @return packet length, <0 on error. */ #if defined(_RPMPGP_INTERNAL) -int pgpPktLen(const rpmuint8_t * pkt, size_t pleft, /*@out@*/ pgpPkt pp) - /*@modifies pp @*/; +int pgpPktLen(const rpmuint8_t * pkt, size_t pleft, pgpPkt pp); #endif /** \ingroup rpmpgp @@ -1389,11 +1292,7 @@ * @param pleft no. bytes remaining * @return -1 on error, otherwise this packet length */ -/*@-exportlocal@*/ -int pgpPrtPkt(const rpmuint8_t * pkt, size_t pleft) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -/*@=exportlocal@*/ +int pgpPrtPkt(const rpmuint8_t * pkt, size_t pleft); /** \ingroup rpmpgp * Return array of packet pointers. @@ -1404,8 +1303,7 @@ * @return 0 on success, <0 on error */ int pgpGrabPkts(const rpmuint8_t * pkts, size_t pktlen, - /*@out@*/ rpmuint8_t *** pppkts, /*@out@*/ int * pnpkts) - /*@modifies *pppkts, *pnpkts @*/; + rpmuint8_t *** pppkts, int * pnpkts); /** \ingroup rpmpgp * Print/parse a OpenPGP packet(s). @@ -1415,9 +1313,7 @@ * @param printing should packets be printed? * @return -1 on error, 0 on success */ -int pgpPrtPkts(const rpmuint8_t * pkts, size_t pktlen, pgpDig dig, int printing) - /*@globals fileSystem, internalState @*/ - /*@modifies dig, fileSystem, internalState @*/; +int pgpPrtPkts(const rpmuint8_t * pkts, size_t pktlen, pgpDig dig, int printing); /** \ingroup rpmpgp * Parse armored OpenPGP packets from an iob. @@ -1426,10 +1322,7 @@ * @retval pktlen dearmored OpenPGP packet(s) length in bytes * @return type of armor found */ -pgpArmor pgpArmorUnwrap(rpmiob iob, - /*@out@*/ rpmuint8_t ** pkt, /*@out@*/ size_t * pktlen) - /*@globals h_errno, fileSystem, internalState @*/ - /*@modifies *pkt, *pktlen, fileSystem, internalState @*/; +pgpArmor pgpArmorUnwrap(rpmiob iob, rpmuint8_t ** pkt, size_t * pktlen); /** \ingroup rpmpgp * Parse armored OpenPGP packets from a file. @@ -1438,10 +1331,7 @@ * @retval pktlen dearmored OpenPGP packet(s) length in bytes * @return type of armor found */ -pgpArmor pgpReadPkts(const char * fn, - /*@out@*/ rpmuint8_t ** pkt, /*@out@*/ size_t * pktlen) - /*@globals h_errno, fileSystem, internalState @*/ - /*@modifies *pkt, *pktlen, fileSystem, internalState @*/; +pgpArmor pgpReadPkts(const char * fn, rpmuint8_t ** pkt, size_t * pktlen); /** \ingroup rpmpgp * Wrap a OpenPGP packets in ascii armor for transport. @@ -1450,8 +1340,7 @@ * @param ns binary pkt data length * @return formatted string */ -char * pgpArmorWrap(rpmuint8_t atype, const unsigned char * s, size_t ns) - /*@*/; +char * pgpArmorWrap(rpmuint8_t atype, const unsigned char * s, size_t ns); /** \ingroup rpmpgp * Convert a hash algorithm "foo" to the internal PGPHASHALGO_FOO number. @@ -1460,13 +1349,11 @@ * @return PGPHASHALGO_<name> or -1 in case of error */ pgpHashAlgo pgpHashAlgoStringToNumber(const char *name, size_t name_len) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** * Disabler bits(s) for signature/digest checking. */ -/*@unchecked@*/ extern pgpVSFlags pgpDigVSFlags; /** \ingroup rpmpgp @@ -1474,9 +1361,7 @@ * @param dig signature parameters * @return NULL on last dereference */ -/*@unused@*/ /*@null@*/ -pgpDig pgpDigUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ pgpDig dig) - /*@modifies dig @*/; +pgpDig pgpDigUnlink (pgpDig dig); #define pgpDigUnlink(_dig) \ ((pgpDig)rpmioUnlinkPoolItem((rpmioItem)(_dig), __FUNCTION__, __FILE__, __LINE__)) @@ -1485,9 +1370,7 @@ * @param dig signature parameters * @return new signature parameters reference */ -/*@unused@*/ /*@newref@*/ /*@null@*/ -pgpDig pgpDigLink (/*@null@*/ pgpDig dig) - /*@modifies dig @*/; +pgpDig pgpDigLink (pgpDig dig); #define pgpDigLink(_dig) \ ((pgpDig)rpmioLinkPoolItem((rpmioItem)(_dig), __FUNCTION__, __FILE__, __LINE__)) @@ -1496,9 +1379,7 @@ * @param dig signature parameters container * @return NULL on last dereference */ -/*@unused@*/ /*@null@*/ -pgpDig pgpDigFree(/*@killref@*/ /*@only@*/ /*@null@*/ pgpDig dig) - /*@modifies dig @*/; +pgpDig pgpDigFree(pgpDig dig); #define pgpDigFree(_dig) \ ((pgpDig)rpmioFreePoolItem((rpmioItem)(_dig), __FUNCTION__, __FILE__, __LINE__)) @@ -1509,56 +1390,41 @@ * @param pubkey_algo pubkey algorithm (0 disables) * @return container */ -/*@relnull@*/ -pgpDig pgpDigNew(pgpVSFlags vsflags, pgpPubkeyAlgo pubkey_algo) - /*@globals fileSystem @*/ - /*@modifies fileSystem @*/; +pgpDig pgpDigNew(pgpVSFlags vsflags, pgpPubkeyAlgo pubkey_algo); /** \ingroup rpmpgp * Release (malloc'd) data from container. * @param dig signature parameters container */ -void pgpDigClean(/*@null@*/ pgpDig dig) - /*@modifies dig @*/; +void pgpDigClean(pgpDig dig); const char * pgpHashAlgo2Name(uint32_t algo) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; const char * pgpPubkeyAlgo2Name(uint32_t algo) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; rpmuint8_t pgpHashName2Algo(const char * name) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; rpmuint8_t pgpPubkeyName2Algo(const char * name) - RPM_GNUC_PURE - /*@*/; -int pgpDigSetAlgos(pgpDig dig) - /*@*/; -int pgpExportPubkey(pgpDig dig) - /*@*/; -int pgpExportSignature(pgpDig dig, /*@only@*/ DIGEST_CTX ctx) - /*@*/; + RPM_GNUC_PURE; +int pgpDigSetAlgos(pgpDig dig); +int pgpExportPubkey(pgpDig dig); +int pgpExportSignature(pgpDig dig, DIGEST_CTX ctx); /** \ingroup rpmpgp * Return OpenPGP pubkey parameters. * @param dig signature parameters container * @return pubkey parameters */ -/*@exposed@*/ pgpDigParams pgpGetPubkey(const pgpDig dig) - RPM_GNUC_CONST - /*@*/; + RPM_GNUC_CONST; /** \ingroup rpmpgp * Return OpenPGP signature parameters. * @param dig signature parameters container * @return signature parameters */ -/*@exposed@*/ pgpDigParams pgpGetSignature(const pgpDig dig) - RPM_GNUC_CONST - /*@*/; + RPM_GNUC_CONST; /** \ingroup rpmpgp * Get signature tag. @@ -1566,8 +1432,7 @@ * @return signature tag */ rpmuint32_t pgpGetSigtag(const pgpDig dig) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Get signature tag type. @@ -1575,18 +1440,15 @@ * @return signature tag type */ rpmuint32_t pgpGetSigtype(const pgpDig dig) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Get signature tag data, i.e. from header. * @param dig signature parameters container * @return signature tag data */ -/*@observer@*/ /*@null@*/ extern const void * pgpGetSig(const pgpDig dig) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Get signature tag data length, i.e. no. of bytes of data. @@ -1594,8 +1456,7 @@ * @return signature tag data length */ rpmuint32_t pgpGetSiglen(const pgpDig dig) - RPM_GNUC_PURE - /*@*/; + RPM_GNUC_PURE; /** \ingroup rpmpgp * Set signature tag info, i.e. from header. @@ -1608,8 +1469,7 @@ */ int pgpSetSig(pgpDig dig, rpmuint32_t sigtag, rpmuint32_t sigtype, - /*@kept@*/ /*@null@*/ const void * sig, rpmuint32_t siglen) - /*@modifies dig @*/; + const void * sig, rpmuint32_t siglen); /** \ingroup rpmpgp * Return pgpDig container accumulator structure. @@ -1617,10 +1477,8 @@ * @param opx per-container accumulator index (aka rpmtsOpX) * @return per-container accumulator pointer */ -/*@null@*/ void * pgpStatsAccumulator(pgpDig dig, int opx) - RPM_GNUC_CONST - /*@*/; + RPM_GNUC_CONST; /** \ingroup rpmpgp * Set find pubkey vector. @@ -1630,17 +1488,15 @@ * @return 0 always */ int pgpSetFindPubkey(pgpDig dig, - /*@null@*/ int (*findPubkey) (void *ts, /*@null@*/ void *dig), - /*@exposed@*/ /*@null@*/ void * _ts) - /*@modifies dig @*/; + int (*findPubkey) (void *ts, void *dig), + void * _ts); /** \ingroup rpmpgp * Call find pubkey vector. * @param dig signature parameters container * @return rpmRC return code */ -int pgpFindPubkey(pgpDig dig) - /*@modifies dig @*/; +int pgpFindPubkey(pgpDig dig); /** \ingroup rpmpgp * Is buffer at beginning of an OpenPGP packet? @@ -1648,9 +1504,8 @@ * @retval *tagp OpenPGP tag * @return 1 if an OpenPGP packet, 0 otherwise */ -/*@unused@*/ static inline -int pgpIsPkt(const rpmuint8_t * p, /*@null@*/ pgpTag * tagp) - /*@modifies *tagp @*/ +static inline +int pgpIsPkt(const rpmuint8_t * p, pgpTag * tagp) { unsigned int val = (unsigned int) *p++; pgpTag tag; @@ -1709,9 +1564,8 @@ * @param len no. of bytes * @return crc of buffer */ -/*@unused@*/ static inline +static inline unsigned int pgpCRC(const rpmuint8_t * octets, size_t len) - /*@*/ { unsigned int crc = CRC24_INIT; int i; @@ -1730,65 +1584,52 @@ /** */ -typedef int (*pgpImplSet_t) (/*@only@*/ DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) - /*@modifies ctx, dig @*/; +typedef int (*pgpImplSet_t) (DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp); /** */ -typedef int (*pgpImplErrChk_t) (pgpDig dig, const char * msg, int rc, unsigned expected) - /*@*/; +typedef int (*pgpImplErrChk_t) (pgpDig dig, const char * msg, int rc, unsigned expected); /** */ -typedef int (*pgpImplAvailable_t) (pgpDig dig, int algo) - /*@*/; +typedef int (*pgpImplAvailable_t) (pgpDig dig, int algo); /** */ -typedef int (*pgpImplGenerate_t) (pgpDig dig) - /*@*/; +typedef int (*pgpImplGenerate_t) (pgpDig dig); /** */ -typedef int (*pgpImplSign_t) (pgpDig dig) - /*@*/; +typedef int (*pgpImplSign_t) (pgpDig dig); /** */ -typedef int (*pgpImplVerify_t) (pgpDig dig) - /*@*/; +typedef int (*pgpImplVerify_t) (pgpDig dig); /** */ -typedef int (*pgpImplExportPubkey_t) (pgpDig dig) - /*@*/; +typedef int (*pgpImplExportPubkey_t) (pgpDig dig); /** */ -typedef int (*pgpImplExportSignature_t) (pgpDig dig, DIGEST_CTX ctx) - /*@*/; +typedef int (*pgpImplExportSignature_t) (pgpDig dig, DIGEST_CTX ctx); /** */ typedef int (*pgpImplMpiItem_t) (const char * pre, pgpDig dig, int itemno, - const rpmuint8_t * p, /*@null@*/ const rpmuint8_t * pend) - /*@globals fileSystem @*/ - /*@modifies dig, fileSystem @*/; + const rpmuint8_t * p, const rpmuint8_t * pend); /** */ -typedef void (*pgpImplClean_t) (void * impl) - /*@modifies impl @*/; +typedef void (*pgpImplClean_t) (void * impl); /** */ -typedef void * (*pgpImplFree_t) (/*@only@*/ void * impl) - /*@modifies impl @*/; +typedef void * (*pgpImplFree_t) (void * impl); /** */ -typedef void * (*pgpImplInit_t) (void) - /*@*/; +typedef void * (*pgpImplInit_t) (void); /** @@ -1821,51 +1662,44 @@ /** */ -/*@unchecked@*/ extern pgpImplVecs_t * pgpImplVecs; -/*@-mustmod@*/ /** */ -/*@unused@*/ static inline -int pgpImplSetRSA(/*@only@*/ DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) - /*@modifies ctx, dig @*/ +static inline +int pgpImplSetRSA(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) { return (*pgpImplVecs->_pgpSetRSA) (ctx, dig, sigp); } /** */ -/*@unused@*/ static inline -int pgpImplSetDSA(/*@only@*/ DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) - /*@modifies ctx, dig @*/ +static inline +int pgpImplSetDSA(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) { return (*pgpImplVecs->_pgpSetDSA) (ctx, dig, sigp); } /** */ -/*@unused@*/ static inline -int pgpImplSetELG(/*@only@*/ DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) - /*@modifies ctx, dig @*/ +static inline +int pgpImplSetELG(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) { return (*pgpImplVecs->_pgpSetELG) (ctx, dig, sigp); } /** */ -/*@unused@*/ static inline -int pgpImplSetECDSA(/*@only@*/ DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) - /*@modifies ctx, dig @*/ +static inline +int pgpImplSetECDSA(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) { return (*pgpImplVecs->_pgpSetECDSA) (ctx, dig, sigp); } /** */ -/*@unused@*/ static inline +static inline int pgpImplErrChk(pgpDig dig, const char * msg, int rc, unsigned expected) - /*@*/ { return (pgpImplVecs->_pgpErrChk ? (*pgpImplVecs->_pgpErrChk) (dig, msg, rc, expected) @@ -1874,9 +1708,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplAvailableCipher(pgpDig dig, int algo) - /*@*/ { return (pgpImplVecs->_pgpAvailableCipher ? (*pgpImplVecs->_pgpAvailableCipher) (dig, algo) @@ -1885,9 +1718,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplAvailableDigest(pgpDig dig, int algo) - /*@*/ { return (pgpImplVecs->_pgpAvailableDigest ? (*pgpImplVecs->_pgpAvailableDigest) (dig, algo) @@ -1896,9 +1728,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplAvailablePubkey(pgpDig dig, int algo) - /*@*/ { return (pgpImplVecs->_pgpAvailablePubkey ? (*pgpImplVecs->_pgpAvailablePubkey) (dig, algo) @@ -1907,9 +1738,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplVerify(pgpDig dig) - /*@*/ { return (pgpImplVecs->_pgpVerify ? (*pgpImplVecs->_pgpVerify) (dig) @@ -1918,9 +1748,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplSign(pgpDig dig) - /*@*/ { return (pgpImplVecs->_pgpSign ? (*pgpImplVecs->_pgpSign) (dig) @@ -1929,9 +1758,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplGenerate(pgpDig dig) - /*@*/ { return (pgpImplVecs->_pgpGenerate ? (*pgpImplVecs->_pgpGenerate) (dig) @@ -1940,9 +1768,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplExportPubkey(pgpDig dig) - /*@*/ { return (pgpImplVecs->_pgpExportPubkey ? (*pgpImplVecs->_pgpExportPubkey) (dig) @@ -1951,9 +1778,8 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplExportSignature(pgpDig dig, DIGEST_CTX ctx) - /*@*/ { return (pgpImplVecs->_pgpExportSignature ? (*pgpImplVecs->_pgpExportSignature) (dig, ctx) @@ -1962,49 +1788,40 @@ /** */ -/*@unused@*/ static inline +static inline int pgpImplMpiItem(const char * pre, pgpDig dig, int itemno, - const rpmuint8_t * p, /*@null@*/ const rpmuint8_t * pend) - /*@modifies dig @*/ + const rpmuint8_t * p, const rpmuint8_t * pend) { return (*pgpImplVecs->_pgpMpiItem) (pre, dig, itemno, p, pend); } /** */ -/*@unused@*/ static inline +static inline void pgpImplClean(void * impl) - /*@modifies impl @*/ { -/*@-noeffectuncon@*/ (*pgpImplVecs->_pgpClean) (impl); -/*@=noeffectuncon@*/ } /** */ -/*@unused@*/ static inline -/*@null@*/ -void * pgpImplFree(/*@only@*/ void * impl) - /*@modifies impl @*/ +static inline +void * pgpImplFree(void * impl) { return (*pgpImplVecs->_pgpFree) (impl); } /** */ -/*@unused@*/ static inline +static inline void * pgpImplInit(void) - /*@*/ { return (*pgpImplVecs->_pgpInit) (); } -/*@=mustmod@*/ #ifdef __cplusplus } #endif -/*@=fcnuse@*/ #endif /* H_RPMPGP */ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsw.h ============================================================================ $ cvs diff -u -r2.12.4.3 -r2.12.4.4 rpmsw.h --- rpm/rpmio/rpmsw.h 27 Sep 2014 15:51:24 -0000 2.12.4.3 +++ rpm/rpmio/rpmsw.h 25 Jun 2016 07:31:08 -0000 2.12.4.4 @@ -5,9 +5,12 @@ * \file rpmio/rpmsw.h */ +#include <sys/types.h> #include <sys/time.h> #include <stdio.h> +#include <rpmdefs.h> + /** \ingroup rpmio */ typedef unsigned long int rpmtime_t; @@ -40,7 +43,6 @@ rpmtime_t usecs; /*!< Number of ticks. */ }; -/*@unchecked@*/ extern int _rpmsw_stats; /** \ingroup rpmio @@ -79,32 +81,20 @@ * @param sw *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 end time stamp * @param begin *begin begin time stamp * @return difference in micro-seconds */ -/*@-exportlocal@*/ -rpmtime_t rpmswDiff(/*@null@*/ rpmsw end, /*@null@*/ rpmsw begin) - RPM_GNUC_PURE - /*@*/; -/*@=exportlocal@*/ +rpmtime_t rpmswDiff(rpmsw end, rpmsw begin) + RPM_GNUC_PURE; /** 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. @@ -112,9 +102,7 @@ * @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. @@ -122,9 +110,7 @@ * @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. @@ -132,8 +118,7 @@ * @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. @@ -141,8 +126,7 @@ * @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); /** \ingroup rpmio * Print operation statistics. @@ -150,9 +134,7 @@ * @param op operation statistics * @param fp file handle (NULL uses stderr) */ -void rpmswPrint(const char * name, /*@null@*/ rpmop op, /*@null@*/ FILE * fp) - /*@globals fileSystem @*/ - /*@modifies fp, fileSystem @*/; +void rpmswPrint(const char * name, rpmop op, FILE * fp); #ifdef __cplusplus } @@ . rm -f rpm/rpmio/rpmutil.h <<'@@ .' Index: rpm/rpmio/rpmutil.h ============================================================================ [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED] @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmzlog.h ============================================================================ $ cvs diff -u -r2.5.6.2 -r2.5.6.3 rpmzlog.h --- rpm/rpmio/rpmzlog.h 12 Jul 2013 21:40:49 -0000 2.5.6.2 +++ rpm/rpmio/rpmzlog.h 25 Jun 2016 07:31:08 -0000 2.5.6.3 @@ -5,16 +5,16 @@ * \file rpmio/rpmzlog.h */ #include <stdio.h> -#include <sys/time.h> /** trace log pointer */ -typedef /*@abstract@*/ /*@refcounted@*/ struct rpmzLog_s * rpmzLog; +typedef struct rpmzLog_s * rpmzLog; #ifdef _RPMZLOG_INTERNAL +#include <sys/time.h> #include <yarn.h> /** trace msg pointer */ -typedef /*@abstract@*/ struct rpmzMsg_s * rpmzMsg; +typedef struct rpmzMsg_s * rpmzMsg; /** trace msg */ struct rpmzMsg_s { @@ -27,15 +27,9 @@ struct rpmzLog_s { struct rpmioItem_s _item; /*!< usage mutex and pool identifier. */ struct timeval start; /*!< starting time of day for tracing */ -/*@null@*/ rpmzMsg msg_head; -/*@shared@*/ /*@relnull@*/ rpmzMsg *msg_tail; int msg_count; -#if defined(__LCLINT__) -/*@refs@*/ - int nrefs; /*!< (unused) keep splint happy */ -#endif }; #endif /* _RPMZLOG_INTERNAL */ @@ -46,41 +40,29 @@ /** * Reference the log data. */ -/*@newref@*/ /*@null@*/ -rpmzLog rpmzLogLink(/*@null@*/ rpmzLog zlog) - /*@globals fileSystem, internalState @*/ - /*@modifies zlog, fileSystem, internalState @*/; +rpmzLog rpmzLogLink(rpmzLog zlog); /** * Set up log (call from main thread before other threads launched). */ -/*@newref@*/ -rpmzLog rpmzLogNew(/*@null@*/ struct timeval *tv) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; +struct timeval; +rpmzLog rpmzLogNew(struct timeval *tv); /** * Add entry to trace log. */ -void rpmzLogAdd(/*@null@*/ rpmzLog zlog, const char *fmt, ...) - /*@globals fileSystem, internalState @*/ - /*@modifies zlog, fileSystem, internalState @*/; +void rpmzLogAdd(rpmzLog zlog, const char *fmt, ...) + RPM_GNUC_PRINTF(2, 3); /** * Release a reference to the log data. */ -/*@null@*/ -rpmzLog rpmzLogFree(/*@killref@*/ /*@null@*/ rpmzLog zlog) - /*@globals fileSystem, internalState @*/ - /*@modifies zlog, fileSystem, internalState @*/; +rpmzLog rpmzLogFree(rpmzLog zlog); /** * Show entries until no more, free log. */ -/*@null@*/ -rpmzLog rpmzLogDump(/*@killref@*/ /*@null@*/ rpmzLog zlog, /*@null@*/ FILE * fp) - /*@globals fileSystem, internalState @*/ - /*@modifies zlog, *fp, fileSystem, internalState @*/; +rpmzLog rpmzLogDump(rpmzLog zlog, FILE * fp); #ifdef __cplusplus } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tib3.c ============================================================================ $ cvs diff -u -r2.3.4.1 -r2.3.4.2 tib3.c --- rpm/rpmio/tib3.c 19 Apr 2016 13:07:46 -0000 2.3.4.1 +++ rpm/rpmio/tib3.c 25 Jun 2016 07:31:08 -0000 2.3.4.2 @@ -1,4 +1,4 @@ -#include <rpmutil.h> +#include <rpmdefs.h> #if !defined(CLANG_ASAN_COMPILES_SLOWLY) #include <string.h> @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tjsmn.c ============================================================================ $ cvs diff -u -r1.1.2.4 -r1.1.2.5 tjsmn.c --- rpm/rpmio/tjsmn.c 29 Mar 2016 16:40:31 -0000 1.1.2.4 +++ rpm/rpmio/tjsmn.c 25 Jun 2016 07:31:08 -0000 1.1.2.5 @@ -1,7 +1,7 @@ #include "system.h" #include <stdarg.h> -#include <rpmutil.h> +#include <rpmdefs.h> #include "debug.h" @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tjson.c ============================================================================ $ cvs diff -u -r1.1.2.1 -r1.1.2.2 tjson.c --- rpm/rpmio/tjson.c 16 May 2015 23:32:03 -0000 1.1.2.1 +++ rpm/rpmio/tjson.c 25 Jun 2016 07:31:08 -0000 1.1.2.2 @@ -3,7 +3,7 @@ #include <stdbool.h> #include <curl/curl.h> -#include <rpmutil.h> +#include <rpmdefs.h> #include "debug.h" @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/url.c ============================================================================ $ cvs diff -u -r1.73.4.12 -r1.73.4.13 url.c --- rpm/rpmio/url.c 11 Oct 2014 12:55:51 -0000 1.73.4.12 +++ rpm/rpmio/url.c 25 Jun 2016 07:31:08 -0000 1.73.4.13 @@ -9,6 +9,7 @@ #include <rpmio_internal.h> #include <rpmmacro.h> #include <rpmcb.h> +#include <yarn.h> #ifdef WITH_NEON #include <rpmdav.h> @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/yarn.h ============================================================================ $ cvs diff -u -r2.4.2.3 -r2.4.2.4 yarn.h --- rpm/rpmio/yarn.h 24 Sep 2014 13:03:04 -0000 2.4.2.3 +++ rpm/rpmio/yarn.h 25 Jun 2016 07:31:08 -0000 2.4.2.4 @@ -5,6 +5,11 @@ #ifndef _H_YARN_ #define _H_YARN_ +#include <stddef.h> + +#include <rpmiotypes.h> +#include <rpmdefs.h> + /* This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages @@ -115,68 +120,43 @@ extern "C" { #endif -/*@unchecked@*/ /*@observer@*/ extern const char *yarnPrefix; -/*@-redecl@*/ -/*@mayexit@*/ -extern void (*yarnAbort)(int) - /*@globals internalState @*/ - /*@modifies internalState @*/; -/*@=redecl@*/ - -/*@-globuse@*/ -void yarnMem(void *(*)(size_t), void (*)(void *)) - /*@globals internalState @*/ - /*@modifies internalState @*/; -/*@=globuse@*/ + +extern void (*yarnAbort)(int); + +void yarnMem(void *(*)(size_t), void (*)(void *)); typedef struct yarnThread_s * yarnThread; -/*@only@*/ + yarnThread yarnLaunchStack(void (*probe)(void *), void *payload, - /*@null@*/ void * stack, size_t nstack) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -/*@only@*/ -yarnThread yarnLaunch(void (*probe)(void *), void *payload) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -/*@only@*/ /*@null@*/ -yarnThread yarnJoin(/*@only@*/ yarnThread ally) - /*@globals fileSystem, internalState @*/ - /*@modifies ally, fileSystem, internalState @*/; -int yarnJoinAll(void) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -void yarnDestruct(/*@only@*/ yarnThread off_course) - /*@globals fileSystem, internalState @*/ - /*@modifies off_course, fileSystem, internalState @*/; - -yarnLock yarnNewLock(long) - /*@globals fileSystem, internalState @*/ - /*@modifies fileSystem, internalState @*/; -void yarnPossess(yarnLock bolt) - /*@globals fileSystem, internalState @*/ - /*@modifies bolt, fileSystem, internalState @*/; -void yarnRelease(yarnLock bolt) - /*@globals fileSystem, internalState @*/ - /*@modifies bolt, fileSystem, internalState @*/; + void * stack, size_t nstack); + +yarnThread yarnLaunch(void (*probe)(void *), void *payload); + +yarnThread yarnJoin(yarnThread ally); + +int yarnJoinAll(void); + +void yarnDestruct(yarnThread off_course); + +yarnLock yarnNewLock(long); + +void yarnPossess(yarnLock bolt); + +void yarnRelease(yarnLock bolt); + typedef enum yarnTwistOP_e { TO, BY } yarnTwistOP; -void yarnTwist(yarnLock bolt, yarnTwistOP op, long) - /*@globals fileSystem, internalState @*/ - /*@modifies bolt, fileSystem, internalState @*/; +void yarnTwist(yarnLock bolt, yarnTwistOP op, long); + typedef enum yarnWaitOP_e { TO_BE, /* or */ NOT_TO_BE, /* that is the question */ TO_BE_MORE_THAN, TO_BE_LESS_THAN } yarnWaitOP; -void yarnWaitFor(yarnLock bolt, yarnWaitOP op, long) - /*@globals fileSystem, internalState @*/ - /*@modifies bolt, fileSystem, internalState @*/; +void yarnWaitFor(yarnLock bolt, yarnWaitOP op, long); + long yarnPeekLock(yarnLock bolt) - RPM_GNUC_PURE - /*@*/; -/*@only@*/ /*@null@*/ -yarnLock yarnFreeLock(/*@only@*/ yarnLock bolt) - /*@globals fileSystem, internalState @*/ - /*@modifies bolt, fileSystem, internalState @*/; + RPM_GNUC_PURE; + +yarnLock yarnFreeLock(yarnLock bolt); #ifdef __cplusplus } @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org