Re: [PATCH] svn-git: Use binmode for reading/writing binary rev maps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Michael Weber <michaelw@xxxxxxxxx> wrote:
> Otherwise, there is a possible interaction with UTF-8 locales in
> combination with PERL_UNICODE, resulting in "inconsistent size: 40" or
> "read:"-type errors.
> 
> See also:
> perldoc -f binmode
> <http://perldoc.perl.org/perl581delta.html#UTF-8-no-longer-default-under-UTF-8-locales>
> 
> Signed-off-by: Michael Weber <michaelw@xxxxxxxxx>

Thanks, sorry for the latency.

Acked-by: Eric Wong <normalperson@xxxxxxxx>

> ---
>  git-svn.perl |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index b864b54..3d80b23 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -2519,6 +2519,7 @@ sub rebuild_from_rev_db {
>  	my ($self, $path) = @_;
>  	my $r = -1;
>  	open my $fh, '<', $path or croak "open: $!";
> +	binmode $fh or croak "binmode: $!";
>  	while (<$fh>) {
>  		length($_) == 41 or croak "inconsistent size in ($_) != 41";
>  		chomp($_);
> @@ -2616,6 +2617,7 @@ sub rebuild {
>  sub _rev_map_set {
>  	my ($fh, $rev, $commit) = @_;
>  
> +	binmode $fh or croak "binmode: $!";
>  	my $size = (stat($fh))[7];
>  	($size % 24) == 0 or croak "inconsistent size: $size";
>  
> @@ -2719,6 +2721,7 @@ sub rev_map_max {
>  	my $map_path = $self->map_path;
>  	stat $map_path or return $want_commit ? (0, undef) : 0;
>  	sysopen(my $fh, $map_path, O_RDONLY) or croak "open: $!";
> +	binmode $fh or croak "binmode: $!";
>  	my $size = (stat($fh))[7];
>  	($size % 24) == 0 or croak "inconsistent size: $size";
>  
> @@ -2751,6 +2754,7 @@ sub rev_map_get {
>  	return undef unless -e $map_path;
>  
>  	sysopen(my $fh, $map_path, O_RDONLY) or croak "open: $!";
> +	binmode $fh or croak "binmode: $!";
>  	my $size = (stat($fh))[7];
>  	($size % 24) == 0 or croak "inconsistent size: $size";
>  
> -- 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux