X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffop.lisp;h=89bafa3185010c48c1b8a16b34310bede4fecc05;hb=83acd60c82635c4a1a3ffe5f0b2a3bbb6a2cce99;hp=a981179639207fdc5a7432bea62a727c79844d72;hpb=bf27595fb567015495b7131707cc85af361567fe;p=sbcl.git diff --git a/src/code/fop.lisp b/src/code/fop.lisp index a981179..89bafa3 100644 --- a/src/code/fop.lisp +++ b/src/code/fop.lisp @@ -89,11 +89,11 @@ #+sb-xc-host (bug "READ-STRING-AS-WORDS called") (dotimes (i length) (setf (aref string i) - (sb!xc:code-char (logior - (read-byte stream) - (ash (read-byte stream) 8) - (ash (read-byte stream) 16) - (ash (read-byte stream) 24))))) + (let ((code 0)) + ;; FIXME: is this the same as READ-WORD-ARG? + (dotimes (k sb!vm:n-word-bytes (sb!xc:code-char code)) + (setf code (logior code (ash (read-byte stream) + (* k sb!vm:n-byte-bits)))))))) (values)) ;;;; miscellaneous fops @@ -704,7 +704,7 @@ bug.~:@>") (let* ((kind (pop-stack)) (code-object (pop-stack)) (len (read-byte-arg)) - (sym (make-string len))) + (sym (make-string len :element-type 'base-char))) (read-n-bytes *fasl-input-stream* sym 0 len) (sb!vm:fixup-code-object code-object (read-word-arg)