From: zipplet <zipplet@zipplet.co.uk>
Date: Fri, 23 Jan 2009 00:36:13 +0000 (+0000)
Subject: Fixed broadcast UDP sockets not working on windows
X-Git-Url: http://www.lcore.org/git/lcore.git/commitdiff_plain/b26fd4db949d4b212a33127c2b1356b9aa543772?ds=inline;hp=37ff21f64e4874443dffceac83ed3f3ba15b4127

Fixed broadcast UDP sockets not working on windows

git-svn-id: file:///svnroot/lcore/trunk@25 b1de8a11-f9be-4011-bde0-cc7ace90066a
---

diff --git a/lsocket.pas b/lsocket.pas
index cfa1bd1..1dff390 100755
--- a/lsocket.pas
+++ b/lsocket.pas
@@ -193,6 +193,8 @@ begin
     if dgram then begin
       {$ifndef win32}
         SetSocketOptions(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE'));
+      {$else}
+        SetSockOpt(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE'));
       {$endif}
       state := wsconnected;
       if assigned(onsessionconnected) then onsessionconnected(self,0);
@@ -377,11 +379,14 @@ begin
     if not udp then begin
       {!!! allow custom queue length? default 5}
       if listenqueue = 0 then listenqueue := 5;
-      If {$ifdef win32}winsock{$else}sockets{$endif}.Listen(fdhandlein,listenqueue)<>{$ifdef win32}0{$else}true{$endif} Then raise esocketexception.create('unable to listen');
+      If {$ifdef win32}winsock{$else}sockets{$endif}.Listen(fdhandlein,listenqueue)<>{$ifdef win32}0{$else}true{$endif} Then raise 
+esocketexception.create('unable to listen');
       state := wsListening;
     end else begin
       {$ifndef win32}
         SetSocketOptions(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE'));
+      {$else}
+        SetSockOpt(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE'));
       {$endif}
       state := wsconnected;
     end;