r1555: *** empty log message ***
[uffi.git] / examples / getenv.cl
index 347a22f81b12c461c7ce0836d293c160caa7b4b8..1241117c552f364c57cde0f7d050d1f965d14865 100644 (file)
@@ -5,49 +5,34 @@
 ;;;; Name:          getenv.cl
 ;;;; Purpose:       UFFI Example file to get environment variable
 ;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Mar 2002
+;;;; Date Started:  Feb 2002
 ;;;;
-;;;; Copyright (c) 2002 Kevin M. Rosenberg
+;;;; $Id: getenv.cl,v 1.7 2002/03/14 21:03:12 kevin Exp $
 ;;;;
-;;;; $Id: getenv.cl,v 1.3 2002/03/10 04:15:33 kevin Exp $
+;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
-;;;; This file is part of UFFI. 
-;;;;
-;;;; UFFI is free software; you can redistribute it and/or modify
-;;;; it under the terms of the GNU General Public License (version 2) as
-;;;; published by the Free Software Foundation.
-;;;;
-;;;; UFFI is distributed in the hope that it will be useful,
-;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;;; GNU General Public License for more details.
-;;;;
-;;;; You should have received a copy of the GNU General Public License
-;;;; along with UFFI; if not, write to the Free Software Foundation, Inc.,
-;;;; 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+;;;; UFFI users are granted the rights to distribute and use this software
+;;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ;;;; *************************************************************************
 
 (in-package :cl-user)
 
 
 (uffi:def-function ("getenv" c-getenv) 
-    ((name :c-string))
-  :returning :c-string)
+    ((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 (getenv str))))
+          (format t "~&(getenv ~S) => ~S" str (my-getenv str))))
     (print-results "USER")
     (print-results "_FOO_")))