mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 13:59:28 +02:00
* Fixed CompareDWord.
git-svn-id: trunk@9058 -
This commit is contained in:
parent
e716ac6b6b
commit
3d1d9815ac
@ -491,9 +491,7 @@ function CompareDWord(Const buf1,buf2;len:SizeInt):SizeInt;
|
||||
var
|
||||
aligncount : sizeint;
|
||||
psrc,pdest,pend : pdword;
|
||||
b : ptrint;
|
||||
begin
|
||||
b:=0;
|
||||
psrc:=@buf1;
|
||||
pdest:=@buf2;
|
||||
if (len>4*sizeof(ptruint)-11)
|
||||
@ -508,14 +506,11 @@ begin
|
||||
pend:=psrc+aligncount;
|
||||
while psrc<pend do
|
||||
begin
|
||||
b:=(ptrint(psrc^)-ptrint(pdest^));
|
||||
if b<>0 then
|
||||
begin
|
||||
if b<0 then
|
||||
exit(-1)
|
||||
else
|
||||
exit(1);
|
||||
end;
|
||||
if psrc^<>pdest^ then
|
||||
if psrc^>pdest^ then
|
||||
exit(1)
|
||||
else
|
||||
exit(-1);
|
||||
inc(pdest);
|
||||
inc(psrc);
|
||||
end;
|
||||
@ -524,8 +519,7 @@ begin
|
||||
len:=((len*4) and (sizeof(PtrUInt)-1)) shr 2;
|
||||
while psrc<pend do
|
||||
begin
|
||||
b:=(pptrint(psrc)^-pptrint(pdest)^);
|
||||
if b<>0 then
|
||||
if pptrint(psrc)^<>pptrint(pdest)^ then
|
||||
begin
|
||||
len:=sizeof(ptruint) shr 2;
|
||||
break;
|
||||
@ -543,14 +537,11 @@ begin
|
||||
if ((PtrUInt(pdest) and 3) or (PtrUInt(psrc) and 3))<>0 then
|
||||
while psrc<pend do
|
||||
begin
|
||||
b:=(ptrint(unaligned(psrc^))-ptrint(unaligned(pdest^)));
|
||||
if b<>0 then
|
||||
begin
|
||||
if b<0 then
|
||||
exit(-1)
|
||||
else
|
||||
exit(1);
|
||||
end;
|
||||
if unaligned(psrc^)<>unaligned(pdest^) then
|
||||
if unaligned(psrc^)>unaligned(pdest^) then
|
||||
exit(1)
|
||||
else
|
||||
exit(-1);
|
||||
inc(pdest);
|
||||
inc(psrc);
|
||||
end
|
||||
@ -558,14 +549,11 @@ begin
|
||||
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||
while psrc<pend do
|
||||
begin
|
||||
b:=(ptrint(psrc^)-ptrint(pdest^));
|
||||
if b<>0 then
|
||||
begin
|
||||
if b<0 then
|
||||
exit(-1)
|
||||
else
|
||||
exit(1);
|
||||
end;
|
||||
if psrc^<>pdest^ then
|
||||
if psrc^>pdest^ then
|
||||
exit(1)
|
||||
else
|
||||
exit(-1);
|
||||
inc(pdest);
|
||||
inc(psrc);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user