+ #-allegro (write-string (write-to-string n) s))
+
+
+
+#+openmcl
+(defun open-device-stream (path direction)
+ (let* ((mode (ecase direction
+ (:input #.(read-from-string "#$O_RDONLY"))
+ (:output #.(read-from-string "#$O_WRONLY"))
+ (:io #.(read-from-string "#$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-device-stream #p"/dev/null" :output))
+ )