Masato Taruishi
taru****@users*****
2004年 10月 30日 (土) 08:58:35 JST
=================================================================== RCS file: utils/misc/ldifdiff/ldifdiff,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- utils/misc/ldifdiff/ldifdiff 2004/10/27 12:40:16 1.5 +++ utils/misc/ldifdiff/ldifdiff 2004/10/29 23:58:34 1.6 @@ -3,7 +3,6 @@ # Writen by Masato Taruishi <taru****@valin*****> use strict; -use MIME::Base64; use Getopt::Long; use File::Temp qw/ tempfile /; @@ -50,8 +49,8 @@ } BREAK: foreach (split /\n/, $buf ) { - if( $_ =~ /^([^:]+)::\s*(.*)/ ) { - $e = $e . "$1: " . decode_base64($2); + if( $_ =~ /^([^:]+):<\s*(.*)/ ) { + # TODO: handle :< attribute value } else { $e = $e . $_; } @@ -76,18 +75,18 @@ print $modfh "changetype: modify\n"; foreach (split /\n/, $oldentry) { - if ( $_ =~ /([^:]+)(:+)\s*(\S+)/ ) { - $oldattr{$1} = "" if ! $oldattr{$1}; - $oldattr{$1} = $oldattr{$1} . $3; + if ( $_ =~ /(([^:]+)(:+)\s*\S+)/ ) { + $oldattr{$2} = "" if ! $oldattr{$2}; + $oldattr{$2} = $oldattr{$1} . $1; } else { print STDERR "Unsupported ldif format: $_\n"; } } foreach (split /\n/, $newentry) { - if ( $_ =~ /([^:]+)(:+)\s*(\S+)/ ) { - $newattr{$1} = "" if ! $newattr{$1}; - $newattr{$1} = $newattr{$1} . $3; + if ( $_ =~ /(([^:]+)(:+)\s*\S+)/ ) { + $newattr{$2} = "" if ! $newattr{$2}; + $newattr{$2} = $newattr{$1} . $1; } else { print STDERR "Unsupported ldif format: $_\n"; } @@ -103,7 +102,7 @@ debug "attr modify: $_ -> $newattr{$_}\n"; print $modfh "replace: $_\n"; foreach my $v (split /\n/, $newattr{$_}) { - print $modfh "$_: $v\n"; + print $modfh "$v\n"; } print $modfh "-\n"; } @@ -116,7 +115,7 @@ debug "attr add: $_\n"; print $modfh "add: $_\n"; foreach my $v (split /\n/, $newattr{$_}) { - print $modfh "$_: $v\n"; + print $modfh "$v\n"; } print $modfh "-\n"; delete $newattr{$_};