Forráskód Böngészése

* Fix localport detection. Fixes issue #36849

Michaël Van Canneyt 1 napja
szülő
commit
4684e4c57e
1 módosított fájl, 7 hozzáadás és 1 törlés
  1. 7 1
      utils/fppkg/lnet/lnet.pp

+ 7 - 1
utils/fppkg/lnet/lnet.pp

@@ -801,8 +801,14 @@ begin
 end;
 end;
 
 
 function TLSocket.GetLocalPort: Word;
 function TLSocket.GetLocalPort: Word;
+var
+  a: TSockAddr;
+  l: Integer;
 begin
 begin
-  Result := ntohs(FAddress.IPv4.sin_port);
+  Result := 0;
+  l := SizeOf(a);
+  if fpGetSockName(FHandle, @a, @l) = 0 then
+    Result := ntohs(a.sin_port);
 end;
 end;
 
 
 function TLSocket.GetPeerPort: Word;
 function TLSocket.GetPeerPort: Word;