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:   02-Aug-2007 19:30:13
  Branch: HEAD                             Handle: 2007080218301200

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

  Log:
    - add headerGetExtension(), mapped to gud old stuff for now.

  Summary:
    Revision    Changes     Path
    1.1547      +1  -0      rpm/CHANGES
    1.11        +21 -0      rpm/rpmdb/hdrinline.h
    1.56        +22 -0      rpm/rpmdb/header.c
    1.18        +18 -0      rpm/rpmdb/header.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1546 -r1.1547 CHANGES
  --- rpm/CHANGES       2 Aug 2007 17:15:41 -0000       1.1546
  +++ rpm/CHANGES       2 Aug 2007 17:30:12 -0000       1.1547
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: add headerGetExtension(), mapped to gud old stuff for now.
       - jbj: skeletal configgery for standalone index tables.
       - jbj: another header-extension-less hack-a-round.
       - jbj: hack up a NVRA retrival w/o extensions, sigh.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/hdrinline.h
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 hdrinline.h
  --- rpm/rpmdb/hdrinline.h     30 Jul 2007 17:34:37 -0000      1.10
  +++ rpm/rpmdb/hdrinline.h     2 Aug 2007 17:30:12 -0000       1.11
  @@ -249,6 +249,27 @@
       return (h2hv(h)->hdrfreetag) (h, data, type);
   }
   
  +/*
  + * Retrieve extension or tag value.
  + *
  + * @param h          header
  + * @param tag                tag
  + * @retval *type     tag value data type (or NULL)
  + * @retval *p                tag value(s) (or NULL)
  + * @retval *c                number of values (or NULL)
  + * @return           1 on success, 0 on failure
  + */
  +/[EMAIL PROTECTED]@*/ static inline
  +int headerGetExtension(Header h, int_32 tag,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * p,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
  +     /[EMAIL PROTECTED] *type, *p, *c @*/
  +{
  +    if (h == NULL) return 0;
  +    return (h2hv(h)->hdrext) (h, tag, type, p, c);
  +}
  +
   /** \ingroup header
    * Retrieve tag value.
    * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  ============================================================================
  $ cvs diff -u -r1.55 -r1.56 header.c
  --- rpm/rpmdb/header.c        30 Jul 2007 20:24:35 -0000      1.55
  +++ rpm/rpmdb/header.c        2 Aug 2007 17:30:12 -0000       1.56
  @@ -1827,6 +1827,27 @@
   }
   
   /** \ingroup header
  + * Retrieve extension or tag value.
  + *
  + * @param h          header
  + * @param tag                tag
  + * @retval *type     tag value data type (or NULL)
  + * @retval *p                tag value(s) (or NULL)
  + * @retval *c                number of values (or NULL)
  + * @return           1 on success, 0 on failure
  + */
  +static
  +int headerGetExtension(Header h, int_32 tag,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * p,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
  +     /[EMAIL PROTECTED] *type, *p, *c @*/
  +     /[EMAIL PROTECTED] maxSet(type) >= 0 /\ maxSet(p) >= 0 /\ maxSet(c) >= 
0 @*/
  +{
  +    return intGetEntry(h, tag, type, (hPTR_t *)p, c, 1);
  +}
  +
  +/** \ingroup header
    * Retrieve tag value.
    * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with
    * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE
  @@ -4003,6 +4024,7 @@
       headerWrite,
       headerIsEntry,
       headerFreeTag,
  +    headerGetExtension,
       headerGetEntry,
       headerGetEntryMinMemory,
       headerAddEntry,
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.h
  ============================================================================
  $ cvs diff -u -r1.17 -r1.18 header.h
  --- rpm/rpmdb/header.h        30 Jul 2007 17:34:37 -0000      1.17
  +++ rpm/rpmdb/header.h        2 Aug 2007 17:30:12 -0000       1.18
  @@ -486,6 +486,23 @@
        /[EMAIL PROTECTED] data @*/;
   
   /** \ingroup header
  + * Retrieve extension or tag value.
  + *
  + * @param h          header
  + * @param tag                tag
  + * @retval *type     tag value data type (or NULL)
  + * @retval *p                tag value(s) (or NULL)
  + * @retval *c                number of values (or NULL)
  + * @return           1 on success, 0 on failure
  + */
  +typedef
  +int (*HDRext) (Header h, int_32 tag,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hTYP_t type,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ void * p,
  +                     /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ hCNT_t c)
  +     /[EMAIL PROTECTED] *type, *p, *c @*/;
  +
  +/** \ingroup header
    * Retrieve tag value.
    * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with
    * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE
  @@ -749,6 +766,7 @@
       HDRwrite hdrwrite;
       HDRisentry       hdrisentry;
       HDRfreetag       hdrfreetag;
  +    HDRext   hdrext;
       HDRget   hdrget;
       HDRgetmin        hdrgetmin;
       HDRadd   hdradd;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to