on master help sign in
Merge pull request #4638 from cypheon/socket-constants-fix

Replace hardcoded constants from <sys/socket.h> with FFI references

commit760c8ce04304206e056f4670ed3f0795c4f2e51c authorNiklas Larsson <metaniklas@gmail.com> dateWed 27 Feb 2019, 01:05 (8 years ago) parenta6a51cdfbf3b54
1 file changed+6−6
libs/contrib/Network/Socket/Data.idr+6−6
libs/contrib/Network/Socket/Data.idr+6−6
@@ -71,15 +71,15 @@ Show SocketFamily where
7171 show AF_INET6 = "AF_INET6"
7272
7373ToCode SocketFamily where
74− toCode AF_UNSPEC = 0
75− toCode AF_INET = 2
76− toCode AF_INET6 = 10
74+ toCode AF_UNSPEC = unsafePerformIO (foreign FFI_C "#AF_UNSPEC" (IO Int))
75+ toCode AF_INET = unsafePerformIO (foreign FFI_C "#AF_INET" (IO Int))
76+ toCode AF_INET6 = unsafePerformIO (foreign FFI_C "#AF_INET6" (IO Int))
7777
7878getSocketFamily : Int -> Maybe SocketFamily
7979getSocketFamily i =
80− Prelude.List.lookup i [ (0, AF_UNSPEC)
81− , (2, AF_INET)
82− , (10, AF_INET6)
80+ Prelude.List.lookup i [ (toCode AF_UNSPEC, AF_UNSPEC)
81+ , (toCode AF_INET, AF_INET)
82+ , (toCode AF_INET6, AF_INET6)
8383 ]
8484
8585-- ------------------------------------------------------------ [ Socket Types ]