lcore.org gitweb
/
lcore.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change uint32 from longword to cardinal for posix delphi
[lcore.git]
/
binipstuff.pas
diff --git
a/binipstuff.pas
b/binipstuff.pas
index e7d891c1eade8ac98448bcbc1d3ce5810f92cdad..9f84721a27c0e58bcbba33e049a0470d9a77c57f 100644
(file)
--- a/
binipstuff.pas
+++ b/
binipstuff.pas
@@
-88,7
+88,12
@@
type
{$endif}
\r
\r
TLInetSockAddr4 = packed Record
\r
{$endif}
\r
\r
TLInetSockAddr4 = packed Record
\r
+ {$ifdef bsd}
\r
+ len:byte;
\r
+ family:byte;
\r
+ {$else}
\r
family:Word;
\r
family:Word;
\r
+ {$endif}
\r
port :Word;
\r
addr :uint32;
\r
pad :array [0..7] of byte; //zipplet 20170204 - originally this was 1..8 for some reason
\r
port :Word;
\r
addr :uint32;
\r
pad :array [0..7] of byte; //zipplet 20170204 - originally this was 1..8 for some reason
\r
@@
-96,7
+101,12
@@
type
\r
{$ifdef ipv6}
\r
TLInetSockAddr6 = packed record
\r
\r
{$ifdef ipv6}
\r
TLInetSockAddr6 = packed record
\r
+ {$ifdef bsd}
\r
+ sin6_len:byte;
\r
+ sin6_family:byte;
\r
+ {$else}
\r
sin6_family: word;
\r
sin6_family: word;
\r
+ {$endif}
\r
sin6_port: word;
\r
sin6_flowinfo: uint32;
\r
sin6_addr: tin6_addr;
\r
sin6_port: word;
\r
sin6_flowinfo: uint32;
\r
sin6_addr: tin6_addr;
\r
@@
-206,6
+216,9
@@
begin
fillchar(inaddr,sizeof(inaddr),0);
\r
//writeln('converted address '+addr+' to binip '+ipbintostr(biniptemp));
\r
if addr.family = AF_INET then begin
\r
fillchar(inaddr,sizeof(inaddr),0);
\r
//writeln('converted address '+addr+' to binip '+ipbintostr(biniptemp));
\r
if addr.family = AF_INET then begin
\r
+ {$ifdef bsd}
\r
+ inAddr.InAddr.Len := sizeof(tlinetsockaddr4);
\r
+ {$endif}
\r
inAddr.InAddr.family:=AF_INET;
\r
inAddr.InAddr.port:=htons(strtointdef(port,0));
\r
inAddr.InAddr.addr:=addr.ip;
\r
inAddr.InAddr.family:=AF_INET;
\r
inAddr.InAddr.port:=htons(strtointdef(port,0));
\r
inAddr.InAddr.addr:=addr.ip;
\r
@@
-213,6
+226,9
@@
begin
end else
\r
{$ifdef ipv6}
\r
if addr.family = AF_INET6 then begin
\r
end else
\r
{$ifdef ipv6}
\r
if addr.family = AF_INET6 then begin
\r
+ {$ifdef bsd}
\r
+ inAddr.InAddr6.sin6_len := sizeof(tlinetsockaddr6);
\r
+ {$endif}
\r
inAddr.InAddr6.sin6_family:=AF_INET6;
\r
inAddr.InAddr6.sin6_port:=htons(strtointdef(port,0));
\r
inAddr.InAddr6.sin6_addr:=addr.ip6;
\r
inAddr.InAddr6.sin6_family:=AF_INET6;
\r
inAddr.InAddr6.sin6_port:=htons(strtointdef(port,0));
\r
inAddr.InAddr6.sin6_addr:=addr.ip6;
\r
@@
-300,7
+316,10
@@
begin
{$endif}
\r
\r
{try v4}
\r
{$endif}
\r
\r
{try v4}
\r
- binip.ip := htonl(longip(s));
\r
+ // zipplet: htonl() expects a uint32 but longip() spits out longint.
\r
+ // Because longip() is deprecated, we do not fix it but typecast.
\r
+ //binip.ip := htonl(longip(s));
\r
+ binip.ip := htonl(uint32(longip(s)));
\r
if (binip.ip <> 0) or (s = '0.0.0.0') then begin
\r
result := true;
\r
binip.family := AF_INET;
\r
if (binip.ip <> 0) or (s = '0.0.0.0') then begin
\r
result := true;
\r
binip.family := AF_INET;
\r