From: Adrián Arroyo Calle Date: Sat, 8 Jan 2022 22:31:32 +0000 (+0100) Subject: fix socket_client_open/3 X-Git-Tag: v0.9.0^2~85^2~1 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=07bc97fb31e410489a5dd2f1a4993c8a8c300c5a;p=scryer-prolog.git fix socket_client_open/3 --- 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];