Merged revisions 2114-2115 via svnmerge from

svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk

r2114 (jonas)
  * added missing NetToHost() calls for THostResolver and TNetResolver


r2115 (jonas)
  * stringfromlabel now also handles dns message compression

git-svn-id: branches/fixes_2_0@2116 -
This commit is contained in:
Jonas Maebe 2006-01-02 11:37:42 +00:00
parent e5de6fbb9f
commit 1dd0355247
2 changed files with 11 additions and 4 deletions

View File

@ -352,10 +352,10 @@ Var
begin
PH:=ENtry;
FName:=PH^.Name;
FHostAddress:=PH^.Addr;
FHostAddress:=NetToHost(PH^.Addr);
FAddressCount:=1;
GetMem(FAddresses,SizeOf(THostAddr));
FAddresses[0]:=PH^.Addr;
FAddresses[0]:=NetToHost(PH^.Addr);
FAliases.CommaText:=PH^.Aliases;
end;
@ -399,7 +399,7 @@ begin
begin
GetMem(FAddresses,FAddressCount*SizeOf(THostAddr));
For I:=0 to FAddressCount-1 do
FAddresses[I]:=PHostAddr(H_Addr[I])^;
FAddresses[I]:=NetToHost(PHostAddr(H_Addr[I])^);
FHostAddress:=FAddresses[0];
end;
SaveAliases(H_Aliases);
@ -478,7 +478,7 @@ Var
begin
PN:=ENtry;
FName:=PN^.Name;
FNetAddress:=PN^.Addr;
FNetAddress:=NetToHost(PN^.Addr);
FAliases.CommaText:=PN^.Aliases;
end;

View File

@ -496,6 +496,13 @@ begin
i := 0;
repeat
l := ord(pl[start]);
{ compressed reply }
while (l >= 192) do
begin
{ the -12 is because of the reply header length }
start := (l and not(192)) shl 8 + ord(pl[start+1]) - 12;
l := ord(pl[start]);
end;
if l <> 0 then begin
setlength(result,length(result)+l);
move(pl[start+1],result[i+1],l);