X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Fgethostname.cl;h=b668a109fec31a75fd7d3e476ac0c16dabf6a15b;hb=8439e722b78d26a4ae9b290373acb71920af2262;hp=e90e7dadfae9d2ea52e5b66867c735b8592f5119;hpb=e1ba5e8ff148275ed252b179f43a4b045c1dcaf6;p=uffi.git diff --git a/tests/gethostname.cl b/tests/gethostname.cl index e90e7da..b668a10 100644 --- a/tests/gethostname.cl +++ b/tests/gethostname.cl @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: gethostname.cl,v 1.6 2002/03/19 16:42:59 kevin Exp $ +;;;; $Id: gethostname.cl,v 1.12 2002/04/03 00:31:32 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -35,7 +35,31 @@ (uffi:convert-from-foreign-string name) (error "gethostname() failed.")) (uffi:free-foreign-object name)))) - + +(defun gethostname2 () + "Returns the hostname" + (uffi:with-foreign-object (name '(:array :unsigned-char 256)) + (if (zerop (c-gethostname (uffi:char-array-to-pointer name) 256)) + (uffi:convert-from-foreign-string name) + (error "gethostname() failed.")))) + +#+examples-uffi +(progn + (format t "~&Hostname (technique 1): ~A" (gethostname)) + (format t "~&Hostname (technique 2): ~A" (gethostname2))) + #+test-uffi -(format t "~&Hostname: ~A" (gethostname)) +(progn + (let ((hostname1 (gethostname)) + (hostname2 (gethostname2))) + + (util.test:test (and (stringp hostname1) (stringp hostname2)) t + :fail-info "gethostname not string") + (util.test:test (and (not (zerop (length hostname1))) + (not (zerop (length hostname2)))) t + :fail-info "gethostname length 0") + (util.test:test (string= hostname1 hostname1) t + :fail-info "gethostname techniques don't match")) + ) +