r10590: convert to :struct-pointer
[uffi.git] / src / os.lisp
index a1b7c87a15cd7edcda39028664839b85d8a3bbb0..a95bb6122ae1fe1dbce3359d5541cc01a2d05106 100644 (file)
@@ -2,12 +2,12 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          os.cl
+;;;; Name:          os.lisp
 ;;;; Purpose:       Operating system interface for UFFI
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Sep 2002 
 ;;;;
-;;;; $Id: os.lisp,v 1.3 2002/10/21 15:42:07 kevin Exp $
+;;;; $Id$
 ;;;;
 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg.
 ;;;; Much of this code was taken from other open source project and copyright
 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ;;;; *************************************************************************
 
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :uffi)
-
+(in-package #:uffi)
 
 ;; modified from function ASDF -- Copyright Dan Barlow and Contributors
 
-(defun run-shell-command ((control-string &key (output *trace-output*))
-                         &rest args)
+(defun run-shell-command (control-string  &rest args &key output)
   "Interpolate ARGS into CONTROL-STRING as if by FORMAT, and
 synchronously execute the result using a Bourne-compatible shell, with
 output to *trace-output*.  Returns the shell's exit code."
+  (unless output
+    (setq output *trace-output*))
+
   (let ((command (apply #'format nil control-string args)))
     #+sbcl
     (sb-impl::process-exit-code