Index: /trunk/ccl/level-1/linux-files.lisp
===================================================================
--- /trunk/ccl/level-1/linux-files.lisp	(revision 5119)
+++ /trunk/ccl/level-1/linux-files.lisp	(revision 5120)
@@ -558,6 +558,13 @@
       (flet ((init (s)
 	     (multiple-value-bind (sstr start end) (get-sstring s)
+               (declare (fixnum start end))
 	       (let ((len (- end start)))
-		 (%copy-ivector-to-ptr sstr start buf bufpos len)
+                 (declare (fixnum len))
+                 (do* ((i 0 (1+ i))
+                       (start start (1+ start))
+                       (bufpos bufpos (1+ bufpos)))
+                      ((= i len))
+                   (setf (%get-unsigned-byte buf bufpos)
+                         (logand #xff (%scharcode sstr start))))
 		 (setf (%get-byte buf (%i+ bufpos len)) 0)
 		 (setf (%get-ptr argv argvpos) (%inc-ptr buf bufpos))
