]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapcat.c
ITS#5860 - more for entry cache counts
[openldap] / servers / slapd / slapcat.c
index b8da193d30f96cf205d8ab27a4f7a0d935c51900..a0f1d3c9977502ee137c090b79845584c815bba9 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2008 The OpenLDAP Foundation.
+ * Copyright 1998-2009 The OpenLDAP Foundation.
  * Portions Copyright 1998-2003 Kurt D. Zeilenga.
  * Portions Copyright 2003 IBM Corporation.
  * All rights reserved.
@@ -84,7 +84,6 @@ slapcat( int argc, char **argv )
                char *data;
                int len;
                Entry* e;
-               int writerc;
 
                if ( gotsig )
                        break;
@@ -124,16 +123,8 @@ slapcat( int argc, char **argv )
                        break;
                }
 
-               writerc = fputs( data, ldiffp->fp );
-               if ( writerc == EOF ) {
-                       fprintf(stderr, "%s: error writing output.\n",
-                               progname);
-                       rc = EXIT_FAILURE;
-                       break;
-               }
-
-               writerc = fputs( "\n", ldiffp->fp );
-               if ( writerc == EOF ) {
+               if ( fputs( data, ldiffp->fp ) == EOF ||
+                       fputs( "\n", ldiffp->fp ) == EOF ) {
                        fprintf(stderr, "%s: error writing output.\n",
                                progname);
                        rc = EXIT_FAILURE;
@@ -143,6 +134,7 @@ slapcat( int argc, char **argv )
 
        be->be_entry_close( be );
 
-       slap_tool_destroy();
+       if ( slap_tool_destroy())
+               rc = EXIT_FAILURE;
        return rc;
 }