X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Frun-program.lisp;h=f2dfe1075409dd8c9b0d0d675bd6d25c8de3404c;hb=dfe6138af5c38d92568b6dac48e852c01be0ec8e;hp=408b05088f2cc9745e1b741394da5a7954a1da7a;hpb=d334bb7db90f9f88b22cd4786083ba96d976ba33;p=sbcl.git diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index 408b050..f2dfe10 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -753,7 +753,16 @@ (read-line object nil nil) (unless line (return)) - (sb-unix:unix-write fd line 0 (length line)) + (sb-unix:unix-write + fd + ;; FIXME: this really should be + ;; (STRING-TO-OCTETS :EXTERNAL-FORMAT ...). + ;; RUN-PROGRAM should take an + ;; external-format argument, which should + ;; be passed down to here. Something + ;; similar should happen on :OUTPUT, too. + (map '(vector (unsigned-byte 8)) #'char-code line) + 0 (length line)) (if no-cr (return) (sb-unix:unix-write fd newline 0 1)))))