/* $OpenLDAP$ */
-/*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2003 The OpenLDAP Foundation.
+ * Portions Copyright 1998-2003 Kurt D. Zeilenga.
+ * Portions Copyright 2003 IBM Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
*/
+/* ACKNOWLEDGEMENTS:
+ * This work was initially developed by Kurt Zeilenga for inclusion
+ * in OpenLDAP Software. Additional signficant contributors include
+ * Jong Hyuk Choi
+ */
+
#include "portable.h"
#include <stdio.h>
{
ID id;
int rc = EXIT_SUCCESS;
+ Operation op = {0};
slap_tool_init( "slapcat", SLAPCAT, argc, argv );
char *data;
int len;
Entry* e = be->be_entry_get( be, id );
+ op.o_bd = be;
+
+ if( sub_ndn.bv_len && !dnIsSuffix( &e->e_nname, &sub_ndn ) ) {
+ be_entry_release_r( &op, e );
+ continue;
+ }
+
+ 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 ) {
printf( "# id=%08lx\n", (long) id );
}
data = entry2str( e, &len );
- entry_free( e );
+ be_entry_release_r( &op, e );
if ( data == NULL ) {
printf("# bad data for entry id=%08lx\n\n", (long) id );