From c7041fe96ec2db36dac7e1201270b970b854d2f3 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Thu, 2 Jun 2016 11:07:19 -0700 Subject: [PATCH] io.sockets.secure.windows: Windows sockets are a bit confused. Make a word to get the handle out of two different paths. Probably needs more refactoring but this makes it work. --- basis/io/sockets/secure/windows/windows.factor | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/basis/io/sockets/secure/windows/windows.factor b/basis/io/sockets/secure/windows/windows.factor index 926a144e26..59eccfed19 100644 --- a/basis/io/sockets/secure/windows/windows.factor +++ b/basis/io/sockets/secure/windows/windows.factor @@ -60,8 +60,12 @@ M: windows socket-handle handle>> alien-address ; M: secure remote>handle ( addrspec -- handle ) [ addrspec>> remote>handle ] [ hostname>> ] bi ; +GENERIC: windows-socket-handle ( obj -- handle ) +M: ssl-handle windows-socket-handle file>> ; +M: win32-socket windows-socket-handle ; + M: secure (get-local-address) ( handle remote -- sockaddr ) - addrspec>> (get-local-address) ; + [ windows-socket-handle ] [ addrspec>> ] bi* (get-local-address) ; M: secure parse-sockaddr addrspec>> parse-sockaddr f ;