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:   17-Oct-2007 02:32:27
  Branch: HEAD                             Handle: 2007101701322600

  Modified files:
    rpm                     CHANGES
    rpm/rpmdb               hdrNVR.c hdrinline.h header.c header.h
                            header_internal.c header_internal.h rpmdb.c
                            signature.c

  Log:
    - change hPTR_t to hRET_t in ABI, revert to const void * in API.

  Summary:
    Revision    Changes     Path
    1.1720      +1  -0      rpm/CHANGES
    1.16        +2  -2      rpm/rpmdb/hdrNVR.c
    1.19        +16 -10     rpm/rpmdb/hdrinline.h
    1.85        +56 -57     rpm/rpmdb/header.c
    1.37        +5  -5      rpm/rpmdb/header.h
    1.11        +8  -8      rpm/rpmdb/header_internal.c
    1.23        +2  -2      rpm/rpmdb/header_internal.h
    1.187       +2  -2      rpm/rpmdb/rpmdb.c
    1.10        +4  -4      rpm/rpmdb/signature.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1719 -r1.1720 CHANGES
  --- rpm/CHANGES       16 Oct 2007 20:16:16 -0000      1.1719
  +++ rpm/CHANGES       17 Oct 2007 00:32:26 -0000      1.1720
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: change hPTR_t to hRET_t in ABI, revert to const void * in API.
       - jbj: drill hPTR_t through prototypes. hRET_t * refactor next.
       - jbj: drill rpmTagCount through rpmdb/* files.
       - jbj: preliminaries to encapsulate headerSprintf goop.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/hdrNVR.c
  ============================================================================
  $ cvs diff -u -r1.15 -r1.16 hdrNVR.c
  --- rpm/rpmdb/hdrNVR.c        16 Oct 2007 20:16:16 -0000      1.15
  +++ rpm/rpmdb/hdrNVR.c        17 Oct 2007 00:32:26 -0000      1.16
  @@ -209,8 +209,8 @@
       HeaderIterator hi;
       int_32 tag;
       rpmTagType type;
  +    const void * ptr;
       rpmTagCount count;
  -    hPTR_t ptr;
       int xx;
   
       if (h == NULL || sigh == NULL)
  @@ -305,8 +305,8 @@
       int_32 stag;
       int_32 tag;
       rpmTagType type;
  +    const void * ptr;
       rpmTagCount count;
  -    hPTR_t ptr;
       int xx;
   
       for (hi = headerInitIterator(h);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/hdrinline.h
  ============================================================================
  $ cvs diff -u -r1.18 -r1.19 hdrinline.h
  --- rpm/rpmdb/hdrinline.h     16 Oct 2007 20:16:16 -0000      1.18
  +++ rpm/rpmdb/hdrinline.h     17 Oct 2007 00:32:26 -0000      1.19
  @@ -335,10 +335,12 @@
    */
   /[EMAIL PROTECTED]@*/
   /[EMAIL PROTECTED]@*/ static inline
  -int headerAddEntry(Header h, int_32 tag, rpmTagType type, hPTR_t p, 
rpmTagCount c)
  +int headerAddEntry(Header h, int_32 tag, rpmTagType type,
  +             const void * p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
  -    return (h2hv(h)->hdradd) (h, tag, type, p, c);
  +    hRET_t *q = (void *)&p;
  +    return (h2hv(h)->hdradd) (h, tag, type, *q, c);
   }
   
   /** \ingroup header
  @@ -357,10 +359,11 @@
    */
   /[EMAIL PROTECTED]@*/ static inline
   int headerAppendEntry(Header h, int_32 tag, rpmTagType type,
  -             hPTR_t p, rpmTagCount c)
  +             const void * p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
  -    return (h2hv(h)->hdrappend) (h, tag, type, p, c);
  +    hRET_t *q = (void *)&p;
  +    return (h2hv(h)->hdrappend) (h, tag, type, *q, c);
   }
   
   /** \ingroup header
  @@ -375,10 +378,11 @@
    */
   /[EMAIL PROTECTED]@*/ static inline
   int headerAddOrAppendEntry(Header h, int_32 tag, rpmTagType type,
  -             hPTR_t p, rpmTagCount c)
  +             const void * p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
  -    return (h2hv(h)->hdraddorappend) (h, tag, type, p, c);
  +    hRET_t *q = (void *)&p;
  +    return (h2hv(h)->hdraddorappend) (h, tag, type, *q, c);
   }
   
   /** \ingroup header
  @@ -421,10 +425,11 @@
    */
   /[EMAIL PROTECTED]@*/ static inline
   int headerModifyEntry(Header h, int_32 tag, rpmTagType type,
  -                     hPTR_t p, rpmTagCount c)
  +                     const void * p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
  -    return (h2hv(h)->hdrmodify) (h, tag, type, p, c);
  +    hRET_t *q = (void *)&p;
  +    return (h2hv(h)->hdrmodify) (h, tag, type, *q, c);
   }
   
   /** \ingroup header
  @@ -517,11 +522,12 @@
   int headerNextIterator(HeaderIterator hi,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTAG_t tag,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hPTR_t * p,
  +             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ const void * p,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
        /[EMAIL PROTECTED] hi, *tag, *type, *p, *c @*/
   {
  -    return hdrVec->hdrnextiter(hi, tag, type, p, c);
  +    hRET_t **q = (void *)&p;
  +    return hdrVec->hdrnextiter(hi, tag, type, *q, c);
   }
   
   /** \ingroup header
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  ============================================================================
  $ cvs diff -u -r1.84 -r1.85 header.c
  --- rpm/rpmdb/header.c        16 Oct 2007 21:02:03 -0000      1.84
  +++ rpm/rpmdb/header.c        17 Oct 2007 00:32:26 -0000      1.85
  @@ -368,12 +368,12 @@
    * @param pend               pointer to end of data (or NULL)
    * @return           no. bytes in data, -1 on failure
    */
  -static int dataLength(rpmTagType type, hPTR_t p, rpmTagCount count, int 
onDisk,
  -             /[EMAIL PROTECTED]@*/ hPTR_t pend)
  +static int dataLength(rpmTagType type, hRET_t p, rpmTagCount count, int 
onDisk,
  +             /[EMAIL PROTECTED]@*/ hRET_t pend)
        /[EMAIL PROTECTED]/
   {
  -    const unsigned char * s = (const unsigned char *) p;     /* NOCAST */
  -    const unsigned char * se = (const unsigned char *) pend; /* NOCAST */
  +    const unsigned char * s = p.ui8p;
  +    const unsigned char * se = pend.ui8p;
       int length = 0;
   
       switch (type) {
  @@ -403,7 +403,7 @@
                }
            }
        } else {
  -         const char ** av = (const char **)p;
  +         const char ** av = p.argv;
            while (count--) {
                /* add one for null termination */
                length += strlen(*av++) + 1;
  @@ -457,6 +457,7 @@
                int regionid)
        /[EMAIL PROTECTED] *entry, *dataStart @*/
   {
  +    hRET_t p, pend;
       unsigned char * tprev = NULL;
       unsigned char * t = NULL;
       int tdel = 0;
  @@ -486,7 +487,9 @@
        if (dataEnd && t >= dataEnd)
            return -1;
   
  -     ie.length = dataLength(ie.info.type, ie.data, ie.info.count, 1, 
(hPTR_t) dataEnd); /* NOCAST */
  +     p.ptr = ie.data;
  +     pend.ptr = (void *) dataEnd;    /* NOCAST */
  +     ie.length = dataLength(ie.info.type, p, ie.info.count, 1, pend);
        if (ie.length < 0 || hdrchkData(ie.length))
            return -1;
   
  @@ -1462,7 +1465,7 @@
    */
   static int copyEntry(const indexEntry entry,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hPTR_t * p,
  +             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hRET_t * p,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c,
                int minMem)
        /[EMAIL PROTECTED] *type, *p, *c @*/
  @@ -1500,8 +1503,7 @@
                rdl += REGION_TAG_COUNT;
            }
   
  -         *p = xmalloc(count);
  -         ei = (int_32 *) *p;
  +         (*p).i32p = ei = xmalloc(count);
            ei[0] = htonl(ril);
            ei[1] = htonl(rdl);
   
  @@ -1517,14 +1519,14 @@
            rc = (rc < 0) ? 0 : 1;
        } else {
            count = entry->length;
  -         *p = (!minMem
  +         (*p).ptr = (!minMem
                ? memcpy(xmalloc(count), entry->data, count)
                : entry->data);
        }
        break;
       case RPM_STRING_TYPE:
        if (count == 1) {
  -         *p = entry->data;
  +         (*p).str = (char *) entry->data;    /* NOCAST */
            break;
        }
        /[EMAIL PROTECTED]@*/
  @@ -1539,14 +1541,11 @@
   
        /[EMAIL PROTECTED]@*/
        if (minMem) {
  -         *p = xmalloc(tableSize);
  -         ptrEntry = (const char **) *p;
  +         (*p).argv = ptrEntry = xmalloc(tableSize);
            t = entry->data;
        } else {
  -         t = xmalloc(tableSize + entry->length);
  -         *p = (void *)t;
  -         ptrEntry = (const char **) *p;
  -         t += tableSize;
  +         (*p).argv = ptrEntry = xmalloc(tableSize + entry->length);
  +         t = (char *) &ptrEntry[count];
            memcpy(t, entry->data, entry->length);
        }
        /[EMAIL PROTECTED]@*/
  @@ -1560,7 +1559,7 @@
       case RPM_OPENPGP_TYPE:   /* XXX W2DO? */
       case RPM_ASN1_TYPE:              /* XXX W2DO? */
       default:
  -     *p = entry->data;
  +     (*p).ptr = entry->data;
        break;
       }
       if (type) *type = entry->info.type;
  @@ -1715,7 +1714,7 @@
    */
   static int intGetEntry(Header h, int_32 tag,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hPTR_t * p,
  +             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hRET_t * p,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c,
                int minMem)
        /[EMAIL PROTECTED] *type, *p, *c @*/
  @@ -1730,7 +1729,7 @@
       /[EMAIL PROTECTED]@*/
       if (entry == NULL) {
        if (type) type = 0;
  -     if (p) *p = NULL;
  +     if (p) (*p).ptr = NULL;
        if (c) *c = 0;
        return 0;
       }
  @@ -1741,7 +1740,7 @@
        if (type) *type = RPM_STRING_TYPE;
        if (c) *c = 1;
        /[EMAIL PROTECTED]@*/
  -     if (p) *p = (hPTR_t) headerFindI18NString(h, entry);    /* NOCAST */
  +     if (p) (*p).ptr = headerFindI18NString(h, entry);
        /[EMAIL PROTECTED]@*/
        break;
       default:
  @@ -1853,7 +1852,7 @@
       if (ext && ext->name != NULL && ext->type == HEADER_EXT_TAG)
        rc = ext->u.tagFunction(h, he);
       else
  -     rc = intGetEntry(h, he->tag, he->t, (hPTR_t *)he->p, he->c, 0);
  +     rc = intGetEntry(h, he->tag, he->t, he->p, he->c, 0);
   
       if (!rc)
        goto exit;
  @@ -1937,7 +1936,7 @@
   
       if ((sw = headerGetStats(h, 19)) != NULL)        /* RPMTS_OP_HDRGET */
        (void) rpmswEnter(sw, 0);
  -    rc = intGetEntry(h, tag, type, (hPTR_t *)p, c, 0);
  +    rc = intGetEntry(h, tag, type, p, c, 0);
       if (sw != NULL)  (void) rpmswExit(sw, 0);
       return rc;
   }
  @@ -1972,7 +1971,7 @@
       return rc;
   }
   
  -int headerGetRawEntry(Header h, int_32 tag, rpmTagType * type, void * p, 
int_32 * c)
  +int headerGetRawEntry(Header h, int_32 tag, rpmTagType * type, hRET_t * p, 
rpmTagCount * c)
   {
       indexEntry entry;
       int rc;
  @@ -1997,14 +1996,14 @@
   
   /**
    */
  -static void copyData(rpmTagType type, /[EMAIL PROTECTED]@*/ void * dstPtr, 
const void * srcPtr,
  +static void copyData(rpmTagType type, /[EMAIL PROTECTED]@*/ void * dstPtr, 
hRET_t srcPtr,
                rpmTagCount cnt, int dataLength)
        /[EMAIL PROTECTED] *dstPtr @*/
   {
       switch (type) {
       case RPM_STRING_ARRAY_TYPE:
       case RPM_I18NSTRING_TYPE:
  -    {        const char ** av = (const char **) srcPtr;
  +    {        const char ** av = srcPtr.argv;
        char * t = dstPtr;
   
        while (cnt-- > 0 && dataLength > 0) {
  @@ -2018,7 +2017,7 @@
       }        break;
   
       default:
  -     memmove(dstPtr, srcPtr, dataLength);
  +     memmove(dstPtr, srcPtr.ptr, dataLength);
        break;
       }
   }
  @@ -2033,14 +2032,14 @@
    */
   /[EMAIL PROTECTED]@*/
   static void *
  -grabData(rpmTagType type, hPTR_t p, rpmTagCount c, /[EMAIL PROTECTED]@*/ int 
* lenp)
  +grabData(rpmTagType type, hRET_t p, rpmTagCount c, /[EMAIL PROTECTED]@*/ int 
* lenp)
        /[EMAIL PROTECTED] *lenp @*/
        /[EMAIL PROTECTED] maxSet(lenp) >= 0 @*/
   {
       void * data = NULL;
       int length;
   
  -    length = dataLength(type, p, c, 0, NULL);
  +    length = dataLength(type, p, c, 0, (hRET_t)NULL);        /* NOCAST */
       if (length > 0) {
        data = xmalloc(length);
        copyData(type, data, p, c, length);
  @@ -2066,7 +2065,7 @@
    * @return           1 on success, 0 on failure
    */
   static
  -int headerAddEntry(Header h, int_32 tag, rpmTagType type, hPTR_t p, 
rpmTagCount c)
  +int headerAddEntry(Header h, int_32 tag, rpmTagType type, hRET_t p, 
rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
       indexEntry entry;
  @@ -2125,7 +2124,7 @@
    */
   static
   int headerAppendEntry(Header h, int_32 tag, rpmTagType type,
  -             hPTR_t p, rpmTagCount c)
  +             hRET_t p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
       indexEntry entry;
  @@ -2141,7 +2140,7 @@
       if (!entry)
        return 0;
   
  -    length = dataLength(type, p, c, 0, NULL);
  +    length = dataLength(type, p, c, 0, (hRET_t)NULL);        /* NOCAST */
       if (length < 0)
        return 0;
   
  @@ -2173,7 +2172,7 @@
    */
   static
   int headerAddOrAppendEntry(Header h, int_32 tag, rpmTagType type,
  -             hPTR_t p, rpmTagCount c)
  +             hRET_t p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
       return (findEntry(h, tag, type)
  @@ -2207,7 +2206,7 @@
        /[EMAIL PROTECTED] h @*/
   {
       indexEntry table, entry;
  -    const char ** strArray;
  +    hRET_t p;
       int length;
       int ghosts;
       int i, langNum;
  @@ -2220,20 +2219,21 @@
        return 0;               /* this shouldn't ever happen!! */
   
       if (!table && !entry) {
  -     const char * charArray[2];
  +     const char * argv[2];
        int count = 0;
  +     p.argv = argv;
        if (!lang || (lang[0] == 'C' && lang[1] == '\0')) {
            /[EMAIL PROTECTED] [EMAIL PROTECTED]/
  -         charArray[count++] = "C";
  +         p.argv[count++] = "C";
            /[EMAIL PROTECTED] [EMAIL PROTECTED]/
        } else {
            /[EMAIL PROTECTED] [EMAIL PROTECTED]/
  -         charArray[count++] = "C";
  +         p.argv[count++] = "C";
            /[EMAIL PROTECTED] [EMAIL PROTECTED]/
  -         charArray[count++] = lang;
  +         p.argv[count++] = lang;
        }
        if (!headerAddEntry(h, HEADER_I18NTABLE, RPM_STRING_ARRAY_TYPE, 
  -                     (hPTR_t) &charArray, count))    /* NOCAST */
  +                     p, count))
            return 0;
        table = findEntry(h, HEADER_I18NTABLE, RPM_STRING_ARRAY_TYPE);
       }
  @@ -2264,12 +2264,11 @@
       }
   
       if (!entry) {
  -     strArray = alloca(sizeof(*strArray) * (langNum + 1));
  +     p.argv = alloca(sizeof(*p.argv) * (langNum + 1));
        for (i = 0; i < langNum; i++)
  -         strArray[i] = "";
  -     strArray[langNum] = string;
  -     return headerAddEntry(h, tag, RPM_I18NSTRING_TYPE, (hPTR_t) strArray,   
/* NOCAST */
  -                             langNum + 1);
  +         p.argv[i] = "";
  +     p.argv[langNum] = string;
  +     return headerAddEntry(h, tag, RPM_I18NSTRING_TYPE, p, langNum + 1);
       } else if (langNum >= entry->info.count) {
        ghosts = langNum - entry->info.count;
        
  @@ -2346,12 +2345,12 @@
    */
   static
   int headerModifyEntry(Header h, int_32 tag, rpmTagType type,
  -                     hPTR_t p, rpmTagCount c)
  +                     hRET_t p, rpmTagCount c)
        /[EMAIL PROTECTED] h @*/
   {
       indexEntry entry;
       void * oldData;
  -    hPTR_t data;
  +    hRET_t data;
       int length;
   
       /* First find the tag */
  @@ -2360,8 +2359,8 @@
        return 0;
   
       length = 0;
  -    data = grabData(type, p, c, &length);
  -    if (data == NULL || length <= 0)
  +    data.ptr = grabData(type, p, c, &length);
  +    if (data.ptr == NULL || length <= 0)
        return 0;
   
       /* make sure entry points to the first occurence of this tag */
  @@ -2374,7 +2373,7 @@
   
       entry->info.count = c;
       entry->info.type = type;
  -    entry->data = (void *) (*data).ptr;      /* NOCAST */
  +    entry->data = data.ptr;
       entry->length = length;
   
       if (ENTRY_IN_REGION(entry)) {
  @@ -2498,7 +2497,7 @@
   int headerNextIterator(HeaderIterator hi,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTAG_t tag,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hPTR_t * p,
  +             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hRET_t * p,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
        /[EMAIL PROTECTED] hi, *tag, *type, *p, *c @*/
        /[EMAIL PROTECTED] maxSet(tag) >= 0 /\ maxSet(type) >= 0
  @@ -2545,13 +2544,13 @@
       int_32 tag;
       rpmTagType type;
       rpmTagCount count;
  -    hPTR_t ptr;
  +    hRET_t ptr;
      
       for (hi = headerInitIterator(h);
        headerNextIterator(hi, &tag, &type, &ptr, &count);
  -     ptr = headerFreeData((void *)ptr, type))
  +     ptr.ptr = headerFreeData(ptr.ptr, type))
       {
  -     if (ptr) (void) headerAddEntry(nh, tag, type, ptr, count);
  +     if (ptr.ptr) (void) headerAddEntry(nh, tag, type, ptr, count);
       }
       hi = headerFreeIterator(hi);
   
  @@ -3990,15 +3989,15 @@
        return;
   
       for (p = tagstocopy; *p != 0; p++) {
  -     hRET_t s;
  +     hRET_t ptr;
        rpmTagType type;
        rpmTagCount count;
        if (headerIsEntry(headerTo, *p))
            continue;
  -     if (!headerGetEntryMinMemory(headerFrom, *p, &type, &s, &count))
  +     if (!headerGetEntryMinMemory(headerFrom, *p, &type, &ptr, &count))
            continue;
  -     (void) headerAddEntry(headerTo, *p, type, s.ptr, count);
  -     s.ptr = headerFreeData(s.ptr, type);
  +     (void) headerAddEntry(headerTo, *p, type, ptr, count);
  +     ptr.ptr = headerFreeData(ptr.ptr, type);
       }
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.h
  ============================================================================
  $ cvs diff -u -r1.36 -r1.37 header.h
  --- rpm/rpmdb/header.h        16 Oct 2007 21:02:03 -0000      1.36
  +++ rpm/rpmdb/header.h        17 Oct 2007 00:32:26 -0000      1.37
  @@ -654,7 +654,7 @@
    * @return           1 on success, 0 on failure
    */
   typedef
  -int (*HDRadd) (Header h, int_32 tag, rpmTagType type, hPTR_t p, rpmTagCount 
c)
  +int (*HDRadd) (Header h, int_32 tag, rpmTagType type, hRET_t p, rpmTagCount 
c)
           /[EMAIL PROTECTED] h @*/;
   
   /** \ingroup header
  @@ -672,7 +672,7 @@
    * @return           1 on success, 0 on failure
    */
   typedef
  -int (*HDRappend) (Header h, int_32 tag, rpmTagType type, hPTR_t p, 
rpmTagCount c)
  +int (*HDRappend) (Header h, int_32 tag, rpmTagType type, hRET_t p, 
rpmTagCount c)
           /[EMAIL PROTECTED] h @*/;
   
   /** \ingroup header
  @@ -686,7 +686,7 @@
    * @return           1 on success, 0 on failure
    */
   typedef
  -int (*HDRaddorappend) (Header h, int_32 tag, rpmTagType type, hPTR_t p, 
rpmTagCount c)
  +int (*HDRaddorappend) (Header h, int_32 tag, rpmTagType type, hRET_t p, 
rpmTagCount c)
           /[EMAIL PROTECTED] h @*/;
   
   /** \ingroup header
  @@ -725,7 +725,7 @@
    * @return           1 on success, 0 on failure
    */
   typedef
  -int (*HDRmodify) (Header h, int_32 tag, rpmTagType type, hPTR_t p, 
rpmTagCount c)
  +int (*HDRmodify) (Header h, int_32 tag, rpmTagType type, hRET_t p, 
rpmTagCount c)
           /[EMAIL PROTECTED] h @*/;
   
   /** \ingroup header
  @@ -800,7 +800,7 @@
   int (*HDRnextiter) (HeaderIterator hi,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTAG_t tag,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hPTR_t * p,
  +             /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hRET_t * p,
                /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
        /[EMAIL PROTECTED] hi, *tag, *type, *p, *c @*/;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header_internal.c
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 header_internal.c
  --- rpm/rpmdb/header_internal.c       14 Oct 2007 22:54:00 -0000      1.10
  +++ rpm/rpmdb/header_internal.c       17 Oct 2007 00:32:26 -0000      1.11
  @@ -61,20 +61,20 @@
       return -1;
   }
   
  -char ** headerGetLangs(Header h)
  +const char ** headerGetLangs(Header h)
   {
  -    char **s, *e, **table;
  +    const char ** table;
  +    const char *e;
       rpmTagType type;
  -    int i, count;
  +    hRET_t s;
  +    rpmTagCount count;
  +    int i;
   
       if (!headerGetRawEntry(h, HEADER_I18NTABLE, &type, &s, &count))
        return NULL;
   
  -    /* XXX xcalloc never returns NULL. */
  -    if ((table = (char **)xcalloc((count+1), sizeof(char *))) == NULL)
  -     return NULL;
  -
  -    for (i = 0, e = *s; i < count; i++, e += strlen(e)+1)
  +    table = xcalloc(count+1, sizeof(*table));
  +    for (i = 0, e = *s.argv; i < count; i++, e += strlen(e)+1)
        table[i] = e;
       table[count] = NULL;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header_internal.h
  ============================================================================
  $ cvs diff -u -r1.22 -r1.23 header_internal.h
  --- rpm/rpmdb/header_internal.h       16 Oct 2007 18:14:25 -0000      1.22
  +++ rpm/rpmdb/header_internal.h       17 Oct 2007 00:32:26 -0000      1.23
  @@ -198,7 +198,7 @@
    * @return           array of locales (or NULL on error)
    */
   /[EMAIL PROTECTED]@*/
  -/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ char ** headerGetLangs(Header h)
  +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ const char ** 
headerGetLangs(Header h)
        /[EMAIL PROTECTED]/;
   
   /** \ingroup header
  @@ -217,7 +217,7 @@
   /[EMAIL PROTECTED]@*/
   int headerGetRawEntry(Header h, int_32 tag,
                        /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  -                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * p, 
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hRET_t * p, 
                        /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
        /[EMAIL PROTECTED] *type, *p, *c @*/
        /[EMAIL PROTECTED] maxSet(type) >= 0 /\ maxSet(p) >= 0 /\ maxSet(c) >= 
0 @*/;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.186 -r1.187 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 16 Oct 2007 21:02:03 -0000      1.186
  +++ rpm/rpmdb/rpmdb.c 17 Oct 2007 00:32:26 -0000      1.187
  @@ -3140,7 +3140,7 @@
        he_p.i32p = &tid;
        he_c = 1;
        if (!headerIsEntry(h, he->tag))
  -        xx = hae(h, he->tag, he_t, he_p, he_c);
  +        xx = hae(h, he->tag, he_t, &he_p, he_c);
       }
   
       /* Add the package color if not present. */
  @@ -3150,7 +3150,7 @@
        he_t = RPM_INT32_TYPE;
        he_p.ui32p = &hcolor;
        he_c = 1;
  -     xx = hae(h, he->tag, he_t, he_p, he_c);
  +     xx = hae(h, he->tag, he_t, &he_p, he_c);
       }
   
   #if defined(SUPPORT_RPMV3_BASENAMES_HACKS)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/signature.c
  ============================================================================
  $ cvs diff -u -r1.9 -r1.10 signature.c
  --- rpm/rpmdb/signature.c     16 Oct 2007 20:16:16 -0000      1.9
  +++ rpm/rpmdb/signature.c     17 Oct 2007 00:32:26 -0000      1.10
  @@ -578,7 +578,7 @@
   
        if (SHA1 == NULL)
            goto exit;
  -     if (!headerAddEntry(sigh, RPMSIGTAG_SHA1, RPM_STRING_TYPE, (hPTR_t) 
SHA1, 1)) /* NOCAST */
  +     if (!headerAddEntry(sigh, RPMSIGTAG_SHA1, RPM_STRING_TYPE, SHA1, 1))
            goto exit;
        ret = 0;
        break;
  @@ -596,7 +596,7 @@
            goto exit;
        (void) Fclose(fd);      fd = NULL;
        if (makeGPGSignature(fn, &sigTag, &pkt, &pktlen, passPhrase)
  -      || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, (hPTR_t) pkt, pktlen)) 
/* NOCAST */
  +      || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
            goto exit;
        ret = 0;
        break;
  @@ -646,7 +646,7 @@
        if (Stat(file, &st) != 0)
            break;
        pktlen = st.st_size;
  -     if (!headerAddEntry(sigh, sigTag, RPM_INT32_TYPE, (hPTR_t) &pktlen, 1)) 
/* NOCAST */
  +     if (!headerAddEntry(sigh, sigTag, RPM_INT32_TYPE, &pktlen, 1))
            break;
        ret = 0;
        break;
  @@ -654,7 +654,7 @@
        pktlen = 16;
        pkt = memset(alloca(pktlen), 0, pktlen);
        if (dodigest(PGPHASHALGO_MD5, file, pkt, 0, NULL)
  -      || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, (hPTR_t) pkt, pktlen))  
/* NOCAST */
  +      || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
            break;
        ret = 0;
        break;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to