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:   06-Oct-2007 19:46:46
  Branch: HEAD                             Handle: 2007100618464600

  Modified files:
    rpm                     CHANGES
    rpm/rpmio               .splintrc mire.c mire.h

  Log:
    - start making miRE abstract and refcounted.
    rescuscitate rpmio splint.

  Summary:
    Revision    Changes     Path
    1.1655      +1  -0      rpm/CHANGES
    1.13        +41 -1      rpm/rpmio/.splintrc
    1.4         +24 -0      rpm/rpmio/mire.c
    1.4         +29 -3      rpm/rpmio/mire.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1654 -r1.1655 CHANGES
  --- rpm/CHANGES       6 Oct 2007 16:50:03 -0000       1.1654
  +++ rpm/CHANGES       6 Oct 2007 17:46:46 -0000       1.1655
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: start making miRE abstract and refcounted.
       - jbj: convert rel to abs linkto depedency iff directory is known.
       - rpm.org: correct typo in comment.
       - rse: remove all compile-time warnings caused by recent changes
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/.splintrc
  ============================================================================
  $ cvs diff -u -r1.12 -r1.13 .splintrc
  --- rpm/rpmio/.splintrc       30 May 2007 03:46:22 -0000      1.12
  +++ rpm/rpmio/.splintrc       6 Oct 2007 17:46:46 -0000       1.13
  @@ -1,4 +1,4 @@
  --I. -I.. -I../neon/src -I../lua/include -I../lua/include/local -I../beecrypt 
-I../popt -I../zlib -DHAVE_CONFIG_H -D_GNU_SOURCE 
-DHAVE_NEON_NE_GET_RESPONSE_HEADER -D__STDC__=1 
-DHAVE_NEON_NE_GET_RESPONSE_HEADER
  +-I. -I.. -I../file/src -I/usr/include/neon -I../lua -I../lua/local 
-I/usr/include/beecrypt -I../zlib -DHAVE_CONFIG_H -D_GNU_SOURCE -D__STDC__=1 
-DHAVE_NEON_NE_GET_RESPONSE_HEADER
   
   +partial
   +forcehints
  @@ -17,6 +17,46 @@
   -shiftimplementation
   -shiftnegative
   
  +-assignexpose
  +-branchstate
  +-compdef
  +-compmempass
  +-evalorderuncon
  +-globs
  +-globstate
  +-globuse
  +-internalglobs
  +-modfilesys
  +-modobserver
  +-mods
  +-moduncon
  +-modunconnomods
  +-mustmod
  +-noeffect
  +-noeffectuncon
  +-nullderef
  +-nullpass
  +-nullret
  +-nullstate
  +-paramuse
  +-protoparammatch
  +-redecl
  +-refcounttrans
  +-retalias
  +-retexpose
  +-sefuncon
  +-sizeoftype
  +-sysunrecog
  +-unreachable
  +-unrecog
  +
  +-dependenttrans
  +-immediatetrans
  +-observertrans
  +-readonlytrans
  +-temptrans
  +-type
  +
   -forempty
   -looploopbreak
   -nullptrarith
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/mire.c
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 mire.c
  --- rpm/rpmio/mire.c  1 Aug 2007 17:58:37 -0000       1.3
  +++ rpm/rpmio/mire.c  6 Oct 2007 17:46:46 -0000       1.4
  @@ -43,6 +43,30 @@
       return 0;
   }
   
  +miRE XmireUnlink(miRE mire, const char * msg, const char * fn, unsigned ln)
  +{
  +    if (mire == NULL) return NULL;
  +/[EMAIL PROTECTED]@*/
  +if (_mire_debug && msg != NULL)
  +fprintf(stderr, "--> mire %p -- %d %s at %s:%u\n", mire, mire->nrefs, msg, 
fn, ln);
  +/[EMAIL PROTECTED]@*/
  +    mire->nrefs--;
  +    return NULL;
  +}
  +
  +miRE XmireLink(miRE mire, const char * msg, const char * fn, unsigned ln)
  +{
  +    if (mire == NULL) return NULL;
  +    mire->nrefs++;
  +
  +/[EMAIL PROTECTED]@*/
  +if (_mire_debug && msg != NULL)
  +fprintf(stderr, "--> mire %p ++ %d %s at %s:%u\n", mire, mire->nrefs, msg, 
fn, ln);
  +/[EMAIL PROTECTED]@*/
  +
  +    /[EMAIL PROTECTED]@*/ return mire; /[EMAIL PROTECTED]@*/
  +}
  +
   miRE mireFree(miRE mire)
   {
   /[EMAIL PROTECTED]@*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/mire.h
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 mire.h
  --- rpm/rpmio/mire.h  1 Aug 2007 15:55:29 -0000       1.3
  +++ rpm/rpmio/mire.h  6 Oct 2007 17:46:46 -0000       1.4
  @@ -38,7 +38,7 @@
   
   /**
    */
  -typedef struct miRE_s * miRE;
  +typedef /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ struct miRE_s * miRE;
   
   /**
    * Tag value pattern match mode.
  @@ -64,6 +64,7 @@
       int      eflags;         /*!< regexec(3) flags */
       int notmatch;            /*!< non-zero: negative match, like "grep -v" */
       int tag;                 /*!< sort identifier (e.g. an rpmTag) */
  +    int nrefs;                       /*!< Reference count. */
   };
   #endif       /* defined(_MIRE_INTERNAL) */
   
  @@ -79,19 +80,44 @@
   int mireClean(miRE mire)
        /[EMAIL PROTECTED] mire @*/;
   
  +/[EMAIL PROTECTED]@*/
  +/[EMAIL PROTECTED]@*/
  +miRE XmireUnlink (/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL 
PROTECTED]@*/ miRE mire,
  +             /[EMAIL PROTECTED]@*/ const char * msg, const char * fn, 
unsigned ln)
  +     /[EMAIL PROTECTED] mire @*/;
  +/[EMAIL PROTECTED]@*/
  +#define      mireUnlink(_mire, _msg) XmireUnlink(_mire, _msg, __FILE__, 
__LINE__)
  +
  +/**
  + * Reference a pattern container instance.
  + * @param mire               pattern container
  + * @param msg
  + * @return           new pattern container reference
  + */
  +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/
  +miRE mireLink (/[EMAIL PROTECTED]@*/ miRE mire, /[EMAIL PROTECTED]@*/ const 
char * msg)
  +     /[EMAIL PROTECTED] mire @*/;
  +
  +/** @todo Remove debugging entry from the ABI. */
  +/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/
  +miRE XmireLink (/[EMAIL PROTECTED]@*/ miRE mire, /[EMAIL PROTECTED]@*/ const 
char * msg,
  +             const char * fn, unsigned ln)
  +        /[EMAIL PROTECTED] mire @*/;
  +#define      mireLink(_mire, _msg)   XmireLink(_mire, _msg, __FILE__, 
__LINE__)
  +
   /**
    * Free pattern container.
    * @param mire               pattern container
    * @return           NULL always
    */
   /[EMAIL PROTECTED]@*/
  -miRE mireFree(/[EMAIL PROTECTED]@*/ miRE mire)
  +miRE mireFree(/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /[EMAIL 
PROTECTED]@*/ miRE mire)
        /[EMAIL PROTECTED] mire @*/;
   
   /**
    * Create pattern container.
    * @param mode               type of pattern match
  - * @param tag                identifier (like an rpmTag)
  + * @param tag                identifier (e.g. an rpmTag)
    * @return           NULL always
    */
   miRE mireNew(rpmMireMode mode, int tag)
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to