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