[Date Prev][Date Next] [Chronological] [Thread] [Top]

ldapsearch and buffered stdout



The client tool can read from stdin and produce output on stdout.
For example
  ldapsearch -L -x -f - 'cn=%s' uid

This will read cn values from stdin and produce search results on stdout.
But doing this interactively does not produce the immediate feedback
because stdout is often buffered.  The search results are presented
only after a sufficient amount have been buffered, or an EOF is encountered.

It would be very nice if ldapsearch application would flush stdout
after each search.

Below is a diff of the ldapsearch client tool with my proposed change.


***************
*** 1,5 ****
  /* ldapsearch -- a tool for searching LDAP directories */
! /* $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.234.2.9 2008/02/12 19:59:52 quanah Exp $ */
  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
   *
   * Copyright 1998-2008 The OpenLDAP Foundation.
--- 1,5 ----
  /* ldapsearch -- a tool for searching LDAP directories */
! /*  $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.234.2.9 2008/02/12 19:59:52 quanah Exp $ */
  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
   *
   * Copyright 1998-2008 The OpenLDAP Foundation.
***************
*** 998,1003 ****
--- 998,1004 ----
                                if ( !contoper )
                                        break;
                        }
+                       fflush(stdout);
                }
                if ( fp != stdin ) {
                        fclose( fp );