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

Reply via email to