From 07bc97fb31e410489a5dd2f1a4993c8a8c300c5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Adri=C3=A1n=20Arroyo=20Calle?= Date: Sat, 8 Jan 2022 23:31:32 +0100 Subject: [PATCH] fix socket_client_open/3 --- src/lib/sockets.pl | 2 +- src/machine/system_calls.rs | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/sockets.pl b/src/lib/sockets.pl index e2b1b723..2fb3a7fd 100644 --- a/src/lib/sockets.pl +++ b/src/lib/sockets.pl @@ -25,7 +25,7 @@ socket_client_open(Addr, Stream, Options) :- builtins:parse_stream_options(Options, [Alias, EOFAction, Reposition, Type], socket_client_open/3), - '$socket_client_open'(Address, Port, Stream, Alias, EOFAction, Reposition, Type). + '$socket_client_open'(Address, Port, Stream, Alias, EOFAction, Reposition, Type, false). socket_server_open(Addr, ServerSocket) :- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 9b4a65e7..88ccb421 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -4115,7 +4115,7 @@ impl Machine { let socket_atom = cell_as_atom!(addr); - let _port = read_heap_cell!(port, + let port = read_heap_cell!(port, (HeapCellValueTag::Atom, (name, arity)) => { debug_assert_eq!(arity, 0); name @@ -4132,9 +4132,10 @@ impl Machine { ); let socket_addr = if socket_atom == atom!("") { - atom!("127.0.0.1") + atom!("127.0.0.1:80") } else { - socket_atom + let buffer = format!("{}:{}", socket_atom.as_str(), port.as_str()); + self.machine_st.atom_tbl.build_with(&buffer) }; let alias = self.machine_st.registers[4]; -- 2.54.0