r1542: *** empty log message ***
[uffi.git] / tests / getenv.cl
index 3a565c282ff5e0fc20fde199a57d19183ba87ab5..043e7fca72ed6b93d0704d344f0c0dff05ec1e5f 100644 (file)
@@ -9,7 +9,7 @@
 ;;;;
 ;;;; Copyright (c) 2002 Kevin M. Rosenberg
 ;;;;
-;;;; $Id: getenv.cl,v 1.1 2002/03/09 19:55:33 kevin Exp $
+;;;; $Id: getenv.cl,v 1.6 2002/03/10 17:42:35 kevin Exp $
 ;;;;
 ;;;; This file is part of UFFI. 
 ;;;;
 (in-package :cl-user)
 
 
-(uffi:def-routine ("getenv" c-getenv) 
-    ((name :c-string))
-  :returning :c-string)
+(uffi:def-function ("getenv" c-getenv) 
+    ((name :cstring))
+  :returning :cstring)
 
-(defun getenv (key)
+(defun my-getenv (key)
   "Returns an environment variable, or NIL if it does not exist"
   (check-type key string)
-  (uffi:with-c-string (key-native key)
-    (let ((value-c-string (c-getenv key-native)))
-      (uffi:convert-from-c-string value-c-string))))
+  (uffi:with-cstring (key-native key)
+    (uffi:convert-from-cstring (c-getenv key-native))))
     
-(format t "~&Environment value for USER key: ~A" (getenv "USER"))
-(format t "~&Environment value for _FOO_ key: ~A" (getenv "_FOO_"))
+#+test-uffi
+(progn
+  (flet ((print-results (str)
+          (format t "~&(getenv ~S) => ~S" str (my-getenv str))))
+    (print-results "USER")
+    (print-results "_FOO_")))