RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/rpmdb/ rpmdb.c

From: Alexey Tourbin <at@rpm5.org>
Date: Fri 29 Aug 2008 - 10:14:56 CEST
Message-Id: <20080829081456.71FCE7787B@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Alexey Tourbin
  Root:   /v/rpm/cvs                       Email:  at@rpm5.org
  Module: rpm                              Date:   29-Aug-2008 10:14:56
  Branch: HEAD                             Handle: 2008082908145600

  Modified files:
    rpm/rpmdb               rpmdb.c

  Log:
    rpmdb.c (rpmdbNextIterator): replaced tail calls back with gotos

  Summary:
    Revision    Changes     Path
    1.271       +4  -3      rpm/rpmdb/rpmdb.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.270 -r1.271 rpmdb.c
  --- rpm/rpmdb/rpmdb.c	27 Aug 2008 12:58:24 -0000	1.270
  +++ rpm/rpmdb/rpmdb.c	29 Aug 2008 08:14:56 -0000	1.271
  @@ -2360,6 +2360,7 @@
       if (mi->mi_dbc == NULL)
   	xx = dbiCopen(dbi, dbi->dbi_txnid, &mi->mi_dbc, mi->mi_cflags);
   
  +next:
       if (mi->mi_set) {
   	/* The set of header instances is known in advance. */
   	if (!(mi->mi_setx < mi->mi_set->count))
  @@ -2449,7 +2450,7 @@
   
   	    /* Skip damaged and inconsistent headers. */
   	    if (rpmrc == RPMRC_FAIL)
  -		return rpmdbNextIterator(mi); /* tail call */
  +		goto next;
   	}
       }
   
  @@ -2467,12 +2468,12 @@
   	rpmlog(RPMLOG_ERR,
   		_("rpmdb: damaged header #%u retrieved -- skipping.\n"),
   		mi->mi_offset);
  -	return rpmdbNextIterator(mi); /* tail call */
  +	goto next;
       }
   
       /* Skip this header if iterator selector (if any) doesn't match. */
       if (mireSkip(mi))
  -	return rpmdbNextIterator(mi); /* tail call */
  +	goto next;
   
       /* Mark header with its instance number. */
       {	char origin[32];
  @@ .
Received on Fri Aug 29 10:14:56 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.