RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
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 @@
*/
/*@mayexit@*/
/*@unused@*/ 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)
/*@modifies 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 @@
*/
/*@unused@*/ static inline
int headerAppendEntry(Header h, int_32 tag, rpmTagType type,
- hPTR_t p, rpmTagCount c)
+ const void * p, rpmTagCount c)
/*@modifies 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 @@
*/
/*@unused@*/ static inline
int headerAddOrAppendEntry(Header h, int_32 tag, rpmTagType type,
- hPTR_t p, rpmTagCount c)
+ const void * p, rpmTagCount c)
/*@modifies 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 @@
*/
/*@unused@*/ static inline
int headerModifyEntry(Header h, int_32 tag, rpmTagType type,
- hPTR_t p, rpmTagCount c)
+ const void * p, rpmTagCount c)
/*@modifies 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,
/*@null@*/ /*@out@*/ hTAG_t tag,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ hPTR_t * p,
+ /*@null@*/ /*@out@*/ const void * p,
/*@null@*/ /*@out@*/ hCNT_t c)
/*@modifies 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,
- /*@null@*/ hPTR_t pend)
+static int dataLength(rpmTagType type, hRET_t p, rpmTagCount count, int onDisk,
+ /*@null@*/ hRET_t pend)
/*@*/
{
- 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)
/*@modifies *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,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ hPTR_t * p,
+ /*@null@*/ /*@out@*/ hRET_t * p,
/*@null@*/ /*@out@*/ hCNT_t c,
int minMem)
/*@modifies *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;
}
/*@fallthrough@*/
@@ -1539,14 +1541,11 @@
/*@-mods@*/
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);
}
/*@=mods@*/
@@ -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,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ hPTR_t * p,
+ /*@null@*/ /*@out@*/ hRET_t * p,
/*@null@*/ /*@out@*/ hCNT_t c,
int minMem)
/*@modifies *type, *p, *c @*/
@@ -1730,7 +1729,7 @@
/*@mods@*/
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;
/*@-dependenttrans@*/
- if (p) *p = (hPTR_t) headerFindI18NString(h, entry); /* NOCAST */
+ if (p) (*p).ptr = headerFindI18NString(h, entry);
/*@=dependenttrans@*/
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, /*@out@*/ void * dstPtr, const void * srcPtr,
+static void copyData(rpmTagType type, /*@out@*/ void * dstPtr, hRET_t srcPtr,
rpmTagCount cnt, int dataLength)
/*@modifies *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 @@
*/
/*@null@*/
static void *
-grabData(rpmTagType type, hPTR_t p, rpmTagCount c, /*@out@*/ int * lenp)
+grabData(rpmTagType type, hRET_t p, rpmTagCount c, /*@out@*/ int * lenp)
/*@modifies *lenp @*/
/*@requires 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)
/*@modifies 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)
/*@modifies 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)
/*@modifies h @*/
{
return (findEntry(h, tag, type)
@@ -2207,7 +2206,7 @@
/*@modifies 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')) {
/*@-observertrans -readonlytrans@*/
- charArray[count++] = "C";
+ p.argv[count++] = "C";
/*@=observertrans =readonlytrans@*/
} else {
/*@-observertrans -readonlytrans@*/
- charArray[count++] = "C";
+ p.argv[count++] = "C";
/*@=observertrans =readonlytrans@*/
- 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)
/*@modifies 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,
/*@null@*/ /*@out@*/ hTAG_t tag,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ hPTR_t * p,
+ /*@null@*/ /*@out@*/ hRET_t * p,
/*@null@*/ /*@out@*/ hCNT_t c)
/*@modifies hi, *tag, *type, *p, *c @*/
/*@requires 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)
/*@modifies 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)
/*@modifies 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)
/*@modifies 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)
/*@modifies h @*/;
/** \ingroup header
@@ -800,7 +800,7 @@
int (*HDRnextiter) (HeaderIterator hi,
/*@null@*/ /*@out@*/ hTAG_t tag,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ hPTR_t * p,
+ /*@null@*/ /*@out@*/ hRET_t * p,
/*@null@*/ /*@out@*/ hCNT_t c)
/*@modifies 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)
*/
/*@unused@*/
-/*@only@*/ /*@null@*/ char ** headerGetLangs(Header h)
+/*@only@*/ /*@null@*/ const char ** headerGetLangs(Header h)
/*@*/;
/** \ingroup header
@@ -217,7 +217,7 @@
/*@-incondefs@*/
int headerGetRawEntry(Header h, int_32 tag,
/*@null@*/ /*@out@*/ hTYP_t type,
- /*@null@*/ /*@out@*/ void * p,
+ /*@null@*/ /*@out@*/ hRET_t * p,
/*@null@*/ /*@out@*/ hCNT_t c)
/*@modifies *type, *p, *c @*/
/*@requires 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;
@@ .
Received on Wed Oct 17 02:32:27 2007