]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapcat.c
fix previous commit (ITS#5819)
[openldap] / servers / slapd / slapcat.c
index b8da193d30f96cf205d8ab27a4f7a0d935c51900..80586ef65111b75b0fc19e7ed306a9ef8a92e8bd 100644 (file)
@@ -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;
 }