From 96142cab5f715871137bac9093e7e6954437ea99 Mon Sep 17 00:00:00 2001 From: "mahlon@laika.com" Date: Fri, 15 Mar 2013 17:02:18 +0000 Subject: [PATCH] Alter the default wrap width for LDIF to expand to the terminal size, with an optional rc file override. FossilOrigin-Name: 8952098367b39f5ed484688b1ee9268663ad9c1e86c719accb44af4a56351498 --- shelldap | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/shelldap b/shelldap index d23a3b9..9bfe640 100755 --- a/shelldap +++ b/shelldap @@ -564,17 +564,28 @@ sub ldif my $self = shift; my $use_temp = shift; + # find the terminal width + # + my $wrap = $conf->{'wrap'}; + eval { + my $rows; + my $term = Term::ReadLine->new( 1 ); + ( $rows, $wrap ) = $term->get_screen_size() unless $wrap; + }; + $wrap ||= 78; + # create tmpfile and link ldif object with it + # if ( $use_temp ) { my ( undef, $fname ) = File::Temp::tempfile( 'shelldap_XXXXXXXX', DIR => '/tmp', UNLINK => 1 ); - $self->{'ldif'} = Net::LDAP::LDIF->new( $fname, 'w', sort => 1 ); + $self->{'ldif'} = Net::LDAP::LDIF->new( $fname, 'w', sort => 1, wrap => $wrap ); $self->{'ldif_fname'} = $fname; } # ldif -> stdout else { - $self->{'ldif'} = Net::LDAP::LDIF->new( \*STDOUT, 'w', sort => 1 ); + $self->{'ldif'} = Net::LDAP::LDIF->new( \*STDOUT, 'w', sort => 1, wrap => $wrap ); } return $self->{'ldif'};