RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 04-Mar-2010 21:53:18 Branch: HEAD Handle: 2010030420531701 Modified files: rpm CHANGES rpm/rpmio argv.c argv.h Log: - argv: use stricter RPMstr_t/RPMint_t types instead of void *. Summary: Revision Changes Path 1.3281 +1 -0 rpm/CHANGES 1.20 +15 -12 rpm/rpmio/argv.c 1.16 +9 -9 rpm/rpmio/argv.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3280 -r1.3281 CHANGES --- rpm/CHANGES 2 Mar 2010 17:36:26 -0000 1.3280 +++ rpm/CHANGES 4 Mar 2010 20:53:17 -0000 1.3281 @@ -1,5 +1,6 @@ 5.2b1 -> 5.3a1 + - jbj: argv: use stricter RPMstr_t/RPMint_t types instead of void *. - devzero2000: add an rpm-arg-max-doc.spec toy test spec in tests - proyvind: python: make sure that we always use our own rpm build and macros. @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/argv.c ============================================================================ $ cvs diff -u -r1.19 -r1.20 argv.c --- rpm/rpmio/argv.c 14 Jun 2009 18:17:06 -0000 1.19 +++ rpm/rpmio/argv.c 4 Mar 2010 20:53:18 -0000 1.20 @@ -79,7 +79,7 @@ /*...@=retalias =temptrans @*/ } -int argiCmp(const void * a, const void * b) +int argiCmp(ARGint_t * a, ARGint_t * b) { unsigned aint = *(ARGint_t)a; unsigned bint = *(ARGint_t)b; @@ -87,14 +87,14 @@ (aint > bint) ? +1 : 0); } -int argvCmp(const void * a, const void * b) +int argvCmp(ARGstr_t * a, ARGstr_t * b) { ARGstr_t astr = *(ARGV_t)a; ARGstr_t bstr = *(ARGV_t)b; return strcmp(astr, bstr); } -int argvStrcasecmp(const void * a, const void * b) +int argvStrcasecmp(ARGstr_t * a, ARGstr_t * b) { ARGstr_t astr = *(ARGV_t)a; ARGstr_t bstr = *(ARGV_t)b; @@ -102,14 +102,14 @@ } #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ -int argvFnmatch(const void * a, const void * b) +int argvFnmatch(ARGstr_t * a, ARGstr_t * b) { ARGstr_t astr = *(ARGV_t)a; ARGstr_t bstr = *(ARGV_t)b; return (fnmatch(astr, bstr, 0) == 0 ? 0 : 1); } -int argvFnmatchCasefold(const void * a, const void * b) +int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b) { ARGstr_t astr = *(ARGV_t)a; ARGstr_t bstr = *(ARGV_t)b; @@ -117,38 +117,41 @@ } #endif -int argiSort(ARGI_t argi, int (*compar)(const void *, const void *)) +int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *)) { unsigned nvals = argiCount(argi); ARGint_t vals = argiData(argi); if (compar == NULL) compar = argiCmp; if (nvals > 1) - qsort(vals, nvals, sizeof(*vals), compar); + qsort(vals, nvals, sizeof(*vals), + (int(*)(const void *, const void *))compar); return 0; } -int argvSort(ARGV_t argv, int (*compar)(const void *, const void *)) +int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *)) { if (compar == NULL) compar = argvCmp; - qsort(argv, argvCount(argv), sizeof(*argv), compar); + qsort(argv, argvCount(argv), sizeof(*argv), + (int(*)(const void *, const void *))compar); return 0; } ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, - int (*compar)(const void *, const void *)) + int (*compar)(ARGstr_t *, ARGstr_t *)) { if (argv == NULL) return NULL; if (compar == NULL) compar = argvCmp; - return bsearch(&val, argv, argvCount(argv), sizeof(*argv), compar); + return bsearch(&val, argv, argvCount(argv), sizeof(*argv), + (int(*)(const void *, const void *))compar); } #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val, - int (*compar)(const void *, const void *)) + int (*compar)(ARGstr_t *, ARGstr_t *)) { ARGV_t result; ARGV_t av; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/argv.h ============================================================================ $ cvs diff -u -r1.15 -r1.16 argv.h --- rpm/rpmio/argv.h 14 Jun 2009 18:17:06 -0000 1.15 +++ rpm/rpmio/argv.h 4 Mar 2010 20:53:18 -0000 1.16 @@ -90,7 +90,7 @@ * @return result of comparison */ /*...@-exportlocal@*/ -int argiCmp(const void * a, const void * b) +int argiCmp(ARGint_t * a, ARGint_t * b) /*...@*/; /*...@=exportlocal@*/ @@ -101,7 +101,7 @@ * @return result of comparison */ /*...@-exportlocal@*/ -int argvCmp(const void * a, const void * b) +int argvCmp(ARGstr_t * a, ARGstr_t * b) /*...@*/; /*...@=exportlocal@*/ @@ -111,7 +111,7 @@ * @param b 2nd instance address * @return result of comparison */ -int argvStrcasecmp(const void * a, const void * b) +int argvStrcasecmp(ARGstr_t * a, ARGstr_t * b) /*...@*/; #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ @@ -121,7 +121,7 @@ * @param b 2nd instance address * @return result of comparison */ -int argvFnmatch(const void * a, const void * b) +int argvFnmatch(ARGstr_t * a, ARGstr_t * b) /*...@*/; /** @@ -130,7 +130,7 @@ * @param b 2nd instance address * @return result of comparison */ -int argvFnmatchCasefold(const void * a, const void * b) +int argvFnmatchCasefold(ARGstr_t * a, ARGstr_t * b) /*...@*/; #endif @@ -140,7 +140,7 @@ * @param compar strcmp-like comparison function, or NULL for argiCmp() * @return 0 always */ -int argiSort(ARGI_t argi, int (*compar)(const void *, const void *)) +int argiSort(ARGI_t argi, int (*compar)(ARGint_t *, ARGint_t *)) /*...@*/; /** @@ -149,7 +149,7 @@ * @param compar strcmp-like comparison function, or NULL for argvCmp() * @return 0 always */ -int argvSort(ARGV_t argv, int (*compar)(const void *, const void *)) +int argvSort(ARGV_t argv, int (*compar)(ARGstr_t *, ARGstr_t *)) /*...@modifies *argv @*/; /** @@ -161,7 +161,7 @@ */ /*...@dependent@*/ /*...@null@*/ ARGV_t argvSearch(ARGV_t argv, ARGstr_t val, - int (*compar)(const void *, const void *)) + int (*compar)(ARGstr_t *, ARGstr_t *)) /*...@*/; #if defined(RPM_VENDOR_OPENPKG) /* wildcard-matching-arbitrary-tagnames */ @@ -174,7 +174,7 @@ */ /*...@dependent@*/ /*...@null@*/ ARGV_t argvSearchLinear(ARGV_t argv, ARGstr_t val, - int (*compar)(const void *, const void *)) + int (*compar)(ARGstr_t *, ARGstr_t *)) /*...@*/; #endif @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
