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: 09-Sep-2007 01:44:01 Branch: HEAD Handle: 2007090900440000 Modified files: rpm CHANGES rpm/python header-py.c rpmmodule.c rpm/rpmdb hdrinline.h header.c header.h pkgio.c rpmdb.c Log: - jbj: add size_t *lenp to headerUnload(). - jbj: consistent naming in rpmdb/pkgio.c. Summary: Revision Changes Path 1.1628 +2 -0 rpm/CHANGES 1.56 +10 -7 rpm/python/header-py.c 1.154 +1 -1 rpm/python/rpmmodule.c 1.13 +4 -2 rpm/rpmdb/hdrinline.h 1.65 +17 -34 rpm/rpmdb/header.c 1.23 +3 -2 rpm/rpmdb/header.h 1.4 +18 -10 rpm/rpmdb/pkgio.c 1.157 +12 -8 rpm/rpmdb/rpmdb.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.1627 -r1.1628 CHANGES --- rpm/CHANGES 8 Sep 2007 22:42:35 -0000 1.1627 +++ rpm/CHANGES 8 Sep 2007 23:44:00 -0000 1.1628 @@ -1,4 +1,6 @@ 4.5 -> 5.0: + - jbj: add size_t *lenp to headerUnload(). + - jbj: consistent naming in rpmdb/pkgio.c - jbj: eliminate rpmNewSignature() and rpmFreeSignature(). - jbj: bury rpmReadSignature/rpmWriteSignature. - jbj: rip rpmtsCleanDig() inlining the code. @@ . patch -p0 <<'@@ .' Index: rpm/python/header-py.c ============================================================================ $ cvs diff -u -r1.55 -r1.56 header-py.c --- rpm/python/header-py.c 31 Aug 2007 22:01:22 -0000 1.55 +++ rpm/python/header-py.c 8 Sep 2007 23:44:00 -0000 1.56 @@ -9,7 +9,7 @@ #include "legacy.h" #include "misc.h" -#include "header_internal.h" +#include "header_internal.h" /* XXX HEADERFLAG_ALLOCATED */ #include "rpmts.h" /* XXX rpmtsCreate/rpmtsFree */ #define _RPMEVR_INTERNAL @@ -449,7 +449,8 @@ { char * buf; PyObject * rc; - int len, legacy = 0; + int legacy = 0; + int nb; Header h; static char *kwlist[] = { "legacyHeader", NULL}; @@ -462,17 +463,19 @@ h = headerCopy(s->h); /* XXX strip region tags, etc */ headerFree(s->h); } - len = headerSizeof(h); - len -= 8; /* XXX HEADER_MAGIC_NO */ - buf = headerUnload(h); + { size_t len; + buf = headerUnload(h, &len); + nb = len; + nb -= 8; /* XXX HEADER_MAGIC_NO */ + } h = headerFree(h); - if (buf == NULL || len == 0) { + if (buf == NULL || nb == 0) { PyErr_SetString(pyrpmError, "can't unload bad header\n"); return NULL; } - rc = PyString_FromStringAndSize(buf, len); + rc = PyString_FromStringAndSize(buf, nb); buf = _free(buf); return rc; @@ . patch -p0 <<'@@ .' Index: rpm/python/rpmmodule.c ============================================================================ $ cvs diff -u -r1.153 -r1.154 rpmmodule.c --- rpm/python/rpmmodule.c 10 Aug 2007 19:01:19 -0000 1.153 +++ rpm/python/rpmmodule.c 8 Sep 2007 23:44:00 -0000 1.154 @@ -11,7 +11,7 @@ #include "legacy.h" #include "misc.h" -#include "header_internal.h" +#include "header.h" #include "header-py.h" #include "rpmal-py.h" @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/hdrinline.h ============================================================================ $ cvs diff -u -r1.12 -r1.13 hdrinline.h --- rpm/rpmdb/hdrinline.h 17 Aug 2007 05:36:05 -0000 1.12 +++ rpm/rpmdb/hdrinline.h 8 Sep 2007 23:44:00 -0000 1.13 @@ -128,13 +128,15 @@ /** \ingroup header * Convert header to on-disk representation. * @param h header (with pointers) + * @retval *lenp length of header in bytes (or NULL); * @return on-disk header blob (i.e. with offsets) */ /[EMAIL PROTECTED]@*/ static inline -/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * headerUnload(Header h) +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ +void * headerUnload(Header h, size_t * lenp) /[EMAIL PROTECTED] h @*/ { - return (h2hv(h)->hdrunload) (h); + return (h2hv(h)->hdrunload) (h, lenp); } /** \ingroup header @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/header.c ============================================================================ $ cvs diff -u -r1.64 -r1.65 header.c --- rpm/rpmdb/header.c 8 Sep 2007 18:55:46 -0000 1.64 +++ rpm/rpmdb/header.c 8 Sep 2007 23:44:00 -0000 1.65 @@ -602,14 +602,14 @@ /** \ingroup header * @param h header - * @retval *lengthPtr no. bytes in unloaded header blob + * @retval *lenp no. bytes in unloaded header blob * @return unloaded header blob (NULL on error) */ -static /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * doHeaderUnload(Header h, - /[EMAIL PROTECTED]@*/ int * lengthPtr) - /[EMAIL PROTECTED] h, *lengthPtr @*/ - /[EMAIL PROTECTED] maxSet(lengthPtr) >= 0 @*/ - /[EMAIL PROTECTED] maxRead(result) == (*lengthPtr) @*/ +static /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ +void * headerUnload(Header h, /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ size_t * lenp) + /[EMAIL PROTECTED] h, *lenp @*/ + /[EMAIL PROTECTED] maxSet(lenp) >= 0 @*/ + /[EMAIL PROTECTED] maxRead(result) == (*lenp) @*/ { void * sw; int_32 * ei = NULL; @@ -872,8 +872,8 @@ if ((((char *)ei)+len) != te) goto errxit; - if (lengthPtr) - *lengthPtr = len; + if (lenp) + *lenp = len; h->flags &= ~HEADERFLAG_SORTED; headerSort(h); @@ -890,22 +890,6 @@ return (void *) ei; } -/** \ingroup header - * Convert header to on-disk representation. - * @param h header (with pointers) - * @return on-disk header blob (i.e. with offsets) - */ -static /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ -void * headerUnload(Header h) - /[EMAIL PROTECTED] h @*/ -{ - int length; -/[EMAIL PROTECTED]@*/ - void * uh = doHeaderUnload(h, &length); -/[EMAIL PROTECTED]@*/ - return uh; -} - /** * Find matching (tag,type) entry in header. * @param h header @@ -1298,10 +1282,9 @@ /[EMAIL PROTECTED] h @*/ { Header nh; - int length; /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ - void * uh = doHeaderUnload(h, &length); + void * uh = headerUnload(h, NULL); /[EMAIL PROTECTED]@*/ const char * origin; int_32 instance = h->instance; @@ -1472,13 +1455,13 @@ { FD_t fd = _fd; ssize_t nb; - int length; + size_t length; const void * uh; if (h == NULL) return 1; /[EMAIL PROTECTED]@*/ - uh = doHeaderUnload(h, &length); + uh = headerUnload(h, &length); /[EMAIL PROTECTED]@*/ if (uh == NULL) return 1; @@ -2051,14 +2034,14 @@ * @param type entry data type * @param p entry data * @param c entry item count - * @retval lengthPtr no. bytes in returned data + * @retval *lenp no. bytes in returned data * @return (malloc'ed) copy of entry data, NULL on error */ /[EMAIL PROTECTED]@*/ static void * -grabData(int_32 type, hPTR_t p, int_32 c, /[EMAIL PROTECTED]@*/ int * lengthPtr) - /[EMAIL PROTECTED] *lengthPtr @*/ - /[EMAIL PROTECTED] maxSet(lengthPtr) >= 0 @*/ +grabData(int_32 type, hPTR_t p, int_32 c, /[EMAIL PROTECTED]@*/ int * lenp) + /[EMAIL PROTECTED] *lenp @*/ + /[EMAIL PROTECTED] maxSet(lenp) >= 0 @*/ { void * data = NULL; int length; @@ -2071,8 +2054,8 @@ } /[EMAIL PROTECTED]@*/ - if (lengthPtr) - *lengthPtr = length; + if (lenp) + *lenp = length; return data; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/header.h ============================================================================ $ cvs diff -u -r1.22 -r1.23 header.h --- rpm/rpmdb/header.h 19 Aug 2007 19:45:47 -0000 1.22 +++ rpm/rpmdb/header.h 8 Sep 2007 23:44:00 -0000 1.23 @@ -408,11 +408,12 @@ /** \ingroup header * Convert header to on-disk representation. * @param h header (with pointers) + * @retval *lenp length of header in bytes (or NULL); * @return on-disk header blob (i.e. with offsets) */ typedef -/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * (*HDRunload) (Header h) - /[EMAIL PROTECTED] h @*/; +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * (*HDRunload) (Header h, size_t * lenp) + /[EMAIL PROTECTED] h, *lenp @*/; /** \ingroup header * Convert header to on-disk representation, and then reload. @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/pkgio.c ============================================================================ $ cvs diff -u -r1.3 -r1.4 pkgio.c --- rpm/rpmdb/pkgio.c 8 Sep 2007 22:17:55 -0000 1.3 +++ rpm/rpmdb/pkgio.c 8 Sep 2007 23:44:00 -0000 1.4 @@ -20,8 +20,8 @@ #include "debug.h" -/[EMAIL PROTECTED] entryInfo @*/ /* XXX rpmReadSignature */ -/[EMAIL PROTECTED] indexEntry @*/ /* XXX rpmReadSignature */ +/[EMAIL PROTECTED] entryInfo @*/ /* XXX rdSignature */ +/[EMAIL PROTECTED] indexEntry @*/ /* XXX rdSignature */ /** * Signature types stored in rpm lead. @@ -75,7 +75,7 @@ * @param *msg name to include in lead * @return RPMRC_OK on success, RPMRC_FAIL on error */ -static rpmRC writeLead(FD_t fd, void * ptr, const char ** msg) +static rpmRC wrLead(FD_t fd, void * ptr, const char ** msg) /[EMAIL PROTECTED] fileSystem @*/ /[EMAIL PROTECTED] fd, fileSystem @*/ { @@ -116,7 +116,7 @@ * @retval *msg failure msg * @return rpmRC return code */ -static rpmRC readLead(FD_t fd, void * ptr, const char ** msg) +static rpmRC rdLead(FD_t fd, void * ptr, const char ** msg) /[EMAIL PROTECTED] fd, *lead, *msg @*/ { struct rpmlead ** leadp = ptr; @@ -204,7 +204,7 @@ * @retval *msg failure msg * @return rpmRC return code */ -static rpmRC rpmWriteSignature(void * _fd, void * ptr, const char ** msg) +static rpmRC wrSignature(void * _fd, void * ptr, const char ** msg) /[EMAIL PROTECTED] fileSystem @*/ /[EMAIL PROTECTED] _fd, sigh, fileSystem @*/ { @@ -277,7 +277,7 @@ * @retval *msg failure msg * @return rpmRC return code */ -static rpmRC rpmReadSignature(void * _fd, void * ptr, const char ** msg) +static rpmRC rdSignature(void * _fd, void * ptr, const char ** msg) /[EMAIL PROTECTED] fileSystem @*/ /[EMAIL PROTECTED] _fd, *ptr, *msg, fileSystem @*/ { @@ -483,9 +483,13 @@ rpmRC rc = RPMRC_FAIL; if (!strcmp(fn, "Lead")) - return readLead(fd, ptr, msg); + return rdLead(fd, ptr, msg); if (!strcmp(fn, "Signature")) - return rpmReadSignature(fd, ptr, msg); + return rdSignature(fd, ptr, msg); +#ifdef NOTYET + if (!strcmp(fn, "Header")) + return rdHeader(fd, ptr, msg); +#endif return rc; } @@ -494,9 +498,13 @@ rpmRC rc = RPMRC_FAIL; if (!strcmp(fn, "Lead")) - return writeLead(fd, ptr, msg); + return wrLead(fd, ptr, msg); if (!strcmp(fn, "Signature")) - return rpmWriteSignature(fd, ptr, msg); + return wrSignature(fd, ptr, msg); +#ifdef NOTYET + if (!strcmp(fn, "Header")) + return wrHeader(fd, ptr, msg); +#endif return rc; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmdb/rpmdb.c ============================================================================ $ cvs diff -u -r1.156 -r1.157 rpmdb.c --- rpm/rpmdb/rpmdb.c 8 Sep 2007 15:45:19 -0000 1.156 +++ rpm/rpmdb/rpmdb.c 8 Sep 2007 23:44:00 -0000 1.157 @@ -1862,9 +1862,11 @@ (void) headerGetMagic(mi->mi_h, NULL, &nb); /[EMAIL PROTECTED]@*/ key->data = (void *) &mi->mi_prevoffset; key->size = sizeof(mi->mi_prevoffset); - data->data = headerUnload(mi->mi_h); - data->size = headerSizeof(mi->mi_h); - data->size -= nb; /* XXX HEADER_MAGIC_NO */ + { size_t len; + data->data = headerUnload(mi->mi_h, &len); + data->size = len; /* XXX data->size is uint32_t */ + data->size -= nb; /* XXX HEADER_MAGIC_NO */ + } /* Check header digest/signature on blob export (if requested). */ if (mi->mi_hdrchk && mi->mi_ts) { @@ -3317,11 +3319,13 @@ key->data = (void *) &mi_offset; /[EMAIL PROTECTED]@*/ key->size = sizeof(mi_offset.ui); -nb = 0; -(void) headerGetMagic(h, NULL, &nb); -data->data = headerUnload(h); -data->size = headerSizeof(h); -data->size -= nb; /* XXX HEADER_MAGIC_NO */ +{ size_t len; + nb = 0; + (void) headerGetMagic(h, NULL, &nb); + data->data = headerUnload(h, &len); + data->size = len; /* XXX data->size is uint32_t */ + data->size -= nb; /* XXX HEADER_MAGIC_NO */ +} /* Check header digest/signature on blob export. */ if (hdrchk && ts) { @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org