;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: io.lisp,v 1.12 2003/07/30 17:32:26 kevin Exp $
+;;;; $Id: io.lisp,v 1.13 2003/07/30 22:23:25 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
#-allegro (write-string (write-to-string n) s))
+#+openmcl
+(defun open-device-stream (path direction)
+ (let* ((mode (ecase direction
+ (:input #$O_RDONLY)
+ (:output #$O_WRONLY)
+ (:io #$O_RDWR)))
+ (fd (ccl::fd-open (ccl::native-translated-namestring path) mode)))
+ (if (< fd 0)
+ (ccl::signal-file-error fd path)
+ (ccl::make-fd-stream fd :direction direction))))
+
+
(defun null-output-stream ()
+ #-openmcl
+ (when (probe-file #p"/dev/null")
+ (open #p"/dev/null" :direction :output :if-exists :overwrite))
+ #+openmcl
(when (probe-file #p"/dev/null")
- (open #p"/dev/null" :direction :output :if-exists :overwrite)))
+ (open-device-stream #p"/dev/null" :output))
+ )