Diff for /servers/slapd/slapcat.c between versions 1.2 and 1.2.2.4

version 1.2, 2004/09/08 19:44:28 version 1.2.2.4, 2006/01/03 22:16:16
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/slapcat.c,v 1.1 2004/02/26 18:03:42 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/slapcat.c,v 1.2.2.3 2005/06/10 22:02:55 kurt Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 1998-2004 The OpenLDAP Foundation.   * Copyright 1998-2006 The OpenLDAP Foundation.
  * Portions Copyright 1998-2003 Kurt D. Zeilenga.   * Portions Copyright 1998-2003 Kurt D. Zeilenga.
  * Portions Copyright 2003 IBM Corporation.   * Portions Copyright 2003 IBM Corporation.
  * All rights reserved.   * All rights reserved.
Line 30 Line 30
 #include <ac/string.h>  #include <ac/string.h>
   
 #include "slapcommon.h"  #include "slapcommon.h"
   #include "ldif.h"
   
   static int gotsig;
   
   static RETSIGTYPE
   slapcat_sig( int sig )
   {
           gotsig=1;
   }
   
 int  int
 slapcat( int argc, char **argv )  slapcat( int argc, char **argv )
Line 41  slapcat( int argc, char **argv ) Line 50  slapcat( int argc, char **argv )
   
         slap_tool_init( progname, SLAPCAT, argc, argv );          slap_tool_init( progname, SLAPCAT, argc, argv );
   
   #ifdef SIGPIPE
           (void) SIGNAL( SIGPIPE, slapcat_sig );
   #endif
   #ifdef SIGHUP
           (void) SIGNAL( SIGHUP, slapcat_sig );
   #endif
           (void) SIGNAL( SIGINT, slapcat_sig );
           (void) SIGNAL( SIGTERM, slapcat_sig );
   
         if( !be->be_entry_open ||          if( !be->be_entry_open ||
                 !be->be_entry_close ||                  !be->be_entry_close ||
                 !be->be_entry_first ||                  !be->be_entry_first ||
Line 58  slapcat( int argc, char **argv ) Line 76  slapcat( int argc, char **argv )
                 exit( EXIT_FAILURE );                  exit( EXIT_FAILURE );
         }          }
   
           op.o_bd = be;
         for ( id = be->be_entry_first( be );          for ( id = be->be_entry_first( be );
                 id != NOID;                  id != NOID;
                 id = be->be_entry_next( be ) )                  id = be->be_entry_next( be ) )
         {          {
                 char *data;                  char *data;
                 int len;                  int len;
                 Entry* e = be->be_entry_get( be, id );                  Entry* e;
                 op.o_bd = be;  
   
                   if ( gotsig )
                           break;
   
                   e = be->be_entry_get( be, id );
                 if ( e == NULL ) {                  if ( e == NULL ) {
                         printf("# no data for entry id=%08lx\n\n", (long) id );                          printf("# no data for entry id=%08lx\n\n", (long) id );
                         rc = EXIT_FAILURE;                          rc = EXIT_FAILURE;
Line 87  slapcat( int argc, char **argv ) Line 109  slapcat( int argc, char **argv )
                         }                          }
                 }                  }
   
                 if ( retrieve_ctxcsn == 0 ) {  
                         if ( is_entry_syncProviderSubentry( e ) ) {  
                                 be_entry_release_r( &op, e );  
                                 continue;  
                         }  
                 }  
   
                 if ( retrieve_synccookie == 0 ) {  
                         if ( is_entry_syncConsumerSubentry( e ) ) {  
                                 be_entry_release_r( &op, e );  
                                 continue;  
                         }  
                 }  
   
                 if( verbose ) {                  if( verbose ) {
                         printf( "# id=%08lx\n", (long) id );                          printf( "# id=%08lx\n", (long) id );
                 }                  }
Line 115  slapcat( int argc, char **argv ) Line 123  slapcat( int argc, char **argv )
                         break;                          break;
                 }                  }
   
                 fputs( data, ldiffp );                  fputs( data, ldiffp->fp );
                 fputs( "\n", ldiffp );                  fputs( "\n", ldiffp->fp );
         }          }
   
         be->be_entry_close( be );          be->be_entry_close( be );

Removed from v.1.2  
changed lines
  Added in v.1.2.2.4


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org