Raymond Toy pushed to branch issue-375-mkstemp-return-filename at cmucl / cmucl

Commits:

2 changed files:

Changes:

  • src/code/unix.lisp
    ... ... @@ -2932,8 +2932,10 @@
    2932 2932
     		       (progn
    
    2933 2933
     			 ;; Copy out the alien bytes and convert back
    
    2934 2934
     			 ;; to a lisp string.
    
    2935
    -			 (dotimes (k length)
    
    2936
    -			   (setf (aref octets k) (deref buffer k)))
    
    2935
    +			 (system:without-gcing
    
    2936
    +			     (kernel:system-area-copy (alien-sap buffer) 0
    
    2937
    +						      (vector-sap octets) 0
    
    2938
    +						      (* length vm:byte-bits)))
    
    2937 2939
     			 (stream:octets-to-string octets
    
    2938 2940
     						  :external-format format)))
    
    2939 2941
     	       (cast buffer (* c-call:char))))))
    
    ... ... @@ -2959,7 +2961,7 @@
    2959 2961
           ;; Copy the octets from OCTETS to the null-terminated array BUFFER.
    
    2960 2962
           (system:without-gcing
    
    2961 2963
     	  (kernel:system-area-copy (vector-sap octets) 0
    
    2962
    -				   (alien-sap buffer)
    
    2964
    +				   (alien-sap buffer) 0
    
    2963 2965
     				   (* length vm:byte-bits)))
    
    2964 2966
           (setf (deref buffer length) 0)
    
    2965 2967
     
    

  • tests/unix.lisp
    ... ... @@ -18,7 +18,7 @@
    18 18
     	     (assert-false (equalp filename template))
    
    19 19
     	     (assert-true (>= 5 (mismatch filename template))))))
    
    20 20
           (when fd
    
    21
    -	(unix:unix-unlink name)))))
    
    21
    +	(unix:unix-unlink filename)))))
    
    22 22
     
    
    23 23
     (define-test mkstemp.non-ascii-name-returned
    
    24 24
       (:tag :issues)