From e83a72f1e88062d7e17ac77c17cc9c32d51f3c13 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Wed, 30 Jul 2003 22:31:14 +0000 Subject: [PATCH] r5408: *** empty log message *** --- io.lisp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/io.lisp b/io.lisp index 1900204..9c591c7 100644 --- a/io.lisp +++ b/io.lisp @@ -7,7 +7,7 @@ ;;;; 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 ;;;; @@ -169,6 +169,23 @@ #-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)) + ) -- 2.34.1