summaryrefslogtreecommitdiff
path: root/packages/bzip2
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-02-19 22:27:49 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-02-19 22:27:49 +0000
commit3b68e6c292f17a115411ba730108e3586dcbc204 (patch)
treefb3a3b4aa1498bf39332336ad1eb35eb4ed36b86 /packages/bzip2
parent55967ab138203c3c374828252653d8dcbc49a54e (diff)
downloadfpc-3b68e6c292f17a115411ba730108e3586dcbc204.tar.gz
* fixed bzip2 units for big endian targets (not optimal, but simplest fix)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@35459 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/bzip2')
-rw-r--r--packages/bzip2/src/bzip2.pas16
-rw-r--r--packages/bzip2/src/bzip2stream.pp16
2 files changed, 16 insertions, 16 deletions
diff --git a/packages/bzip2/src/bzip2.pas b/packages/bzip2/src/bzip2.pas
index cbbb62b08d..f2b21cec04 100644
--- a/packages/bzip2/src/bzip2.pas
+++ b/packages/bzip2/src/bzip2.pas
@@ -417,7 +417,7 @@ begin
end;
while es>0 do
begin
- tt^[t]:=n;
+ tt^[t]:=ntole(cardinal(n));
dec(es);
inc(t);
end;
@@ -462,7 +462,7 @@ begin
move_mtf_block;
end;
inc(cftab[seq_to_unseq[n]]);
- tt^[t]:=cardinal(seq_to_unseq[n]);
+ tt^[t]:=ntole(cardinal(seq_to_unseq[n]));
inc(t);
if t>100000*blocksize then
begin
@@ -497,9 +497,9 @@ begin
q:=p+tt_count;
while p<>q do
begin
- r:=@tt^[cftab[p^ and $ff]];
- inc(cftab[p^ and $ff]);
- r^:=r^ or a;
+ r:=@tt^[cftab[ntole(p^) and $ff]];
+ inc(cftab[ntole(p^) and $ff]);
+ r^:=r^ or ntole(a);
inc(a,256);
inc(p);
end;
@@ -567,7 +567,7 @@ procedure Tbzip2_decode_stream.new_block;
begin
if decode_block then
- nextrle:=@tt^[tt^[block_origin] shr 8]
+ nextrle:=@tt^[ntole(tt^[block_origin]) shr 8]
else
begin
error(streaderror,bzip2_endoffile);
@@ -582,7 +582,7 @@ procedure Tbzip2_decode_stream.consume_rle;inline;
begin
{ Pcardinal(nextrle)^:=Pcardinal(nextrle)^ shr 8;}
- nextrle:=@tt^[Pcardinal(nextrle)^ shr 8];
+ nextrle:=@tt^[ntole(Pcardinal(nextrle)^) shr 8];
dec(decode_available);
if decode_available=0 then
new_block;
@@ -660,7 +660,7 @@ begin
error(streaderror,bzip2_endoffile);
nextrle:=nil;
end;
- nextrle:=@tt^[tt^[block_origin] shr 8];
+ nextrle:=@tt^[ntole(tt^[block_origin]) shr 8];
end;
rle_read(bufptr,count);
end;
diff --git a/packages/bzip2/src/bzip2stream.pp b/packages/bzip2/src/bzip2stream.pp
index 19b453935e..fa02644632 100644
--- a/packages/bzip2/src/bzip2stream.pp
+++ b/packages/bzip2/src/bzip2stream.pp
@@ -426,7 +426,7 @@ begin
error(SDecodingError,bzip2_data_error);
while es>0 do
begin
- tt^[t]:=n;
+ tt^[t]:=ntole(cardinal(n));
dec(es);
inc(t);
end;
@@ -471,7 +471,7 @@ begin
move_mtf_block;
end;
inc(cftab[seq_to_unseq[n]]);
- tt^[t]:=cardinal(seq_to_unseq[n]);
+ tt^[t]:=ntole(cardinal(seq_to_unseq[n]));
inc(t);
if t>100000*blocksize then
error(SDecodingError,bzip2_data_error);
@@ -503,9 +503,9 @@ begin
q:=p+tt_count;
while p<>q do
begin
- r:=@tt^[cftab[p^ and $ff]];
- inc(cftab[p^ and $ff]);
- r^:=r^ or a;
+ r:=@tt^[cftab[ntole(p^) and $ff]];
+ inc(cftab[ntole(p^) and $ff]);
+ r^:=r^ or ntole(a);
inc(a,256);
inc(p);
end;
@@ -563,7 +563,7 @@ Function TDecompressBzip2Stream.new_block : Boolean;
begin
Result:=decode_block;
If result then
- nextrle:=@tt^[tt^[block_origin] shr 8]
+ nextrle:=@tt^[ntole(tt^[block_origin]) shr 8]
else
nextrle:=nil;
end;
@@ -575,7 +575,7 @@ Function TDecompressBzip2Stream.consume_rle : Boolean;inline;
begin
{ Pcardinal(nextrle)^:=Pcardinal(nextrle)^ shr 8;}
- nextrle:=@tt^[Pcardinal(nextrle)^ shr 8];
+ nextrle:=@tt^[ntole(Pcardinal(nextrle)^) shr 8];
dec(decode_available);
if decode_available=0 then
Result:=new_block
@@ -652,7 +652,7 @@ begin
nextrle:=nil;
error(SDecodingError,bzip2_endoffile);
end;
- nextrle:=@tt^[tt^[block_origin] shr 8];
+ nextrle:=@tt^[ntole(tt^[block_origin]) shr 8];
end;
Result:=rle_read(bufptr,count);
end;