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]

Reply via email to