]> Repositorios git - scryer-prolog.git/commitdiff
fix socket_client_open/3
authorAdrián Arroyo Calle <[email protected]>
Sat, 8 Jan 2022 22:31:32 +0000 (23:31 +0100)
committerAdrián Arroyo Calle <[email protected]>
Sat, 8 Jan 2022 22:31:32 +0000 (23:31 +0100)
src/lib/sockets.pl
src/machine/system_calls.rs

index e2b1b7235fbfb398114b67441b08f373ee64937a..2fb3a7fd21487f56f5e351979d6312845dbf1510 100644 (file)
@@ -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) :-
index 9b4a65e7432b9a123b3542ef0da5ac9e2270ff01..88ccb42106ed8f60540e1dbe5b8dbed0e9a29377 100644 (file)
@@ -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];