[Ecls-list] String printing error?
Goffioul Michael
goffioul at imec.be
Fri Feb 4 07:40:32 UTC 2005
> Hello,
>
> I just succeeded creating a two-way tcp stream to telnet. :)
>
> BSD-SOCKETS> (read-line *str*)
> "HELLO
> NIL
> BSD-SOCKETS> (coerce * 'list)
> (#\H #\E #\L #\L #\O #\Return)
>
> The problem is the missing closing ". SBCL exhibits the same
> behaviour.
> What's going on? Shouldn't it print like "HELLO^M" ?
I don't know if it is related, but this reminds me a problem I had
with pipe and child processes. Bascially, I wanted to open an ssh
tunnel to a remote server, send commands and read back the results.
(ext:run-program...) returns a two-way-stream made of pipes that you
can use for the communication. However, when testing it, I noticed
that the #\Return character was screwing up the communication, for
example I sent "ls -r\n" and it receives "ls -\r\n". Looking at the
code used to create the pipes, I noticed that they were opened in
text mode, with automatic newline conversion. Turning it to binary
mode solved the problem.
Hope this helps.
Michael.
More information about the ecl-devel
mailing list